From 67555a7cc4f03da280098c6d2f4d381280e2f862 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 7 Mar 2024 16:43:02 +0100 Subject: [PATCH] Import generated code with bug Change-Id: Ie0a53d8e305ca9b085938373f54cdb22f627832a --- .gitignore | 5 - include/diameter_3gpp_base.hrl | 17 + include/diameter_3gpp_break_circles.hrl | 24 + include/diameter_3gpp_ts29_061_gmb.hrl | 160 + include/diameter_3gpp_ts29_173.hrl | 341 + include/diameter_3gpp_ts29_212.hrl | 1409 ++ include/diameter_3gpp_ts29_214.hrl | 373 + include/diameter_3gpp_ts29_229.hrl | 638 + include/diameter_3gpp_ts29_272.hrl | 3521 ++++ include/diameter_3gpp_ts29_273.hrl | 3598 ++++ include/diameter_3gpp_ts29_273_s6b.hrl | 4150 +++++ include/diameter_3gpp_ts29_273_swx.hrl | 3898 ++++ include/diameter_3gpp_ts29_329.hrl | 5 + include/diameter_3gpp_ts32_299.hrl | 2632 +++ include/diameter_etsi_es283_034.hrl | 138 + include/diameter_etsi_es283_035.hrl | 174 + include/diameter_rfc4004.hrl | 287 + include/diameter_rfc4005_nasreq.hrl | 685 + include/diameter_rfc4006_cc.hrl | 348 + include/diameter_rfc4072.hrl | 600 + include/diameter_rfc4740.hrl | 145 + include/diameter_rfc5447.hrl | 200 + include/diameter_rfc5580.hrl | 138 + include/diameter_rfc5777.hrl | 322 + include/diameter_rfc5778.hrl | 138 + include/diameter_rfc6734.hrl | 161 + include/diameter_rfc6942.hrl | 145 + include/diameter_rfc7155.hrl | 138 + include/diameter_rfc7155_nasreq.hrl | 403 + include/diameter_rfc7683.hrl | 162 + include/diameter_rfc7944.hrl | 161 + include/diameter_rfc8583.hrl | 158 + src/diameter_3gpp_base.erl | 305 + src/diameter_3gpp_break_circles.erl | 175 + src/diameter_3gpp_ts29_061_gmb.erl | 1224 ++ src/diameter_3gpp_ts29_173.erl | 2397 +++ src/diameter_3gpp_ts29_212.erl | 8287 +++++++++ src/diameter_3gpp_ts29_214.erl | 1958 ++ src/diameter_3gpp_ts29_229.erl | 2663 +++ src/diameter_3gpp_ts29_272.erl | 18002 +++++++++++++++++++ src/diameter_3gpp_ts29_273.erl | 17008 ++++++++++++++++++ src/diameter_3gpp_ts29_273_s6b.erl | 20624 ++++++++++++++++++++++ src/diameter_3gpp_ts29_273_swx.erl | 19114 ++++++++++++++++++++ src/diameter_3gpp_ts29_329.erl | 171 + src/diameter_3gpp_ts32_299.erl | 16021 +++++++++++++++++ src/diameter_etsi_es283_034.erl | 823 + src/diameter_etsi_es283_035.erl | 931 + src/diameter_rfc4004.erl | 1565 ++ src/diameter_rfc4005_nasreq.erl | 3695 ++++ src/diameter_rfc4006_cc.erl | 2082 +++ src/diameter_rfc4072.erl | 2275 +++ src/diameter_rfc4740.erl | 769 + src/diameter_rfc5447.erl | 1291 ++ src/diameter_rfc5580.erl | 763 + src/diameter_rfc5777.erl | 2031 +++ src/diameter_rfc5778.erl | 749 + src/diameter_rfc6734.erl | 816 + src/diameter_rfc6942.erl | 769 + src/diameter_rfc7155.erl | 845 + src/diameter_rfc7155_nasreq.erl | 2475 +++ src/diameter_rfc7683.erl | 849 + src/diameter_rfc7944.erl | 797 + src/diameter_rfc8583.erl | 799 + 63 files changed, 157542 insertions(+), 5 deletions(-) create mode 100644 include/diameter_3gpp_base.hrl create mode 100644 include/diameter_3gpp_break_circles.hrl create mode 100644 include/diameter_3gpp_ts29_061_gmb.hrl create mode 100644 include/diameter_3gpp_ts29_173.hrl create mode 100644 include/diameter_3gpp_ts29_212.hrl create mode 100644 include/diameter_3gpp_ts29_214.hrl create mode 100644 include/diameter_3gpp_ts29_229.hrl create mode 100644 include/diameter_3gpp_ts29_272.hrl create mode 100644 include/diameter_3gpp_ts29_273.hrl create mode 100644 include/diameter_3gpp_ts29_273_s6b.hrl create mode 100644 include/diameter_3gpp_ts29_273_swx.hrl create mode 100644 include/diameter_3gpp_ts29_329.hrl create mode 100644 include/diameter_3gpp_ts32_299.hrl create mode 100644 include/diameter_etsi_es283_034.hrl create mode 100644 include/diameter_etsi_es283_035.hrl create mode 100644 include/diameter_rfc4004.hrl create mode 100644 include/diameter_rfc4005_nasreq.hrl create mode 100644 include/diameter_rfc4006_cc.hrl create mode 100644 include/diameter_rfc4072.hrl create mode 100644 include/diameter_rfc4740.hrl create mode 100644 include/diameter_rfc5447.hrl create mode 100644 include/diameter_rfc5580.hrl create mode 100644 include/diameter_rfc5777.hrl create mode 100644 include/diameter_rfc5778.hrl create mode 100644 include/diameter_rfc6734.hrl create mode 100644 include/diameter_rfc6942.hrl create mode 100644 include/diameter_rfc7155.hrl create mode 100644 include/diameter_rfc7155_nasreq.hrl create mode 100644 include/diameter_rfc7683.hrl create mode 100644 include/diameter_rfc7944.hrl create mode 100644 include/diameter_rfc8583.hrl create mode 100644 src/diameter_3gpp_base.erl create mode 100644 src/diameter_3gpp_break_circles.erl create mode 100644 src/diameter_3gpp_ts29_061_gmb.erl create mode 100644 src/diameter_3gpp_ts29_173.erl create mode 100644 src/diameter_3gpp_ts29_212.erl create mode 100644 src/diameter_3gpp_ts29_214.erl create mode 100644 src/diameter_3gpp_ts29_229.erl create mode 100644 src/diameter_3gpp_ts29_272.erl create mode 100644 src/diameter_3gpp_ts29_273.erl create mode 100644 src/diameter_3gpp_ts29_273_s6b.erl create mode 100644 src/diameter_3gpp_ts29_273_swx.erl create mode 100644 src/diameter_3gpp_ts29_329.erl create mode 100644 src/diameter_3gpp_ts32_299.erl create mode 100644 src/diameter_etsi_es283_034.erl create mode 100644 src/diameter_etsi_es283_035.erl create mode 100644 src/diameter_rfc4004.erl create mode 100644 src/diameter_rfc4005_nasreq.erl create mode 100644 src/diameter_rfc4006_cc.erl create mode 100644 src/diameter_rfc4072.erl create mode 100644 src/diameter_rfc4740.erl create mode 100644 src/diameter_rfc5447.erl create mode 100644 src/diameter_rfc5580.erl create mode 100644 src/diameter_rfc5777.erl create mode 100644 src/diameter_rfc5778.erl create mode 100644 src/diameter_rfc6734.erl create mode 100644 src/diameter_rfc6942.erl create mode 100644 src/diameter_rfc7155.erl create mode 100644 src/diameter_rfc7155_nasreq.erl create mode 100644 src/diameter_rfc7683.erl create mode 100644 src/diameter_rfc7944.erl create mode 100644 src/diameter_rfc8583.erl diff --git a/.gitignore b/.gitignore index 253618b..065f5e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,5 @@ _build/ -include/diameter_* log/ *.beam erl_crash.dump - -src/diameter_3gpp* -src/diameter_rfc* -src/diameter_etsi* diff --git a/include/diameter_3gpp_base.hrl b/include/diameter_3gpp_base.hrl new file mode 100644 index 0000000..ebb1fce --- /dev/null +++ b/include/diameter_3gpp_base.hrl @@ -0,0 +1,17 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_base.hrl'). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('DIAMETER_3GPP_3GPP-PDP-TYPE_IPV4', 0). +-define('DIAMETER_3GPP_3GPP-PDP-TYPE_PPP', 1). +-define('DIAMETER_3GPP_3GPP-PDP-TYPE_IPV6', 2). +-define('DIAMETER_3GPP_3GPP-PDP-TYPE_IPV4V6', 3). +-define('DIAMETER_3GPP_3GPP-PDP-TYPE_NON-IP', 4). + diff --git a/include/diameter_3gpp_break_circles.hrl b/include/diameter_3gpp_break_circles.hrl new file mode 100644 index 0000000..fb1cb12 --- /dev/null +++ b/include/diameter_3gpp_break_circles.hrl @@ -0,0 +1,24 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_break_circles.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc5447: +%%% ------------------------------------------------------- + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). diff --git a/include/diameter_3gpp_ts29_061_gmb.hrl b/include/diameter_3gpp_ts29_061_gmb.hrl new file mode 100644 index 0000000..4f2819d --- /dev/null +++ b/include/diameter_3gpp_ts29_061_gmb.hrl @@ -0,0 +1,160 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_061_gmb.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_gmb_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_gmb_Failed-AVP', {'AVP' = []}). + +-record('diameter_gmb_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_gmb_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_GMB_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_GMB_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_GMB_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_GMB_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_GMB_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_GMB_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_GMB_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_GMB_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_GMB_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_GMB_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_GMB_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_GMB_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_GMB_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_GMB_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_GMB_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_GMB_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_GMB_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_GMB_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_GMB_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_GMB_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_GMB_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_GMB_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_GMB_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_GMB_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_GMB_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_GMB_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_GMB_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_GMB_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_GMB_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_GMB_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_GMB_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_GMB_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_GMB_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_GMB_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_GMB_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_GMB_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_GMB_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_GMB_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_GMB_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_GMB_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_GMB_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_GMB_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_GMB_3GPP-PDP-TYPE_IPV4'). +-define('DIAMETER_GMB_3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('DIAMETER_GMB_3GPP-PDP-TYPE_PPP'). +-define('DIAMETER_GMB_3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('DIAMETER_GMB_3GPP-PDP-TYPE_IPV6'). +-define('DIAMETER_GMB_3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('DIAMETER_GMB_3GPP-PDP-TYPE_IPV4V6'). +-define('DIAMETER_GMB_3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('DIAMETER_GMB_3GPP-PDP-TYPE_NON-IP'). +-define('DIAMETER_GMB_3GPP-PDP-TYPE_NON-IP', 4). +-endif. + diff --git a/include/diameter_3gpp_ts29_173.hrl b/include/diameter_3gpp_ts29_173.hrl new file mode 100644 index 0000000..261ff5b --- /dev/null +++ b/include/diameter_3gpp_ts29_173.hrl @@ -0,0 +1,341 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_173.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('RIR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'User-Name' = [], + 'MSISDN' = [], + 'GMLC-Number' = [], + 'Supported-Features' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('RIA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'User-Name' = [], + 'MSISDN' = [], + 'LMSI' = [], + 'Serving-Node' = [], + 'Additional-Serving-Node' = [], + 'GMLC-Address' = [], + 'PPR-Address' = [], + 'RIA-Flags' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('Serving-Node', + {'SGSN-Number' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Name' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + +-record('Additional-Serving-Node', + {'SGSN-Number' = [], + 'MME-Name' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_break_circles: +%%% ------------------------------------------------------- + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PDP-TYPE_IPV4'). +-define('3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('3GPP-PDP-TYPE_PPP'). +-define('3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV6'). +-define('3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV4V6'). +-define('3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('3GPP-PDP-TYPE_NON-IP'). +-define('3GPP-PDP-TYPE_NON-IP', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-ifndef('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT'). +-define('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT', 0). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_REGISTRATION', 1). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION', 2). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER'). +-define('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER', 3). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION', 4). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION', 5). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME', 6). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME', 7). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION', 8). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE', 9). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT', 10). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA'). +-define('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA', 11). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST'). +-define('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST', 12). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE'). +-define('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE', 13). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RESTORATION'). +-define('SERVER-ASSIGNMENT-TYPE_RESTORATION', 14). +-endif. + diff --git a/include/diameter_3gpp_ts29_212.hrl b/include/diameter_3gpp_ts29_212.hrl new file mode 100644 index 0000000..2e870a4 --- /dev/null +++ b/include/diameter_3gpp_ts29_212.hrl @@ -0,0 +1,1409 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_212.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record(diameter_gx_CCR, + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'CC-Request-Type', + 'CC-Request-Number', + 'Credit-Management-Status' = [], + 'Destination-Host' = [], + 'Origin-State-Id' = [], + 'Subscription-Id' = [], + 'Supported-Features' = [], + 'TDF-Information' = [], + 'Network-Request-Support' = [], + 'Packet-Filter-Information' = [], + 'Packet-Filter-Operation' = [], + 'Bearer-Identifier' = [], + 'Bearer-Operation' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'IP-CAN-Type' = [], + '3GPP-RAT-Type' = [], + 'RAT-Type' = [], + 'Termination-Cause' = [], + 'User-Equipment-Info' = [], + 'QoS-Information' = [], + 'QoS-Negotiation' = [], + 'QoS-Upgrade' = [], + 'Default-EPS-Bearer-QoS' = [], + 'Default-QoS-Information' = [], + 'AN-GW-Address' = [], + 'AN-GW-Status' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-GGSN-Address' = [], + '3GPP-GGSN-IPv6-Address' = [], + '3GPP-Selection-Mode' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'TWAN-Identifier' = [], + '3GPP-MS-TimeZone' = [], + 'RAN-NAS-Release-Cause' = [], + '3GPP-Charging-Characteristics' = [], + 'Called-Station-Id' = [], + 'PDN-Connection-ID' = [], + 'Bearer-Usage' = [], + 'Online' = [], + 'Offline' = [], + 'TFT-Packet-Filter-Information' = [], + 'Charging-Rule-Report' = [], + 'Application-Detection-Information' = [], + 'Event-Trigger' = [], + 'Event-Report-Indication' = [], + 'Access-Network-Charging-Address' = [], + 'Access-Network-Charging-Identifier-Gx' = [], + 'CoA-Information' = [], + 'Usage-Monitoring-Information' = [], + 'Routing-Rule-Install' = [], + 'Routing-Rule-Remove' = [], + 'HeNB-Local-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_gx_CCA, + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'CC-Request-Type', + 'CC-Request-Number', + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'Bearer-Control-Mode' = [], + 'Event-Trigger' = [], + 'Event-Report-Indication' = [], + 'Origin-State-Id' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Charging-Rule-Remove' = [], + 'Charging-Rule-Install' = [], + 'Charging-Information' = [], + 'Online' = [], + 'Offline' = [], + 'QoS-Information' = [], + 'Revalidation-Time' = [], + 'Default-EPS-Bearer-QoS' = [], + 'Default-QoS-Information' = [], + 'Bearer-Usage' = [], + 'Usage-Monitoring-Information' = [], + 'CSG-Information-Reporting' = [], + 'Presence-Reporting-Area-Information' = [], + 'Session-Release-Cause' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_gx_RAR, + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Re-Auth-Request-Type', + 'Session-Release-Cause' = [], + 'Origin-State-Id' = [], + 'Event-Trigger' = [], + 'Event-Report-Indication' = [], + 'Charging-Rule-Remove' = [], + 'Charging-Rule-Install' = [], + 'Default-EPS-Bearer-QoS' = [], + 'QoS-Information' = [], + 'Default-QoS-Information' = [], + 'Revalidation-Time' = [], + 'Usage-Monitoring-Information' = [], + 'PCSCF-Restoration-Indication' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_gx_RAA, + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Origin-State-Id' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'NetLoc-Access-Support' = [], + '3GPP-MS-TimeZone' = [], + 'Default-QoS-Information' = [], + 'Charging-Rule-Report' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('diameter_gx_Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('diameter_gx_Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('diameter_gx_Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('diameter_gx_CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('diameter_gx_Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('diameter_gx_Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('diameter_gx_Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('diameter_gx_Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('diameter_gx_Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('diameter_gx_Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_gx_Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_gx_Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('diameter_gx_QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('diameter_gx_Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('diameter_gx_Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('diameter_gx_Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('diameter_gx_Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('diameter_gx_Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('diameter_gx_TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('diameter_gx_Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('diameter_gx_TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_gx_Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_gx_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_gx_Failed-AVP', {'AVP' = []}). + +-record('diameter_gx_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_gx_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4005_nasreq: +%%% ------------------------------------------------------- + +-record('diameter_gx_CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record(diameter_gx_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-record('diameter_gx_Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('diameter_gx_Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_gx_Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('diameter_gx_Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_gx_Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_gx_Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_gx_CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('diameter_gx_G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('diameter_gx_Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('diameter_gx_Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('diameter_gx_Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('diameter_gx_Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('diameter_gx_User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_214: +%%% ------------------------------------------------------- + +-record(diameter_gx_Flows, + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-record('diameter_gx_Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('diameter_gx_Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('diameter_gx_Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('diameter_gx_SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('diameter_gx_Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('diameter_gx_SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('DIAMETER_GX_AN-GW-STATUS_AN_GW_FAILED', 0). +-define('DIAMETER_GX_BEARER-CONTROL-MODE_UE_ONLY', 0). +-define('DIAMETER_GX_BEARER-CONTROL-MODE_RESERVED', 1). +-define('DIAMETER_GX_BEARER-CONTROL-MODE_UE_NW', 2). +-define('DIAMETER_GX_BEARER-OPERATION_TERMINATION', 0). +-define('DIAMETER_GX_BEARER-OPERATION_ESTABLISHMENT', 1). +-define('DIAMETER_GX_BEARER-OPERATION_MODIFICATION', 2). +-define('DIAMETER_GX_BEARER-USAGE_GENERAL', 0). +-define('DIAMETER_GX_BEARER-USAGE_IMS_SIGNALLING', 1). +-define('DIAMETER_GX_CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED', 0). +-define('DIAMETER_GX_CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL', 0). +-define('DIAMETER_GX_CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL', 1). +-define('DIAMETER_GX_CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL', 2). +-define('DIAMETER_GX_EVENT-TRIGGER_SGSN_CHANGE', 0). +-define('DIAMETER_GX_EVENT-TRIGGER_QOS_CHANGE', 1). +-define('DIAMETER_GX_EVENT-TRIGGER_RAT_CHANGE', 2). +-define('DIAMETER_GX_EVENT-TRIGGER_TFT_CHANGE', 3). +-define('DIAMETER_GX_EVENT-TRIGGER_PLMN_CHANGE', 4). +-define('DIAMETER_GX_EVENT-TRIGGER_LOSS_OF_BEARER', 5). +-define('DIAMETER_GX_EVENT-TRIGGER_RECOVERY_OF_BEARER', 6). +-define('DIAMETER_GX_EVENT-TRIGGER_IP-CAN_CHANGE', 7). +-define('DIAMETER_GX_EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION', 11). +-define('DIAMETER_GX_EVENT-TRIGGER_RAI_CHANGE', 12). +-define('DIAMETER_GX_EVENT-TRIGGER_USER_LOCATION_CHANGE', 13). +-define('DIAMETER_GX_EVENT-TRIGGER_NO_EVENT_TRIGGERS', 14). +-define('DIAMETER_GX_EVENT-TRIGGER_OUT_OF_CREDIT', 15). +-define('DIAMETER_GX_EVENT-TRIGGER_REALLOCATION_OF_CREDIT', 16). +-define('DIAMETER_GX_EVENT-TRIGGER_REVALIDATION_TIMEOUT', 17). +-define('DIAMETER_GX_EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE', 18). +-define('DIAMETER_GX_EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE', 19). +-define('DIAMETER_GX_EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE', 20). +-define('DIAMETER_GX_EVENT-TRIGGER_AN_GW_CHANGE', 21). +-define('DIAMETER_GX_EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION', 22). +-define('DIAMETER_GX_EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST', 23). +-define('DIAMETER_GX_EVENT-TRIGGER_PGW_TRACE_CONTROL', 24). +-define('DIAMETER_GX_EVENT-TRIGGER_UE_TIME_ZONE_CHANGE', 25). +-define('DIAMETER_GX_EVENT-TRIGGER_TAI_CHANGE', 26). +-define('DIAMETER_GX_EVENT-TRIGGER_ECGI_CHANGE', 27). +-define('DIAMETER_GX_EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE', 28). +-define('DIAMETER_GX_EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE', 29). +-define('DIAMETER_GX_EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE', 30). +-define('DIAMETER_GX_EVENT-TRIGGER_USAGE_REPORT', 33). +-define('DIAMETER_GX_EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE', 34). +-define('DIAMETER_GX_EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE', 35). +-define('DIAMETER_GX_EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE', 36). +-define('DIAMETER_GX_EVENT-TRIGGER_ROUTING_RULE_CHANGE', 37). +-define('DIAMETER_GX_EVENT-TRIGGER_APPLICATION_START', 39). +-define('DIAMETER_GX_EVENT-TRIGGER_APPLICATION_STOP', 40). +-define('DIAMETER_GX_EVENT-TRIGGER_CS_TO_PS_HANDOVER', 42). +-define('DIAMETER_GX_EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE', 43). +-define('DIAMETER_GX_EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE', 44). +-define('DIAMETER_GX_EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT', 45). +-define('DIAMETER_GX_EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE', 46). +-define('DIAMETER_GX_EVENT-TRIGGER_DEFAULT_QOS_CHANGE', 47). +-define('DIAMETER_GX_EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT', 48). +-define('DIAMETER_GX_FLOW-DIRECTION_UNSPECIFIED', 0). +-define('DIAMETER_GX_FLOW-DIRECTION_DOWNLINK', 1). +-define('DIAMETER_GX_FLOW-DIRECTION_UPLINK', 2). +-define('DIAMETER_GX_FLOW-DIRECTION_BIDIRECTIONAL', 3). +-define('DIAMETER_GX_IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE', 0). +-define('DIAMETER_GX_IP-CAN-TYPE_3GPP-GPRS', 0). +-define('DIAMETER_GX_IP-CAN-TYPE_DOCSIS', 1). +-define('DIAMETER_GX_IP-CAN-TYPE_XDSL', 2). +-define('DIAMETER_GX_IP-CAN-TYPE_WIMAX', 3). +-define('DIAMETER_GX_IP-CAN-TYPE_3GPP2', 4). +-define('DIAMETER_GX_IP-CAN-TYPE_3GPP-EPS', 5). +-define('DIAMETER_GX_IP-CAN-TYPE_NON-3GPP-EPS', 6). +-define('DIAMETER_GX_IP-CAN-TYPE_FBA', 7). +-define('DIAMETER_GX_METERING-METHOD_DURATION', 0). +-define('DIAMETER_GX_METERING-METHOD_VOLUME', 1). +-define('DIAMETER_GX_METERING-METHOD_DURATION_VOLUME', 2). +-define('DIAMETER_GX_METERING-METHOD_EVENT', 3). +-define('DIAMETER_GX_MUTE-NOTIFICATION_MUTE_REQUIRED', 0). +-define('DIAMETER_GX_NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED', 0). +-define('DIAMETER_GX_NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED', 1). +-define('DIAMETER_GX_OFFLINE_DISABLE_OFFLINE', 0). +-define('DIAMETER_GX_OFFLINE_ENABLE_OFFLINE', 1). +-define('DIAMETER_GX_ONLINE_DISABLE_ONLINE', 0). +-define('DIAMETER_GX_ONLINE_ENABLE_ONLINE', 1). +-define('DIAMETER_GX_PACKET-FILTER-OPERATION_DELETION', 0). +-define('DIAMETER_GX_PACKET-FILTER-OPERATION_ADDITION', 1). +-define('DIAMETER_GX_PACKET-FILTER-OPERATION_MODIFICATION', 2). +-define('DIAMETER_GX_PACKET-FILTER-USAGE_SEND_TO_UE', 1). +-define('DIAMETER_GX_PCC-RULE-STATUS_ACTIVE', 0). +-define('DIAMETER_GX_PCC-RULE-STATUS_INACTIVE', 1). +-define('DIAMETER_GX_PCC-RULE-STATUS_TEMPORARILY_INACTIVE', 2). +-define('DIAMETER_GX_PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED', 0). +-define('DIAMETER_GX_PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED', 1). +-define('DIAMETER_GX_PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED', 0). +-define('DIAMETER_GX_PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED', 1). +-define('DIAMETER_GX_PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE', 0). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_1', 1). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_2', 2). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_3', 3). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_4', 4). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_5', 5). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_6', 6). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_7', 7). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_8', 8). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_9', 9). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_65', 65). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_66', 66). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_69', 69). +-define('DIAMETER_GX_QOS-CLASS-IDENTIFIER_QCI_70', 70). +-define('DIAMETER_GX_QOS-NEGOTIATION_NO_QOS_NEGOTIATION', 0). +-define('DIAMETER_GX_QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED', 1). +-define('DIAMETER_GX_QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED', 0). +-define('DIAMETER_GX_QOS-UPGRADE_QOS_UPGRADE_SUPPORTED', 1). +-define('DIAMETER_GX_RAT-TYPE_WLAN', 0). +-define('DIAMETER_GX_RAT-TYPE_VIRTUAL', 1). +-define('DIAMETER_GX_RAT-TYPE_UTRAN', 1000). +-define('DIAMETER_GX_RAT-TYPE_GERAN', 1001). +-define('DIAMETER_GX_RAT-TYPE_GAN', 1002). +-define('DIAMETER_GX_RAT-TYPE_HSPA_EVOLUTION', 1003). +-define('DIAMETER_GX_RAT-TYPE_EUTRAN', 1004). +-define('DIAMETER_GX_RAT-TYPE_CDMA2000_1X', 2000). +-define('DIAMETER_GX_RAT-TYPE_HRPD', 2001). +-define('DIAMETER_GX_RAT-TYPE_UMB', 2002). +-define('DIAMETER_GX_RAT-TYPE_EHRPD', 2003). +-define('DIAMETER_GX_REDIRECT-SUPPORT_REDIRECTION_DISABLED', 0). +-define('DIAMETER_GX_REDIRECT-SUPPORT_REDIRECTION_ENABLED', 1). +-define('DIAMETER_GX_REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL', 0). +-define('DIAMETER_GX_REPORTING-LEVEL_RATING_GROUP_LEVEL', 1). +-define('DIAMETER_GX_REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL', 2). +-define('DIAMETER_GX_RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION', 0). +-define('DIAMETER_GX_RULE-FAILURE-CODE_UNKNOWN_RULE_NAME', 1). +-define('DIAMETER_GX_RULE-FAILURE-CODE_RATING_GROUP_ERROR', 2). +-define('DIAMETER_GX_RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR', 3). +-define('DIAMETER_GX_RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION', 4). +-define('DIAMETER_GX_RULE-FAILURE-CODE_RESOURCES_LIMITATION', 5). +-define('DIAMETER_GX_RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED', 6). +-define('DIAMETER_GX_RULE-FAILURE-CODE_UNKNOWN_BEARER_ID', 7). +-define('DIAMETER_GX_RULE-FAILURE-CODE_MISSING_BEARER_ID', 8). +-define('DIAMETER_GX_RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION', 9). +-define('DIAMETER_GX_RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE', 10). +-define('DIAMETER_GX_RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION', 11). +-define('DIAMETER_GX_RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION', 12). +-define('DIAMETER_GX_RULE-FAILURE-CODE_PS_TO_CS_HANDOVER', 13). +-define('DIAMETER_GX_RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR', 14). +-define('DIAMETER_GX_RULE-FAILURE-CODE_NO_BEARER_BOUND', 15). +-define('DIAMETER_GX_RULE-FAILURE-CODE_FILTER_RESTRICTIONS', 16). +-define('DIAMETER_GX_RULE-FAILURE-CODE_AN_GW_FAILED', 17). +-define('DIAMETER_GX_RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS', 18). +-define('DIAMETER_GX_RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED', 19). +-define('DIAMETER_GX_RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE', 20). +-define('DIAMETER_GX_RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED', 21). +-define('DIAMETER_GX_RULE-FAILURE-CODE_CM_USER_UNKNOWN', 22). +-define('DIAMETER_GX_RULE-FAILURE-CODE_CM_RATING_FAILED', 23). +-define('DIAMETER_GX_SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON', 0). +-define('DIAMETER_GX_SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON', 1). +-define('DIAMETER_GX_SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES', 2). +-define('DIAMETER_GX_SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION', 3). +-define('DIAMETER_GX_SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE', 4). +-define('DIAMETER_GX_USAGE-MONITORING-LEVEL_SESSION_LEVEL', 0). +-define('DIAMETER_GX_USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL', 1). +-define('DIAMETER_GX_USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL', 2). +-define('DIAMETER_GX_USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED', 0). +-define('DIAMETER_GX_USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED', 0). + + + +%%% ------------------------------------------------------- +%%% DEFINE Macros: +%%% ------------------------------------------------------- + +-define('DIAMETER_GX_PRESENCE-REPORTING-AREA-STATUS_IN_AREA', 0). +-define('DIAMETER_GX_PRESENCE-REPORTING-AREA-STATUS_OUT_OF_AREA', 1). +-define('DIAMETER_GX_NETLOC-ACCESS-SUPPORT_NETLOC_ACCESS_NOT_SUPPORTED', 0). +-define('DIAMETER_GX_PCSCF-RESTORATION-INDICATION_PCSCF_RESTORATION', 0). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_GX_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_GX_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_GX_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_GX_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_GX_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_GX_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_GX_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_GX_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_GX_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_GX_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_GX_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_GX_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_GX_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_GX_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_GX_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_GX_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_GX_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_GX_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_GX_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_GX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_GX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_GX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_GX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_GX_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_GX_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_GX_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_GX_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_GX_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_GX_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_GX_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_GX_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_GX_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_GX_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_GX_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_GX_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_GX_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_GX_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_GX_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_GX_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_GX_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_GX_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_GX_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_GX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_GX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4005_nasreq: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_ASYNC'). +-define('DIAMETER_GX_NAS-PORT-TYPE_ASYNC', 0). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_SYNC'). +-define('DIAMETER_GX_NAS-PORT-TYPE_SYNC', 1). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_ISDN_SYNC'). +-define('DIAMETER_GX_NAS-PORT-TYPE_ISDN_SYNC', 2). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_ISDN_ASYNC_V120'). +-define('DIAMETER_GX_NAS-PORT-TYPE_ISDN_ASYNC_V120', 3). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_ISDN_ASYNC_V110'). +-define('DIAMETER_GX_NAS-PORT-TYPE_ISDN_ASYNC_V110', 4). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_VIRTUAL'). +-define('DIAMETER_GX_NAS-PORT-TYPE_VIRTUAL', 5). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_PIAFS'). +-define('DIAMETER_GX_NAS-PORT-TYPE_PIAFS', 6). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL'). +-define('DIAMETER_GX_NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL', 7). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_X25'). +-define('DIAMETER_GX_NAS-PORT-TYPE_X25', 8). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_X75'). +-define('DIAMETER_GX_NAS-PORT-TYPE_X75', 9). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_G3FAX'). +-define('DIAMETER_GX_NAS-PORT-TYPE_G3FAX', 10). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_SDSL'). +-define('DIAMETER_GX_NAS-PORT-TYPE_SDSL', 11). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_ADSL-CAP'). +-define('DIAMETER_GX_NAS-PORT-TYPE_ADSL-CAP', 12). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_ADSL-DMT'). +-define('DIAMETER_GX_NAS-PORT-TYPE_ADSL-DMT', 13). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_IDSL'). +-define('DIAMETER_GX_NAS-PORT-TYPE_IDSL', 14). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_ETHERNET'). +-define('DIAMETER_GX_NAS-PORT-TYPE_ETHERNET', 15). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_XDSL'). +-define('DIAMETER_GX_NAS-PORT-TYPE_XDSL', 16). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_CABLE'). +-define('DIAMETER_GX_NAS-PORT-TYPE_CABLE', 17). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_OTHER'). +-define('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_OTHER', 18). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_802.11'). +-define('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_802.11', 19). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_TOKEN-RING'). +-define('DIAMETER_GX_NAS-PORT-TYPE_TOKEN-RING', 20). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_FDDI'). +-define('DIAMETER_GX_NAS-PORT-TYPE_FDDI', 21). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_CDMA2000'). +-define('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_CDMA2000', 22). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_UMTS'). +-define('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_UMTS', 23). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_1X-EV'). +-define('DIAMETER_GX_NAS-PORT-TYPE_WIRELESS_1X-EV', 24). +-endif. +-ifndef('DIAMETER_GX_NAS-PORT-TYPE_IAPP'). +-define('DIAMETER_GX_NAS-PORT-TYPE_IAPP', 25). +-endif. +-ifndef('DIAMETER_GX_PROMPT_NO_ECHO'). +-define('DIAMETER_GX_PROMPT_NO_ECHO', 0). +-endif. +-ifndef('DIAMETER_GX_PROMPT_ECHO'). +-define('DIAMETER_GX_PROMPT_ECHO', 1). +-endif. +-ifndef('DIAMETER_GX_CHAP-ALGORITHM_WITH_MD5'). +-define('DIAMETER_GX_CHAP-ALGORITHM_WITH_MD5', 5). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_LOGIN'). +-define('DIAMETER_GX_SERVICE-TYPE_LOGIN', 1). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_FRAMED'). +-define('DIAMETER_GX_SERVICE-TYPE_FRAMED', 2). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_CALLBACK_LOGIN'). +-define('DIAMETER_GX_SERVICE-TYPE_CALLBACK_LOGIN', 3). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_CALLBACK_FRAMED'). +-define('DIAMETER_GX_SERVICE-TYPE_CALLBACK_FRAMED', 4). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_OUTBOUND'). +-define('DIAMETER_GX_SERVICE-TYPE_OUTBOUND', 5). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_ADMINISTRATIVE'). +-define('DIAMETER_GX_SERVICE-TYPE_ADMINISTRATIVE', 6). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_NAS_PROMPT'). +-define('DIAMETER_GX_SERVICE-TYPE_NAS_PROMPT', 7). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_GX_SERVICE-TYPE_AUTHENTICATE_ONLY', 8). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_CALLBACK_NAS_PROMPT'). +-define('DIAMETER_GX_SERVICE-TYPE_CALLBACK_NAS_PROMPT', 9). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_CALL_CHECK'). +-define('DIAMETER_GX_SERVICE-TYPE_CALL_CHECK', 10). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_CALLBACK_ADMINISTRATIVE'). +-define('DIAMETER_GX_SERVICE-TYPE_CALLBACK_ADMINISTRATIVE', 11). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_VOICE'). +-define('DIAMETER_GX_SERVICE-TYPE_VOICE', 12). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_FAX'). +-define('DIAMETER_GX_SERVICE-TYPE_FAX', 13). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_MODEM_RELAY'). +-define('DIAMETER_GX_SERVICE-TYPE_MODEM_RELAY', 14). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_IAPP-REGISTER'). +-define('DIAMETER_GX_SERVICE-TYPE_IAPP-REGISTER', 15). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_IAPP-AP-CHECK'). +-define('DIAMETER_GX_SERVICE-TYPE_IAPP-AP-CHECK', 16). +-endif. +-ifndef('DIAMETER_GX_SERVICE-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_GX_SERVICE-TYPE_AUTHORIZE_ONLY', 17). +-endif. +-ifndef('DIAMETER_GX_FRAMED-PROTOCOL_PPP'). +-define('DIAMETER_GX_FRAMED-PROTOCOL_PPP', 1). +-endif. +-ifndef('DIAMETER_GX_FRAMED-PROTOCOL_SLIP'). +-define('DIAMETER_GX_FRAMED-PROTOCOL_SLIP', 2). +-endif. +-ifndef('DIAMETER_GX_FRAMED-PROTOCOL_ARAP'). +-define('DIAMETER_GX_FRAMED-PROTOCOL_ARAP', 3). +-endif. +-ifndef('DIAMETER_GX_FRAMED-PROTOCOL_GANDALF'). +-define('DIAMETER_GX_FRAMED-PROTOCOL_GANDALF', 4). +-endif. +-ifndef('DIAMETER_GX_FRAMED-PROTOCOL_XYLOGICS'). +-define('DIAMETER_GX_FRAMED-PROTOCOL_XYLOGICS', 5). +-endif. +-ifndef('DIAMETER_GX_FRAMED-PROTOCOL_X75'). +-define('DIAMETER_GX_FRAMED-PROTOCOL_X75', 6). +-endif. +-ifndef('DIAMETER_GX_FRAMED-ROUTING_NONE'). +-define('DIAMETER_GX_FRAMED-ROUTING_NONE', 0). +-endif. +-ifndef('DIAMETER_GX_FRAMED-ROUTING_SEND'). +-define('DIAMETER_GX_FRAMED-ROUTING_SEND', 1). +-endif. +-ifndef('DIAMETER_GX_FRAMED-ROUTING_LISTEN'). +-define('DIAMETER_GX_FRAMED-ROUTING_LISTEN', 2). +-endif. +-ifndef('DIAMETER_GX_FRAMED-ROUTING_SEND_AND_LISTEN'). +-define('DIAMETER_GX_FRAMED-ROUTING_SEND_AND_LISTEN', 3). +-endif. +-ifndef('DIAMETER_GX_FRAMED-COMPRESSION_NONE'). +-define('DIAMETER_GX_FRAMED-COMPRESSION_NONE', 0). +-endif. +-ifndef('DIAMETER_GX_FRAMED-COMPRESSION_VJ'). +-define('DIAMETER_GX_FRAMED-COMPRESSION_VJ', 1). +-endif. +-ifndef('DIAMETER_GX_FRAMED-COMPRESSION_IPX'). +-define('DIAMETER_GX_FRAMED-COMPRESSION_IPX', 2). +-endif. +-ifndef('DIAMETER_GX_FRAMED-COMPRESSION_STAC-LZS'). +-define('DIAMETER_GX_FRAMED-COMPRESSION_STAC-LZS', 3). +-endif. +-ifndef('DIAMETER_GX_ARAP-ZONE-ACCESS_DEFAULT'). +-define('DIAMETER_GX_ARAP-ZONE-ACCESS_DEFAULT', 1). +-endif. +-ifndef('DIAMETER_GX_ARAP-ZONE-ACCESS_FILTER_INCLUSIVELY'). +-define('DIAMETER_GX_ARAP-ZONE-ACCESS_FILTER_INCLUSIVELY', 2). +-endif. +-ifndef('DIAMETER_GX_ARAP-ZONE-ACCESS_FILTER_EXCLUSIVELY'). +-define('DIAMETER_GX_ARAP-ZONE-ACCESS_FILTER_EXCLUSIVELY', 4). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_TELNET'). +-define('DIAMETER_GX_LOGIN-SERVICE_TELNET', 0). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_RLOGIN'). +-define('DIAMETER_GX_LOGIN-SERVICE_RLOGIN', 1). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_TCP_CLEAR'). +-define('DIAMETER_GX_LOGIN-SERVICE_TCP_CLEAR', 2). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_PORTMASTER'). +-define('DIAMETER_GX_LOGIN-SERVICE_PORTMASTER', 3). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_LAT'). +-define('DIAMETER_GX_LOGIN-SERVICE_LAT', 4). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_X25-PAD'). +-define('DIAMETER_GX_LOGIN-SERVICE_X25-PAD', 5). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_X25-T3POS'). +-define('DIAMETER_GX_LOGIN-SERVICE_X25-T3POS', 6). +-endif. +-ifndef('DIAMETER_GX_LOGIN-SERVICE_TCP_CLEAR_QUIET'). +-define('DIAMETER_GX_LOGIN-SERVICE_TCP_CLEAR_QUIET', 8). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_PPTP'). +-define('DIAMETER_GX_TUNNEL-TYPE_PPTP', 1). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_L2F'). +-define('DIAMETER_GX_TUNNEL-TYPE_L2F', 2). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_L2TP'). +-define('DIAMETER_GX_TUNNEL-TYPE_L2TP', 3). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_ATMP'). +-define('DIAMETER_GX_TUNNEL-TYPE_ATMP', 4). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_VTP'). +-define('DIAMETER_GX_TUNNEL-TYPE_VTP', 5). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_AH'). +-define('DIAMETER_GX_TUNNEL-TYPE_AH', 6). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_IP-IP'). +-define('DIAMETER_GX_TUNNEL-TYPE_IP-IP', 7). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_MIN-IP-IP'). +-define('DIAMETER_GX_TUNNEL-TYPE_MIN-IP-IP', 8). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_ESP'). +-define('DIAMETER_GX_TUNNEL-TYPE_ESP', 9). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_GRE'). +-define('DIAMETER_GX_TUNNEL-TYPE_GRE', 10). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_DVS'). +-define('DIAMETER_GX_TUNNEL-TYPE_DVS', 11). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_IP-IN-IP'). +-define('DIAMETER_GX_TUNNEL-TYPE_IP-IN-IP', 12). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-TYPE_VLAN'). +-define('DIAMETER_GX_TUNNEL-TYPE_VLAN', 13). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_IPV4'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_IPV4', 1). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_IPV6'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_IPV6', 2). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_NSAP'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_NSAP', 3). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_HDLC'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_HDLC', 4). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_BBN_1822'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_BBN_1822', 5). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_802'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_802', 6). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_E163'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_E163', 7). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_E164'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_E164', 8). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_F69'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_F69', 9). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_X121'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_X121', 10). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_IPX'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_IPX', 11). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_APPLETALK'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_APPLETALK', 12). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_DECNET_IV'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_DECNET_IV', 13). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_BANYAN_VINES'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_BANYAN_VINES', 14). +-endif. +-ifndef('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_E164_NSAP'). +-define('DIAMETER_GX_TUNNEL-MEDIUM-TYPE_E164_NSAP', 15). +-endif. +-ifndef('DIAMETER_GX_ACCT-AUTHENTIC_RADIUS'). +-define('DIAMETER_GX_ACCT-AUTHENTIC_RADIUS', 1). +-endif. +-ifndef('DIAMETER_GX_ACCT-AUTHENTIC_LOCAL'). +-define('DIAMETER_GX_ACCT-AUTHENTIC_LOCAL', 2). +-endif. +-ifndef('DIAMETER_GX_ACCT-AUTHENTIC_REMOTE'). +-define('DIAMETER_GX_ACCT-AUTHENTIC_REMOTE', 3). +-endif. +-ifndef('DIAMETER_GX_ACCT-AUTHENTIC_DIAMETER'). +-define('DIAMETER_GX_ACCT-AUTHENTIC_DIAMETER', 4). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_PAP'). +-define('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_PAP', 1). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_CHAP'). +-define('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_CHAP', 2). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_MS-CHAP-1'). +-define('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_MS-CHAP-1', 3). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_MS-CHAP-2'). +-define('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_MS-CHAP-2', 4). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_EAP'). +-define('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_EAP', 5). +-endif. +-ifndef('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_NONE'). +-define('DIAMETER_GX_ACCOUNTING-AUTH-METHOD_NONE', 7). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_GX_CC-REQUEST-TYPE_INITIAL_REQUEST'). +-define('DIAMETER_GX_CC-REQUEST-TYPE_INITIAL_REQUEST', 1). +-endif. +-ifndef('DIAMETER_GX_CC-REQUEST-TYPE_UPDATE_REQUEST'). +-define('DIAMETER_GX_CC-REQUEST-TYPE_UPDATE_REQUEST', 2). +-endif. +-ifndef('DIAMETER_GX_CC-REQUEST-TYPE_TERMINATION_REQUEST'). +-define('DIAMETER_GX_CC-REQUEST-TYPE_TERMINATION_REQUEST', 3). +-endif. +-ifndef('DIAMETER_GX_CC-REQUEST-TYPE_EVENT_REQUEST'). +-define('DIAMETER_GX_CC-REQUEST-TYPE_EVENT_REQUEST', 4). +-endif. +-ifndef('DIAMETER_GX_CC-SESSION-FAILOVER_NOT_SUPPORTED'). +-define('DIAMETER_GX_CC-SESSION-FAILOVER_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_GX_CC-SESSION-FAILOVER_SUPPORTED'). +-define('DIAMETER_GX_CC-SESSION-FAILOVER_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_GX_CHECK-BALANCE-RESULT_ENOUGH_CREDIT'). +-define('DIAMETER_GX_CHECK-BALANCE-RESULT_ENOUGH_CREDIT', 0). +-endif. +-ifndef('DIAMETER_GX_CHECK-BALANCE-RESULT_NO_CREDIT'). +-define('DIAMETER_GX_CHECK-BALANCE-RESULT_NO_CREDIT', 1). +-endif. +-ifndef('DIAMETER_GX_CREDIT-CONTROL_AUTHORIZATION'). +-define('DIAMETER_GX_CREDIT-CONTROL_AUTHORIZATION', 0). +-endif. +-ifndef('DIAMETER_GX_CREDIT-CONTROL_RE_AUTHORIZATION'). +-define('DIAMETER_GX_CREDIT-CONTROL_RE_AUTHORIZATION', 1). +-endif. +-ifndef('DIAMETER_GX_CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE'). +-define('DIAMETER_GX_CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE', 0). +-endif. +-ifndef('DIAMETER_GX_CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE'). +-define('DIAMETER_GX_CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('DIAMETER_GX_CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE'). +-define('DIAMETER_GX_CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE', 2). +-endif. +-ifndef('DIAMETER_GX_DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER'). +-define('DIAMETER_GX_DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER', 0). +-endif. +-ifndef('DIAMETER_GX_DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE'). +-define('DIAMETER_GX_DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('DIAMETER_GX_TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE'). +-define('DIAMETER_GX_TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE', 0). +-endif. +-ifndef('DIAMETER_GX_TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE'). +-define('DIAMETER_GX_TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE', 1). +-endif. +-ifndef('DIAMETER_GX_TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE'). +-define('DIAMETER_GX_TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE', 2). +-endif. +-ifndef('DIAMETER_GX_CC-UNIT-TYPE_TIME'). +-define('DIAMETER_GX_CC-UNIT-TYPE_TIME', 0). +-endif. +-ifndef('DIAMETER_GX_CC-UNIT-TYPE_MONEY'). +-define('DIAMETER_GX_CC-UNIT-TYPE_MONEY', 1). +-endif. +-ifndef('DIAMETER_GX_CC-UNIT-TYPE_TOTAL-OCTETS'). +-define('DIAMETER_GX_CC-UNIT-TYPE_TOTAL-OCTETS', 2). +-endif. +-ifndef('DIAMETER_GX_CC-UNIT-TYPE_INPUT-OCTETS'). +-define('DIAMETER_GX_CC-UNIT-TYPE_INPUT-OCTETS', 3). +-endif. +-ifndef('DIAMETER_GX_CC-UNIT-TYPE_OUTPUT-OCTETS'). +-define('DIAMETER_GX_CC-UNIT-TYPE_OUTPUT-OCTETS', 4). +-endif. +-ifndef('DIAMETER_GX_CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS'). +-define('DIAMETER_GX_CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS', 5). +-endif. +-ifndef('DIAMETER_GX_FINAL-UNIT-ACTION_TERMINATE'). +-define('DIAMETER_GX_FINAL-UNIT-ACTION_TERMINATE', 0). +-endif. +-ifndef('DIAMETER_GX_FINAL-UNIT-ACTION_REDIRECT'). +-define('DIAMETER_GX_FINAL-UNIT-ACTION_REDIRECT', 1). +-endif. +-ifndef('DIAMETER_GX_FINAL-UNIT-ACTION_RESTRICT_ACCESS'). +-define('DIAMETER_GX_FINAL-UNIT-ACTION_RESTRICT_ACCESS', 2). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_IPV4'). +-define('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_IPV4', 0). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_IPV6'). +-define('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_IPV6', 1). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_URL'). +-define('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_URL', 2). +-endif. +-ifndef('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_SIP_URI'). +-define('DIAMETER_GX_REDIRECT-ADDRESS-TYPE_SIP_URI', 3). +-endif. +-ifndef('DIAMETER_GX_MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED'). +-define('DIAMETER_GX_MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_GX_MULTIPLE-SERVICES-INDICATOR_SUPPORTED'). +-define('DIAMETER_GX_MULTIPLE-SERVICES-INDICATOR_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_GX_REQUESTED-ACTION_DIRECT_DEBITING'). +-define('DIAMETER_GX_REQUESTED-ACTION_DIRECT_DEBITING', 0). +-endif. +-ifndef('DIAMETER_GX_REQUESTED-ACTION_REFUND_ACCOUNT'). +-define('DIAMETER_GX_REQUESTED-ACTION_REFUND_ACCOUNT', 1). +-endif. +-ifndef('DIAMETER_GX_REQUESTED-ACTION_CHECK_BALANCE'). +-define('DIAMETER_GX_REQUESTED-ACTION_CHECK_BALANCE', 2). +-endif. +-ifndef('DIAMETER_GX_REQUESTED-ACTION_PRICE_ENQUIRY'). +-define('DIAMETER_GX_REQUESTED-ACTION_PRICE_ENQUIRY', 3). +-endif. +-ifndef('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_E164'). +-define('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_E164', 0). +-endif. +-ifndef('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_IMSI'). +-define('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_IMSI', 1). +-endif. +-ifndef('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI'). +-define('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI', 2). +-endif. +-ifndef('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_NAI'). +-define('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_NAI', 3). +-endif. +-ifndef('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE'). +-define('DIAMETER_GX_SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE', 4). +-endif. +-ifndef('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_IMEISV'). +-define('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_IMEISV', 0). +-endif. +-ifndef('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_MAC'). +-define('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_MAC', 1). +-endif. +-ifndef('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_EUI64'). +-define('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_EUI64', 2). +-endif. +-ifndef('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64'). +-define('DIAMETER_GX_USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_GX_3GPP-PDP-TYPE_IPV4'). +-define('DIAMETER_GX_3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('DIAMETER_GX_3GPP-PDP-TYPE_PPP'). +-define('DIAMETER_GX_3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('DIAMETER_GX_3GPP-PDP-TYPE_IPV6'). +-define('DIAMETER_GX_3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('DIAMETER_GX_3GPP-PDP-TYPE_IPV4V6'). +-define('DIAMETER_GX_3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('DIAMETER_GX_3GPP-PDP-TYPE_NON-IP'). +-define('DIAMETER_GX_3GPP-PDP-TYPE_NON-IP', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT', 0). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_REGISTRATION'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_REGISTRATION', 1). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION', 2). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER', 3). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION', 4). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION', 5). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME', 6). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME', 7). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION', 8). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE', 9). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT', 10). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA', 11). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST', 12). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_PGW_UPDATE'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_PGW_UPDATE', 13). +-endif. +-ifndef('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_RESTORATION'). +-define('DIAMETER_GX_SERVER-ASSIGNMENT-TYPE_RESTORATION', 14). +-endif. + diff --git a/include/diameter_3gpp_ts29_214.hrl b/include/diameter_3gpp_ts29_214.hrl new file mode 100644 index 0000000..cf77136 --- /dev/null +++ b/include/diameter_3gpp_ts29_214.hrl @@ -0,0 +1,373 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_214.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record(diameter_rx_Flows, + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_rx_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_rx_Failed-AVP', {'AVP' = []}). + +-record('diameter_rx_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_rx_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-record('diameter_rx_Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('diameter_rx_Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_rx_Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('diameter_rx_Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_rx_Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_rx_Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_rx_CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('diameter_rx_G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('diameter_rx_Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('diameter_rx_Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('diameter_rx_Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('diameter_rx_Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('diameter_rx_User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_RX_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_RX_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_RX_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_RX_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_RX_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_RX_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_RX_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_RX_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_RX_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_RX_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_RX_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_RX_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_RX_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_RX_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_RX_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_RX_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_RX_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_RX_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_RX_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_RX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_RX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_RX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_RX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_RX_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_RX_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_RX_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_RX_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_RX_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_RX_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_RX_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_RX_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_RX_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_RX_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_RX_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_RX_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_RX_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_RX_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_RX_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_RX_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_RX_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_RX_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_RX_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_RX_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_RX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_RX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_RX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_RX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_RX_CC-REQUEST-TYPE_INITIAL_REQUEST'). +-define('DIAMETER_RX_CC-REQUEST-TYPE_INITIAL_REQUEST', 1). +-endif. +-ifndef('DIAMETER_RX_CC-REQUEST-TYPE_UPDATE_REQUEST'). +-define('DIAMETER_RX_CC-REQUEST-TYPE_UPDATE_REQUEST', 2). +-endif. +-ifndef('DIAMETER_RX_CC-REQUEST-TYPE_TERMINATION_REQUEST'). +-define('DIAMETER_RX_CC-REQUEST-TYPE_TERMINATION_REQUEST', 3). +-endif. +-ifndef('DIAMETER_RX_CC-REQUEST-TYPE_EVENT_REQUEST'). +-define('DIAMETER_RX_CC-REQUEST-TYPE_EVENT_REQUEST', 4). +-endif. +-ifndef('DIAMETER_RX_CC-SESSION-FAILOVER_NOT_SUPPORTED'). +-define('DIAMETER_RX_CC-SESSION-FAILOVER_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_RX_CC-SESSION-FAILOVER_SUPPORTED'). +-define('DIAMETER_RX_CC-SESSION-FAILOVER_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_RX_CHECK-BALANCE-RESULT_ENOUGH_CREDIT'). +-define('DIAMETER_RX_CHECK-BALANCE-RESULT_ENOUGH_CREDIT', 0). +-endif. +-ifndef('DIAMETER_RX_CHECK-BALANCE-RESULT_NO_CREDIT'). +-define('DIAMETER_RX_CHECK-BALANCE-RESULT_NO_CREDIT', 1). +-endif. +-ifndef('DIAMETER_RX_CREDIT-CONTROL_AUTHORIZATION'). +-define('DIAMETER_RX_CREDIT-CONTROL_AUTHORIZATION', 0). +-endif. +-ifndef('DIAMETER_RX_CREDIT-CONTROL_RE_AUTHORIZATION'). +-define('DIAMETER_RX_CREDIT-CONTROL_RE_AUTHORIZATION', 1). +-endif. +-ifndef('DIAMETER_RX_CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE'). +-define('DIAMETER_RX_CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE', 0). +-endif. +-ifndef('DIAMETER_RX_CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE'). +-define('DIAMETER_RX_CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('DIAMETER_RX_CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE'). +-define('DIAMETER_RX_CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE', 2). +-endif. +-ifndef('DIAMETER_RX_DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER'). +-define('DIAMETER_RX_DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER', 0). +-endif. +-ifndef('DIAMETER_RX_DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE'). +-define('DIAMETER_RX_DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('DIAMETER_RX_TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE'). +-define('DIAMETER_RX_TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE', 0). +-endif. +-ifndef('DIAMETER_RX_TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE'). +-define('DIAMETER_RX_TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE', 1). +-endif. +-ifndef('DIAMETER_RX_TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE'). +-define('DIAMETER_RX_TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE', 2). +-endif. +-ifndef('DIAMETER_RX_CC-UNIT-TYPE_TIME'). +-define('DIAMETER_RX_CC-UNIT-TYPE_TIME', 0). +-endif. +-ifndef('DIAMETER_RX_CC-UNIT-TYPE_MONEY'). +-define('DIAMETER_RX_CC-UNIT-TYPE_MONEY', 1). +-endif. +-ifndef('DIAMETER_RX_CC-UNIT-TYPE_TOTAL-OCTETS'). +-define('DIAMETER_RX_CC-UNIT-TYPE_TOTAL-OCTETS', 2). +-endif. +-ifndef('DIAMETER_RX_CC-UNIT-TYPE_INPUT-OCTETS'). +-define('DIAMETER_RX_CC-UNIT-TYPE_INPUT-OCTETS', 3). +-endif. +-ifndef('DIAMETER_RX_CC-UNIT-TYPE_OUTPUT-OCTETS'). +-define('DIAMETER_RX_CC-UNIT-TYPE_OUTPUT-OCTETS', 4). +-endif. +-ifndef('DIAMETER_RX_CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS'). +-define('DIAMETER_RX_CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS', 5). +-endif. +-ifndef('DIAMETER_RX_FINAL-UNIT-ACTION_TERMINATE'). +-define('DIAMETER_RX_FINAL-UNIT-ACTION_TERMINATE', 0). +-endif. +-ifndef('DIAMETER_RX_FINAL-UNIT-ACTION_REDIRECT'). +-define('DIAMETER_RX_FINAL-UNIT-ACTION_REDIRECT', 1). +-endif. +-ifndef('DIAMETER_RX_FINAL-UNIT-ACTION_RESTRICT_ACCESS'). +-define('DIAMETER_RX_FINAL-UNIT-ACTION_RESTRICT_ACCESS', 2). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_IPV4'). +-define('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_IPV4', 0). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_IPV6'). +-define('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_IPV6', 1). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_URL'). +-define('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_URL', 2). +-endif. +-ifndef('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_SIP_URI'). +-define('DIAMETER_RX_REDIRECT-ADDRESS-TYPE_SIP_URI', 3). +-endif. +-ifndef('DIAMETER_RX_MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED'). +-define('DIAMETER_RX_MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_RX_MULTIPLE-SERVICES-INDICATOR_SUPPORTED'). +-define('DIAMETER_RX_MULTIPLE-SERVICES-INDICATOR_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_RX_REQUESTED-ACTION_DIRECT_DEBITING'). +-define('DIAMETER_RX_REQUESTED-ACTION_DIRECT_DEBITING', 0). +-endif. +-ifndef('DIAMETER_RX_REQUESTED-ACTION_REFUND_ACCOUNT'). +-define('DIAMETER_RX_REQUESTED-ACTION_REFUND_ACCOUNT', 1). +-endif. +-ifndef('DIAMETER_RX_REQUESTED-ACTION_CHECK_BALANCE'). +-define('DIAMETER_RX_REQUESTED-ACTION_CHECK_BALANCE', 2). +-endif. +-ifndef('DIAMETER_RX_REQUESTED-ACTION_PRICE_ENQUIRY'). +-define('DIAMETER_RX_REQUESTED-ACTION_PRICE_ENQUIRY', 3). +-endif. +-ifndef('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_E164'). +-define('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_E164', 0). +-endif. +-ifndef('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_IMSI'). +-define('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_IMSI', 1). +-endif. +-ifndef('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI'). +-define('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI', 2). +-endif. +-ifndef('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_NAI'). +-define('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_NAI', 3). +-endif. +-ifndef('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE'). +-define('DIAMETER_RX_SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE', 4). +-endif. +-ifndef('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_IMEISV'). +-define('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_IMEISV', 0). +-endif. +-ifndef('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_MAC'). +-define('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_MAC', 1). +-endif. +-ifndef('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_EUI64'). +-define('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_EUI64', 2). +-endif. +-ifndef('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64'). +-define('DIAMETER_RX_USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64', 3). +-endif. + diff --git a/include/diameter_3gpp_ts29_229.hrl b/include/diameter_3gpp_ts29_229.hrl new file mode 100644 index 0000000..cc0fe23 --- /dev/null +++ b/include/diameter_3gpp_ts29_229.hrl @@ -0,0 +1,638 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_229.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('diameter_cx_Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('diameter_cx_Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('diameter_cx_Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('diameter_cx_SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('diameter_cx_Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('diameter_cx_SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_cx_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_cx_Failed-AVP', {'AVP' = []}). + +-record('diameter_cx_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_cx_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_etsi_es283_035: +%%% ------------------------------------------------------- + +-record('diameter_cx_Location-Information', + {'Line-Identifier' = [], + 'Civic-Location' = [], + 'Geospatial-Location' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4005_nasreq: +%%% ------------------------------------------------------- + +-record('diameter_cx_CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record(diameter_cx_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT', 0). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_REGISTRATION', 1). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION', 2). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER', 3). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION', 4). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION', 5). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME', 6). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME', 7). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION', 8). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE', 9). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT', 10). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA', 11). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST', 12). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_PGW_UPDATE', 13). +-define('DIAMETER_CX_SERVER-ASSIGNMENT-TYPE_RESTORATION', 14). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_CX_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_CX_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_CX_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_CX_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_CX_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_CX_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_CX_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_CX_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_CX_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_CX_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_CX_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_CX_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_CX_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_CX_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_CX_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_CX_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_CX_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_CX_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_CX_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_CX_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_CX_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_CX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_CX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_CX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_CX_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_CX_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_CX_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_CX_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_CX_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_CX_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_CX_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_CX_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_CX_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_CX_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_CX_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_CX_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_CX_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_CX_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_CX_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_CX_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_CX_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_CX_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_CX_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_CX_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_CX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_CX_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_etsi_es283_035: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_CX_REQUESTED-INFORMATION_IP-CONNECTIVITY-USER-ID'). +-define('DIAMETER_CX_REQUESTED-INFORMATION_IP-CONNECTIVITY-USER-ID', 0). +-endif. +-ifndef('DIAMETER_CX_REQUESTED-INFORMATION_LOCATION-INFORMATION'). +-define('DIAMETER_CX_REQUESTED-INFORMATION_LOCATION-INFORMATION', 1). +-endif. +-ifndef('DIAMETER_CX_REQUESTED-INFORMATION_POLICY-CONTROL-CONTACT-POINT'). +-define('DIAMETER_CX_REQUESTED-INFORMATION_POLICY-CONTROL-CONTACT-POINT', 2). +-endif. +-ifndef('DIAMETER_CX_REQUESTED-INFORMATION_ACCESS-NETWORK-TYPE'). +-define('DIAMETER_CX_REQUESTED-INFORMATION_ACCESS-NETWORK-TYPE', 3). +-endif. +-ifndef('DIAMETER_CX_REQUESTED-INFORMATION_TERMINAL-TYPE'). +-define('DIAMETER_CX_REQUESTED-INFORMATION_TERMINAL-TYPE', 4). +-endif. +-ifndef('DIAMETER_CX_REQUESTED-INFORMATION_LOGICAL-ACCESS-ID'). +-define('DIAMETER_CX_REQUESTED-INFORMATION_LOGICAL-ACCESS-ID', 5). +-endif. +-ifndef('DIAMETER_CX_REQUESTED-INFORMATION_PHYSICAL-ACCESS-ID'). +-define('DIAMETER_CX_REQUESTED-INFORMATION_PHYSICAL-ACCESS-ID', 6). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_USER-LOGON'). +-define('DIAMETER_CX_EVENT-TYPE_USER-LOGON', 0). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_LOCATION-INFORMATION-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_LOCATION-INFORMATION-CHANGED', 1). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_POLICY-CONTROL-CONTACT-POINT-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_POLICY-CONTROL-CONTACT-POINT-CHANGED', 2). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_ACCESS-NETWORK-TYPE-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_ACCESS-NETWORK-TYPE-CHANGED', 3). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_TERMINAL-TYPE-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_TERMINAL-TYPE-CHANGED', 4). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_LOGICAL-ACCESS-ID-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_LOGICAL-ACCESS-ID-CHANGED', 5). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_PHYSICAL-ACCESS-ID-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_PHYSICAL-ACCESS-ID-CHANGED', 6). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_IP-ADDRESS-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_IP-ADDRESS-CHANGED', 7). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_INITIAL-GATE-SETTING-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_INITIAL-GATE-SETTING-CHANGED', 8). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_QOS-PROFILE-CHANGED'). +-define('DIAMETER_CX_EVENT-TYPE_QOS-PROFILE-CHANGED', 9). +-endif. +-ifndef('DIAMETER_CX_EVENT-TYPE_USER-LOGOFF'). +-define('DIAMETER_CX_EVENT-TYPE_USER-LOGOFF', 10). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4005_nasreq: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_ASYNC'). +-define('DIAMETER_CX_NAS-PORT-TYPE_ASYNC', 0). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_SYNC'). +-define('DIAMETER_CX_NAS-PORT-TYPE_SYNC', 1). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_ISDN_SYNC'). +-define('DIAMETER_CX_NAS-PORT-TYPE_ISDN_SYNC', 2). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_ISDN_ASYNC_V120'). +-define('DIAMETER_CX_NAS-PORT-TYPE_ISDN_ASYNC_V120', 3). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_ISDN_ASYNC_V110'). +-define('DIAMETER_CX_NAS-PORT-TYPE_ISDN_ASYNC_V110', 4). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_VIRTUAL'). +-define('DIAMETER_CX_NAS-PORT-TYPE_VIRTUAL', 5). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_PIAFS'). +-define('DIAMETER_CX_NAS-PORT-TYPE_PIAFS', 6). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL'). +-define('DIAMETER_CX_NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL', 7). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_X25'). +-define('DIAMETER_CX_NAS-PORT-TYPE_X25', 8). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_X75'). +-define('DIAMETER_CX_NAS-PORT-TYPE_X75', 9). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_G3FAX'). +-define('DIAMETER_CX_NAS-PORT-TYPE_G3FAX', 10). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_SDSL'). +-define('DIAMETER_CX_NAS-PORT-TYPE_SDSL', 11). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_ADSL-CAP'). +-define('DIAMETER_CX_NAS-PORT-TYPE_ADSL-CAP', 12). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_ADSL-DMT'). +-define('DIAMETER_CX_NAS-PORT-TYPE_ADSL-DMT', 13). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_IDSL'). +-define('DIAMETER_CX_NAS-PORT-TYPE_IDSL', 14). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_ETHERNET'). +-define('DIAMETER_CX_NAS-PORT-TYPE_ETHERNET', 15). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_XDSL'). +-define('DIAMETER_CX_NAS-PORT-TYPE_XDSL', 16). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_CABLE'). +-define('DIAMETER_CX_NAS-PORT-TYPE_CABLE', 17). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_OTHER'). +-define('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_OTHER', 18). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_802.11'). +-define('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_802.11', 19). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_TOKEN-RING'). +-define('DIAMETER_CX_NAS-PORT-TYPE_TOKEN-RING', 20). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_FDDI'). +-define('DIAMETER_CX_NAS-PORT-TYPE_FDDI', 21). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_CDMA2000'). +-define('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_CDMA2000', 22). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_UMTS'). +-define('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_UMTS', 23). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_1X-EV'). +-define('DIAMETER_CX_NAS-PORT-TYPE_WIRELESS_1X-EV', 24). +-endif. +-ifndef('DIAMETER_CX_NAS-PORT-TYPE_IAPP'). +-define('DIAMETER_CX_NAS-PORT-TYPE_IAPP', 25). +-endif. +-ifndef('DIAMETER_CX_PROMPT_NO_ECHO'). +-define('DIAMETER_CX_PROMPT_NO_ECHO', 0). +-endif. +-ifndef('DIAMETER_CX_PROMPT_ECHO'). +-define('DIAMETER_CX_PROMPT_ECHO', 1). +-endif. +-ifndef('DIAMETER_CX_CHAP-ALGORITHM_WITH_MD5'). +-define('DIAMETER_CX_CHAP-ALGORITHM_WITH_MD5', 5). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_LOGIN'). +-define('DIAMETER_CX_SERVICE-TYPE_LOGIN', 1). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_FRAMED'). +-define('DIAMETER_CX_SERVICE-TYPE_FRAMED', 2). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_CALLBACK_LOGIN'). +-define('DIAMETER_CX_SERVICE-TYPE_CALLBACK_LOGIN', 3). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_CALLBACK_FRAMED'). +-define('DIAMETER_CX_SERVICE-TYPE_CALLBACK_FRAMED', 4). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_OUTBOUND'). +-define('DIAMETER_CX_SERVICE-TYPE_OUTBOUND', 5). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_ADMINISTRATIVE'). +-define('DIAMETER_CX_SERVICE-TYPE_ADMINISTRATIVE', 6). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_NAS_PROMPT'). +-define('DIAMETER_CX_SERVICE-TYPE_NAS_PROMPT', 7). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_CX_SERVICE-TYPE_AUTHENTICATE_ONLY', 8). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_CALLBACK_NAS_PROMPT'). +-define('DIAMETER_CX_SERVICE-TYPE_CALLBACK_NAS_PROMPT', 9). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_CALL_CHECK'). +-define('DIAMETER_CX_SERVICE-TYPE_CALL_CHECK', 10). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_CALLBACK_ADMINISTRATIVE'). +-define('DIAMETER_CX_SERVICE-TYPE_CALLBACK_ADMINISTRATIVE', 11). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_VOICE'). +-define('DIAMETER_CX_SERVICE-TYPE_VOICE', 12). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_FAX'). +-define('DIAMETER_CX_SERVICE-TYPE_FAX', 13). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_MODEM_RELAY'). +-define('DIAMETER_CX_SERVICE-TYPE_MODEM_RELAY', 14). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_IAPP-REGISTER'). +-define('DIAMETER_CX_SERVICE-TYPE_IAPP-REGISTER', 15). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_IAPP-AP-CHECK'). +-define('DIAMETER_CX_SERVICE-TYPE_IAPP-AP-CHECK', 16). +-endif. +-ifndef('DIAMETER_CX_SERVICE-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_CX_SERVICE-TYPE_AUTHORIZE_ONLY', 17). +-endif. +-ifndef('DIAMETER_CX_FRAMED-PROTOCOL_PPP'). +-define('DIAMETER_CX_FRAMED-PROTOCOL_PPP', 1). +-endif. +-ifndef('DIAMETER_CX_FRAMED-PROTOCOL_SLIP'). +-define('DIAMETER_CX_FRAMED-PROTOCOL_SLIP', 2). +-endif. +-ifndef('DIAMETER_CX_FRAMED-PROTOCOL_ARAP'). +-define('DIAMETER_CX_FRAMED-PROTOCOL_ARAP', 3). +-endif. +-ifndef('DIAMETER_CX_FRAMED-PROTOCOL_GANDALF'). +-define('DIAMETER_CX_FRAMED-PROTOCOL_GANDALF', 4). +-endif. +-ifndef('DIAMETER_CX_FRAMED-PROTOCOL_XYLOGICS'). +-define('DIAMETER_CX_FRAMED-PROTOCOL_XYLOGICS', 5). +-endif. +-ifndef('DIAMETER_CX_FRAMED-PROTOCOL_X75'). +-define('DIAMETER_CX_FRAMED-PROTOCOL_X75', 6). +-endif. +-ifndef('DIAMETER_CX_FRAMED-ROUTING_NONE'). +-define('DIAMETER_CX_FRAMED-ROUTING_NONE', 0). +-endif. +-ifndef('DIAMETER_CX_FRAMED-ROUTING_SEND'). +-define('DIAMETER_CX_FRAMED-ROUTING_SEND', 1). +-endif. +-ifndef('DIAMETER_CX_FRAMED-ROUTING_LISTEN'). +-define('DIAMETER_CX_FRAMED-ROUTING_LISTEN', 2). +-endif. +-ifndef('DIAMETER_CX_FRAMED-ROUTING_SEND_AND_LISTEN'). +-define('DIAMETER_CX_FRAMED-ROUTING_SEND_AND_LISTEN', 3). +-endif. +-ifndef('DIAMETER_CX_FRAMED-COMPRESSION_NONE'). +-define('DIAMETER_CX_FRAMED-COMPRESSION_NONE', 0). +-endif. +-ifndef('DIAMETER_CX_FRAMED-COMPRESSION_VJ'). +-define('DIAMETER_CX_FRAMED-COMPRESSION_VJ', 1). +-endif. +-ifndef('DIAMETER_CX_FRAMED-COMPRESSION_IPX'). +-define('DIAMETER_CX_FRAMED-COMPRESSION_IPX', 2). +-endif. +-ifndef('DIAMETER_CX_FRAMED-COMPRESSION_STAC-LZS'). +-define('DIAMETER_CX_FRAMED-COMPRESSION_STAC-LZS', 3). +-endif. +-ifndef('DIAMETER_CX_ARAP-ZONE-ACCESS_DEFAULT'). +-define('DIAMETER_CX_ARAP-ZONE-ACCESS_DEFAULT', 1). +-endif. +-ifndef('DIAMETER_CX_ARAP-ZONE-ACCESS_FILTER_INCLUSIVELY'). +-define('DIAMETER_CX_ARAP-ZONE-ACCESS_FILTER_INCLUSIVELY', 2). +-endif. +-ifndef('DIAMETER_CX_ARAP-ZONE-ACCESS_FILTER_EXCLUSIVELY'). +-define('DIAMETER_CX_ARAP-ZONE-ACCESS_FILTER_EXCLUSIVELY', 4). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_TELNET'). +-define('DIAMETER_CX_LOGIN-SERVICE_TELNET', 0). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_RLOGIN'). +-define('DIAMETER_CX_LOGIN-SERVICE_RLOGIN', 1). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_TCP_CLEAR'). +-define('DIAMETER_CX_LOGIN-SERVICE_TCP_CLEAR', 2). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_PORTMASTER'). +-define('DIAMETER_CX_LOGIN-SERVICE_PORTMASTER', 3). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_LAT'). +-define('DIAMETER_CX_LOGIN-SERVICE_LAT', 4). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_X25-PAD'). +-define('DIAMETER_CX_LOGIN-SERVICE_X25-PAD', 5). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_X25-T3POS'). +-define('DIAMETER_CX_LOGIN-SERVICE_X25-T3POS', 6). +-endif. +-ifndef('DIAMETER_CX_LOGIN-SERVICE_TCP_CLEAR_QUIET'). +-define('DIAMETER_CX_LOGIN-SERVICE_TCP_CLEAR_QUIET', 8). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_PPTP'). +-define('DIAMETER_CX_TUNNEL-TYPE_PPTP', 1). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_L2F'). +-define('DIAMETER_CX_TUNNEL-TYPE_L2F', 2). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_L2TP'). +-define('DIAMETER_CX_TUNNEL-TYPE_L2TP', 3). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_ATMP'). +-define('DIAMETER_CX_TUNNEL-TYPE_ATMP', 4). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_VTP'). +-define('DIAMETER_CX_TUNNEL-TYPE_VTP', 5). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_AH'). +-define('DIAMETER_CX_TUNNEL-TYPE_AH', 6). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_IP-IP'). +-define('DIAMETER_CX_TUNNEL-TYPE_IP-IP', 7). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_MIN-IP-IP'). +-define('DIAMETER_CX_TUNNEL-TYPE_MIN-IP-IP', 8). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_ESP'). +-define('DIAMETER_CX_TUNNEL-TYPE_ESP', 9). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_GRE'). +-define('DIAMETER_CX_TUNNEL-TYPE_GRE', 10). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_DVS'). +-define('DIAMETER_CX_TUNNEL-TYPE_DVS', 11). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_IP-IN-IP'). +-define('DIAMETER_CX_TUNNEL-TYPE_IP-IN-IP', 12). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-TYPE_VLAN'). +-define('DIAMETER_CX_TUNNEL-TYPE_VLAN', 13). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_IPV4'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_IPV4', 1). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_IPV6'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_IPV6', 2). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_NSAP'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_NSAP', 3). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_HDLC'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_HDLC', 4). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_BBN_1822'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_BBN_1822', 5). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_802'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_802', 6). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_E163'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_E163', 7). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_E164'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_E164', 8). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_F69'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_F69', 9). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_X121'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_X121', 10). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_IPX'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_IPX', 11). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_APPLETALK'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_APPLETALK', 12). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_DECNET_IV'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_DECNET_IV', 13). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_BANYAN_VINES'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_BANYAN_VINES', 14). +-endif. +-ifndef('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_E164_NSAP'). +-define('DIAMETER_CX_TUNNEL-MEDIUM-TYPE_E164_NSAP', 15). +-endif. +-ifndef('DIAMETER_CX_ACCT-AUTHENTIC_RADIUS'). +-define('DIAMETER_CX_ACCT-AUTHENTIC_RADIUS', 1). +-endif. +-ifndef('DIAMETER_CX_ACCT-AUTHENTIC_LOCAL'). +-define('DIAMETER_CX_ACCT-AUTHENTIC_LOCAL', 2). +-endif. +-ifndef('DIAMETER_CX_ACCT-AUTHENTIC_REMOTE'). +-define('DIAMETER_CX_ACCT-AUTHENTIC_REMOTE', 3). +-endif. +-ifndef('DIAMETER_CX_ACCT-AUTHENTIC_DIAMETER'). +-define('DIAMETER_CX_ACCT-AUTHENTIC_DIAMETER', 4). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_PAP'). +-define('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_PAP', 1). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_CHAP'). +-define('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_CHAP', 2). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_MS-CHAP-1'). +-define('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_MS-CHAP-1', 3). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_MS-CHAP-2'). +-define('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_MS-CHAP-2', 4). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_EAP'). +-define('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_EAP', 5). +-endif. +-ifndef('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_NONE'). +-define('DIAMETER_CX_ACCOUNTING-AUTH-METHOD_NONE', 7). +-endif. + diff --git a/include/diameter_3gpp_ts29_272.hrl b/include/diameter_3gpp_ts29_272.hrl new file mode 100644 index 0000000..6cd325d --- /dev/null +++ b/include/diameter_3gpp_ts29_272.hrl @@ -0,0 +1,3521 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_272.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('ULR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'RAT-Type', + 'ULR-Flags', + 'Visited-PLMN-Id', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'Terminal-Information' = [], + 'UE-SRVCC-Capability' = [], + 'SGSN-Number' = [], + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions' = + [], + 'GMLC-Address' = [], + 'Equivalent-PLMN-List' = [], + 'MME-Number-for-MT-SMS' = [], + 'SMS-Register-Request' = [], + 'Supported-Features' = [], + 'Active-APN' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('ULA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Error-Diagnostic' = [], + 'ULA-Flags' = [], + 'Subscription-Data' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('AIR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Visited-PLMN-Id', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'Requested-EUTRAN-Authentication-Info' = [], + 'Requested-UTRAN-GERAN-Authentication-Info' = [], + 'Supported-Features' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('AIA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Error-Diagnostic' = [], + 'Authentication-Info' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('CLR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'Cancellation-Type', + 'Supported-Features' = [], + 'Vendor-Specific-Application-Id' = [], + 'CLR-Flags' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('CLA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('IDR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'Subscription-Data', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'IDR-Flags' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('IDA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'IMS-Voice-Over-PS-Sessions-Supported' = [], + 'Last-UE-Activity-Time' = [], + 'RAT-Type' = [], + 'IDA-Flags' = [], + 'EPS-User-State' = [], + 'EPS-Location-Information' = [], + 'Local-Time-Zone' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('DSR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'DSR-Flags', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Context-Identifier' = [], + 'Trace-Reference' = [], + 'TS-Code' = [], + 'SS-Code' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('DSA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'DSA-Flags' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('PUR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'PUR-Flags' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('PUA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'PUA-Flags' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('RSR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'User-Id' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('RSA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('NOR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'Supported-Features' = [], + 'Terminal-Information' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Context-Identifier' = [], + 'Service-Selection' = [], + 'Alert-Reason' = [], + 'UE-SRVCC-Capability' = [], + 'NOR-Flags' = [], + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions' = + [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('NOA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('ECR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Terminal-Information', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'User-Name' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('ECA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Equipment-Status' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_214: +%%% ------------------------------------------------------- + +-record('Flows', + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_173: +%%% ------------------------------------------------------- + +-record('Serving-Node', + {'SGSN-Number' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Name' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + +-record('Additional-Serving-Node', + {'SGSN-Number' = [], + 'MME-Name' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_break_circles: +%%% ------------------------------------------------------- + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc5447: +%%% ------------------------------------------------------- + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('NETWORK-ACCESS-MODE_PACKET_AND_CIRCUIT', 0). +-define('NETWORK-ACCESS-MODE_RESERVED', 1). +-define('NETWORK-ACCESS-MODE_ONLY_PACKET', 2). +-define('CANCELLATION-TYPE_MME_UPDATE_PROCEDURE', 0). +-define('CANCELLATION-TYPE_SGSN_UPDATE_PROCEDURE', 1). +-define('CANCELLATION-TYPE_SUBSCRIPTION_WITHDRAWAL', 2). +-define('CANCELLATION-TYPE_UPDATE_PROCEDURE_IWF', 3). +-define('CANCELLATION-TYPE_INITIAL_ATTACH_PROCEDURE', 4). +-define('SUBSCRIBER-STATUS_SERVICE_GRANTED', 0). +-define('SUBSCRIBER-STATUS_OPERATOR_DETERMINED_BARRING', 1). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_ALL_APN_CONFIGURATIONS_INCLUDED', 0). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED', 1). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_NOTALLOWED', 0). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_ALLOWED', 1). +-define('PDN-GW-ALLOCATION-TYPE_STATIC', 0). +-define('PDN-GW-ALLOCATION-TYPE_DYNAMIC', 1). +-define('EQUIPMENT-STATUS_WHITELISTED', 0). +-define('EQUIPMENT-STATUS_BLACKLISTED', 1). +-define('EQUIPMENT-STATUS_GREYLISTED', 2). +-define('PDN-TYPE_IPV4', 0). +-define('PDN-TYPE_IPV6', 1). +-define('PDN-TYPE_IPV4V6', 2). +-define('PDN-TYPE_IPV4_OR_IPV6', 3). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_ALL_PDP_CONTEXTS_INCLUDED', 0). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED', 1). +-define('ROAMING-RESTRICTED-DUE-TO-UNSUPPORTED-FEATURE_ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE', 0). +-define('ALERT-REASON_UE_PRESENT', 0). +-define('ALERT-REASON_UE_MEMORY_AVAILABLE', 1). +-define('NOTIFICATION-TO-UE-USER_NOTIFY_LOCATION_ALLOWED', 0). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE', 1). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE', 2). +-define('NOTIFICATION-TO-UE-USER_LOCATION_NOT_ALLOWED', 3). +-define('GMLC-RESTRICTION_GMLC_LIST', 0). +-define('GMLC-RESTRICTION_HOME_COUNTRY', 1). +-define('PLMN-CLIENT_BROADCAST_SERVICE', 0). +-define('PLMN-CLIENT_O_AND_M_HPLMN', 1). +-define('PLMN-CLIENT_O_AND_M_VPLMN', 2). +-define('PLMN-CLIENT_ANONYMOUS_LOCATION', 3). +-define('PLMN-CLIENT_TARGET_UE_SUBSCRIBED_SERVICE', 4). +-define('ICS-INDICATOR_FALSE', 0). +-define('ICS-INDICATOR_TRUE', 1). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_NOT_SUPPORTED', 0). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_SUPPORTED', 1). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_NOT_SUPPORTED', 0). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_SUPPORTED', 1). +-define('USER-STATE_DETACHED', 0). +-define('USER-STATE_ATTACHED_NOT_REACHABLE_FOR_PAGING', 1). +-define('USER-STATE_ATTACHED_REACHABLE_FOR_PAGING', 2). +-define('USER-STATE_CONNECTED_NOT_REACHABLE_FOR_PAGING', 3). +-define('USER-STATE_CONNECTED_REACHABLE_FOR_PAGING', 4). +-define('USER-STATE_NETWORK_DETERMINED_NOT_REACHABLE', 5). +-define('CURRENT-LOCATION-RETRIEVED_ACTIVE-LOCATION-RETRIEVAL', 0). +-define('ERROR-DIAGNOSTIC_GPRS_DATA_SUBSCRIBED', 0). +-define('ERROR-DIAGNOSTIC_NO_GPRS_DATA_SUBSCRIBED', 1). +-define('ERROR-DIAGNOSTIC_ODB-ALL-APN', 2). +-define('ERROR-DIAGNOSTIC_ODB-HPLMN-APN', 3). +-define('ERROR-DIAGNOSTIC_ODB-VPLMN-APN', 4). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-NOT-SUPPORTED', 0). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-SUPPORTED', 1). +-define('VPLMN-LIPA-ALLOWED_LIPA-NOTALLOWED', 0). +-define('VPLMN-LIPA-ALLOWED_LIPA-ALLOWED', 1). +-define('LIPA-PERMISSION_LIPA-PROHIBITED', 0). +-define('LIPA-PERMISSION_LIPA-ONLY', 1). +-define('LIPA-PERMISSION_LIPA-CONDITIONAL', 2). +-define('SIPTO-PERMISSION_SIPTO_ALLOWED', 0). +-define('SIPTO-PERMISSION_SIPTO_NOTALLOWED', 1). +-define('RELAY-NODE-INDICATOR_NOT_RELAY_NODE', 0). +-define('RELAY-NODE-INDICATOR_RELAY_NODE', 1). +-define('MDT-USER-CONSENT_CONSENT_NOT_GIVEN', 0). +-define('MDT-USER-CONSENT_CONSENT_GIVEN', 1). +-define('SUBSCRIBED-VSRVCC_VSRVCC_SUBSCRIBED', 0). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_REQUIRED', 0). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_NOT_PREFERRED', 1). +-define('SMS-REGISTER-REQUEST_NO_PREFERENCE', 2). +-define('DAYLIGHT-SAVING-TIME_NO_ADJUSTMENT', 0). +-define('DAYLIGHT-SAVING-TIME_PLUS_ONE_HOUR_ADJUSTMENT', 1). +-define('DAYLIGHT-SAVING-TIME_PLUS_TWO_HOURS_ADJUSTMENT', 2). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PDP-TYPE_IPV4'). +-define('3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('3GPP-PDP-TYPE_PPP'). +-define('3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV6'). +-define('3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV4V6'). +-define('3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('3GPP-PDP-TYPE_NON-IP'). +-define('3GPP-PDP-TYPE_NON-IP', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-ifndef('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT'). +-define('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT', 0). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_REGISTRATION', 1). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION', 2). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER'). +-define('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER', 3). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION', 4). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION', 5). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME', 6). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME', 7). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION', 8). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE', 9). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT', 10). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA'). +-define('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA', 11). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST'). +-define('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST', 12). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE'). +-define('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE', 13). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RESTORATION'). +-define('SERVER-ASSIGNMENT-TYPE_RESTORATION', 14). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PS-DATA-OFF-STATUS_ACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_ACTIVE', 0). +-endif. +-ifndef('3GPP-PS-DATA-OFF-STATUS_INACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_INACTIVE', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER', 0). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER', 2). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER', 3). +-endif. +-ifndef('ADAPTATIONS_YES'). +-define('ADAPTATIONS_YES', 0). +-endif. +-ifndef('ADAPTATIONS_NO'). +-define('ADAPTATIONS_NO', 1). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED', 0). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED', 1). +-endif. +-ifndef('ADDRESS-TYPE_E-MAIL-ADDRESS'). +-define('ADDRESS-TYPE_E-MAIL-ADDRESS', 0). +-endif. +-ifndef('ADDRESS-TYPE_MSISDN'). +-define('ADDRESS-TYPE_MSISDN', 1). +-endif. +-ifndef('ADDRESS-TYPE_IPV4-ADDRESS'). +-define('ADDRESS-TYPE_IPV4-ADDRESS', 2). +-endif. +-ifndef('ADDRESS-TYPE_IPV6-ADDRESS'). +-define('ADDRESS-TYPE_IPV6-ADDRESS', 3). +-endif. +-ifndef('ADDRESS-TYPE_NUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_NUMERIC-SHORTCODE', 4). +-endif. +-ifndef('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE', 5). +-endif. +-ifndef('ADDRESS-TYPE_OTHER'). +-define('ADDRESS-TYPE_OTHER', 6). +-endif. +-ifndef('ADDRESS-TYPE_IMSI'). +-define('ADDRESS-TYPE_IMSI', 7). +-endif. +-ifndef('ADDRESSEE-TYPE_TO'). +-define('ADDRESSEE-TYPE_TO', 0). +-endif. +-ifndef('ADDRESSEE-TYPE_CC'). +-define('ADDRESSEE-TYPE_CC', 1). +-endif. +-ifndef('ADDRESSEE-TYPE_BCC'). +-define('ADDRESSEE-TYPE_BCC', 2). +-endif. +-ifndef('AOC-FORMAT_MONETARY'). +-define('AOC-FORMAT_MONETARY', 0). +-endif. +-ifndef('AOC-FORMAT_NON_MONETARY'). +-define('AOC-FORMAT_NON_MONETARY', 1). +-endif. +-ifndef('AOC-FORMAT_CAI'). +-define('AOC-FORMAT_CAI', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED'). +-define('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED', 0). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_FULL'). +-define('AOC-REQUEST-TYPE_AOC_FULL', 1). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_COST_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_COST_ONLY', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY', 3). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING', 0). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_BINDING', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_NONE'). +-define('AOC-SERVICE-TYPE_NONE', 0). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-S'). +-define('AOC-SERVICE-TYPE_AOC-S', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-D'). +-define('AOC-SERVICE-TYPE_AOC-D', 2). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-E'). +-define('AOC-SERVICE-TYPE_AOC-E', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_UNKNOWN'). +-define('CHARGE-REASON-CODE_UNKNOWN', 0). +-endif. +-ifndef('CHARGE-REASON-CODE_USAGE'). +-define('CHARGE-REASON-CODE_USAGE', 1). +-endif. +-ifndef('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE'). +-define('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE', 2). +-endif. +-ifndef('CHARGE-REASON-CODE_SETUP-CHARGE'). +-define('CHARGE-REASON-CODE_SETUP-CHARGE', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_ADD-ON-CHARGE'). +-define('CHARGE-REASON-CODE_ADD-ON-CHARGE', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED', 0). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC', 1). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC', 2). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT', 3). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT', 5). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE', 0). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_PERSONAL'). +-define('CLASS-IDENTIFIER_PERSONAL', 0). +-endif. +-ifndef('CLASS-IDENTIFIER_ADVERTISEMENT'). +-define('CLASS-IDENTIFIER_ADVERTISEMENT', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_INFORMATIONAL'). +-define('CLASS-IDENTIFIER_INFORMATIONAL', 2). +-endif. +-ifndef('CLASS-IDENTIFIER_AUTO'). +-define('CLASS-IDENTIFIER_AUTO', 3). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE', 0). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK', 1). +-endif. +-ifndef('CONTENT-CLASS_TEXT'). +-define('CONTENT-CLASS_TEXT', 0). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-BASIC'). +-define('CONTENT-CLASS_IMAGE-BASIC', 1). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-RICH'). +-define('CONTENT-CLASS_IMAGE-RICH', 2). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-BASIC'). +-define('CONTENT-CLASS_VIDEO-BASIC', 3). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-RICH'). +-define('CONTENT-CLASS_VIDEO-RICH', 4). +-endif. +-ifndef('CONTENT-CLASS_MEGAPIXEL'). +-define('CONTENT-CLASS_MEGAPIXEL', 5). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-BASIC'). +-define('CONTENT-CLASS_CONTENT-BASIC', 6). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-RICH'). +-define('CONTENT-CLASS_CONTENT-RICH', 7). +-endif. +-ifndef('COVERAGE-STATUS_OUT-OF-COVERAGE'). +-define('COVERAGE-STATUS_OUT-OF-COVERAGE', 0). +-endif. +-ifndef('COVERAGE-STATUS_IN-COVERAGE'). +-define('COVERAGE-STATUS_IN-COVERAGE', 1). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY', 0). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY', 1). +-endif. +-ifndef('CSG-ACCESS-MODE_CLOSED-MODE'). +-define('CSG-ACCESS-MODE_CLOSED-MODE', 0). +-endif. +-ifndef('CSG-ACCESS-MODE_HYBRID-MODE'). +-define('CSG-ACCESS-MODE_HYBRID-MODE', 1). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER', 0). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER', 1). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_NO'). +-define('DELIVERY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_YES'). +-define('DELIVERY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('DRM-CONTENT_NO'). +-define('DRM-CONTENT_NO', 0). +-endif. +-ifndef('DRM-CONTENT_YES'). +-define('DRM-CONTENT_YES', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG_DYNAMIC', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES', 0). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME', 2). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS', 3). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS', 4). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_SUPPORTED', 1). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED', 2). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-NOT-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-NOT-PENDING', 0). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-PENDING', 1). +-endif. +-ifndef('INTERFACE-TYPE_UNKNOWN'). +-define('INTERFACE-TYPE_UNKNOWN', 0). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_ORIGINATING'). +-define('INTERFACE-TYPE_MOBILE_ORIGINATING', 1). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_TERMINATING'). +-define('INTERFACE-TYPE_MOBILE_TERMINATING', 2). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_ORIGINATING'). +-define('INTERFACE-TYPE_APPLICATION_ORIGINATING', 3). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_TERMINATION'). +-define('INTERFACE-TYPE_APPLICATION_TERMINATION', 4). +-endif. +-ifndef('INTER-UE-TRANSFER_INTRA-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTRA-UE-TRANSFER', 0). +-endif. +-ifndef('INTER-UE-TRANSFER_INTER-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTER-UE-TRANSFER', 1). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY', 0). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_EMERGENCY', 1). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED', 0). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED', 1). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED', 0). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_EMERGENCY_SERVICES'). +-define('LCS-CLIENT-TYPE_EMERGENCY_SERVICES', 0). +-endif. +-ifndef('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES'). +-define('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES'). +-define('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES', 2). +-endif. +-ifndef('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES'). +-define('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_LOGICAL_NAME'). +-define('LCS-FORMAT-INDICATOR_LOGICAL_NAME', 0). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS'). +-define('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS', 1). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_MSISDN'). +-define('LCS-FORMAT-INDICATOR_MSISDN', 2). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_URL'). +-define('LCS-FORMAT-INDICATOR_URL', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_SIP_URL'). +-define('LCS-FORMAT-INDICATOR_SIP_URL', 4). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED', 0). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION', 0). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION', 2). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION', 3). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION', 4). +-endif. +-ifndef('LOW-BALANCE-INDICATION_NOT-APPLICABLE'). +-define('LOW-BALANCE-INDICATION_NOT-APPLICABLE', 0). +-endif. +-ifndef('LOW-BALANCE-INDICATION_YES'). +-define('LOW-BALANCE-INDICATION_YES', 1). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_NO'). +-define('LOW-PRIORITY-INDICATOR_NO', 0). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_YES'). +-define('LOW-PRIORITY-INDICATOR_YES', 1). +-endif. +-ifndef('MBMS-CHARGED-PARTY_CONTENT-PROVIDER'). +-define('MBMS-CHARGED-PARTY_CONTENT-PROVIDER', 0). +-endif. +-ifndef('MBMS-CHARGED-PARTY_SUBSCRIBER'). +-define('MBMS-CHARGED-PARTY_SUBSCRIBER', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_DOWNLOAD'). +-define('MBMS-USER-SERVICE-TYPE_DOWNLOAD', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_STREAMING'). +-define('MBMS-USER-SERVICE-TYPE_STREAMING', 2). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLED-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLED-PARTY', 0). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLING-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLING-PARTY', 1). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_UNKNOWN'). +-define('MEDIA-INITIATOR-FLAG_UNKNOWN', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-REQ'). +-define('MESSAGE-TYPE_M-SEND-REQ', 1). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-CONF'). +-define('MESSAGE-TYPE_M-SEND-CONF', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFICATION-IND'). +-define('MESSAGE-TYPE_M-NOTIFICATION-IND', 3). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFYRESP-IND'). +-define('MESSAGE-TYPE_M-NOTIFYRESP-IND', 4). +-endif. +-ifndef('MESSAGE-TYPE_M-RETRIEVE-CONF'). +-define('MESSAGE-TYPE_M-RETRIEVE-CONF', 5). +-endif. +-ifndef('MESSAGE-TYPE_M-ACKNOWLEDGE-IND'). +-define('MESSAGE-TYPE_M-ACKNOWLEDGE-IND', 6). +-endif. +-ifndef('MESSAGE-TYPE_M-DELIVERY-IND'). +-define('MESSAGE-TYPE_M-DELIVERY-IND', 7). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-REC-IND'). +-define('MESSAGE-TYPE_M-READ-REC-IND', 8). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-ORIG-IND'). +-define('MESSAGE-TYPE_M-READ-ORIG-IND', 9). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-REQ'). +-define('MESSAGE-TYPE_M-FORWARD-REQ', 10). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-CONF'). +-define('MESSAGE-TYPE_M-FORWARD-CONF', 11). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-STORE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-STORE-CONF', 12). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-VIEW-CONF'). +-define('MESSAGE-TYPE_M-MBOX-VIEW-CONF', 13). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF'). +-define('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF', 14). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-DELETE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-DELETE-CONF', 15). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_NO'). +-define('MMBOX-STORAGE-REQUESTED_NO', 0). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_YES'). +-define('MMBOX-STORAGE-REQUESTED_YES', 1). +-endif. +-ifndef('NNI-TYPE_NON-ROAMING'). +-define('NNI-TYPE_NON-ROAMING', 0). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK', 1). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITH-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITH-LOOPBACK', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-CSCF'). +-define('NODE-FUNCTIONALITY_S-CSCF', 0). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-CSCF'). +-define('NODE-FUNCTIONALITY_P-CSCF', 1). +-endif. +-ifndef('NODE-FUNCTIONALITY_I-CSCF'). +-define('NODE-FUNCTIONALITY_I-CSCF', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_MRFC'). +-define('NODE-FUNCTIONALITY_MRFC', 3). +-endif. +-ifndef('NODE-FUNCTIONALITY_MGCF'). +-define('NODE-FUNCTIONALITY_MGCF', 4). +-endif. +-ifndef('NODE-FUNCTIONALITY_BGCF'). +-define('NODE-FUNCTIONALITY_BGCF', 5). +-endif. +-ifndef('NODE-FUNCTIONALITY_AS'). +-define('NODE-FUNCTIONALITY_AS', 6). +-endif. +-ifndef('NODE-FUNCTIONALITY_IBCF'). +-define('NODE-FUNCTIONALITY_IBCF', 7). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-GW'). +-define('NODE-FUNCTIONALITY_S-GW', 8). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-GW'). +-define('NODE-FUNCTIONALITY_P-GW', 9). +-endif. +-ifndef('NODE-FUNCTIONALITY_HSGW'). +-define('NODE-FUNCTIONALITY_HSGW', 10). +-endif. +-ifndef('NODE-FUNCTIONALITY_E-CSCF'). +-define('NODE-FUNCTIONALITY_E-CSCF', 11). +-endif. +-ifndef('NODE-FUNCTIONALITY_MME'). +-define('NODE-FUNCTIONALITY_MME', 12). +-endif. +-ifndef('NODE-FUNCTIONALITY_TRF'). +-define('NODE-FUNCTIONALITY_TRF', 13). +-endif. +-ifndef('NODE-FUNCTIONALITY_TF'). +-define('NODE-FUNCTIONALITY_TF', 14). +-endif. +-ifndef('NODE-FUNCTIONALITY_ATCF'). +-define('NODE-FUNCTIONALITY_ATCF', 15). +-endif. +-ifndef('NODE-FUNCTIONALITY_PROXY-FUNCTION'). +-define('NODE-FUNCTIONALITY_PROXY-FUNCTION', 16). +-endif. +-ifndef('NODE-FUNCTIONALITY_EPDG'). +-define('NODE-FUNCTIONALITY_EPDG', 17). +-endif. +-ifndef('NODE-FUNCTIONALITY_TDF'). +-define('NODE-FUNCTIONALITY_TDF', 18). +-endif. +-ifndef('NODE-FUNCTIONALITY_TWAG'). +-define('NODE-FUNCTIONALITY_TWAG', 19). +-endif. +-ifndef('NODE-FUNCTIONALITY_SCEF'). +-define('NODE-FUNCTIONALITY_SCEF', 20). +-endif. +-ifndef('NODE-FUNCTIONALITY_IWK-SCEF'). +-define('NODE-FUNCTIONALITY_IWK-SCEF', 21). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED', 0). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED', 1). +-endif. +-ifndef('ORIGINATOR_CALLING-PARTY'). +-define('ORIGINATOR_CALLING-PARTY', 0). +-endif. +-ifndef('ORIGINATOR_CALLED-PARTY'). +-define('ORIGINATOR_CALLED-PARTY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY', 2). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY', 3). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY', 4). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_CREATE_CONF'). +-define('PARTICIPANT-ACTION-TYPE_CREATE_CONF', 0). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_JOIN_CONF'). +-define('PARTICIPANT-ACTION-TYPE_JOIN_CONF', 1). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF'). +-define('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF', 2). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_QUIT_CONF'). +-define('PARTICIPANT-ACTION-TYPE_QUIT_CONF', 3). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_EUTRA'). +-define('PC5-RADIO-TECHNOLOGY_EUTRA', 0). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_WLAN'). +-define('PC5-RADIO-TECHNOLOGY_WLAN', 1). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN'). +-define('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN', 2). +-endif. +-ifndef('PDP-CONTEXT-TYPE_PRIMARY'). +-define('PDP-CONTEXT-TYPE_PRIMARY', 0). +-endif. +-ifndef('PDP-CONTEXT-TYPE_SECONDARY'). +-define('PDP-CONTEXT-TYPE_SECONDARY', 1). +-endif. +-ifndef('PLAY-ALTERNATIVE_SERVED-PARTY'). +-define('PLAY-ALTERNATIVE_SERVED-PARTY', 0). +-endif. +-ifndef('PLAY-ALTERNATIVE_REMOTE-PARTY'). +-define('PLAY-ALTERNATIVE_REMOTE-PARTY', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_SERVICECHANGE'). +-define('POC-CHANGE-CONDITION_SERVICECHANGE', 0). +-endif. +-ifndef('POC-CHANGE-CONDITION_VOLUMELIMIT'). +-define('POC-CHANGE-CONDITION_VOLUMELIMIT', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_TIMELIMIT'). +-define('POC-CHANGE-CONDITION_TIMELIMIT', 2). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT'). +-define('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT', 3). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS'). +-define('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS', 4). +-endif. +-ifndef('POC-CHANGE-CONDITION_TARIFFTIME'). +-define('POC-CHANGE-CONDITION_TARIFFTIME', 5). +-endif. +-ifndef('POC-EVENT-TYPE_NORMAL'). +-define('POC-EVENT-TYPE_NORMAL', 0). +-endif. +-ifndef('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT'). +-define('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT', 1). +-endif. +-ifndef('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT'). +-define('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT', 2). +-endif. +-ifndef('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT'). +-define('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT', 3). +-endif. +-ifndef('POC-EVENT-TYPE_POC-TALK-BURST'). +-define('POC-EVENT-TYPE_POC-TALK-BURST', 4). +-endif. +-ifndef('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER'). +-define('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER', 0). +-endif. +-ifndef('POC-SERVER-ROLE_CONTROLLING-POC-SERVER'). +-define('POC-SERVER-ROLE_CONTROLLING-POC-SERVER', 1). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-FUNCTION', 2). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION', 3). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED'). +-define('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED', 0). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_ON-DEMAND'). +-define('POC-SESSION-INITIATION-TYPE_ON-DEMAND', 1). +-endif. +-ifndef('POC-SESSION-TYPE_1-TO-1-POC-SESSION'). +-define('POC-SESSION-TYPE_1-TO-1-POC-SESSION', 0). +-endif. +-ifndef('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION', 1). +-endif. +-ifndef('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION', 2). +-endif. +-ifndef('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_MODERATOR'). +-define('POC-USER-ROLE-INFO-UNITS_MODERATOR', 1). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_DISPATCHER'). +-define('POC-USER-ROLE-INFO-UNITS_DISPATCHER', 2). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT', 4). +-endif. +-ifndef('PRIORITY_LOW'). +-define('PRIORITY_LOW', 0). +-endif. +-ifndef('PRIORITY_NORMAL'). +-define('PRIORITY_NORMAL', 1). +-endif. +-ifndef('PRIORITY_HIGH'). +-define('PRIORITY_HIGH', 2). +-endif. +-ifndef('PRIVACY-INDICATOR_NOT_PRIVATE'). +-define('PRIVACY-INDICATOR_NOT_PRIVATE', 0). +-endif. +-ifndef('PRIVACY-INDICATOR_PRIVATE'). +-define('PRIVACY-INDICATOR_PRIVATE', 1). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A', 0). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_ANNOUCING'). +-define('PROSE-EVENT-TYPE_ANNOUCING', 0). +-endif. +-ifndef('PROSE-EVENT-TYPE_MONITORING'). +-define('PROSE-EVENT-TYPE_MONITORING', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_MATCH-REPORT'). +-define('PROSE-EVENT-TYPE_MATCH-REPORT', 2). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY', 0). +-endif. +-ifndef('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY', 1). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION'). +-define('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_RESERVED'). +-define('PROSE-RANGE-CLASS_RESERVED', 0). +-endif. +-ifndef('PROSE-RANGE-CLASS_50M'). +-define('PROSE-RANGE-CLASS_50M', 1). +-endif. +-ifndef('PROSE-RANGE-CLASS_100M'). +-define('PROSE-RANGE-CLASS_100M', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_200M'). +-define('PROSE-RANGE-CLASS_200M', 3). +-endif. +-ifndef('PROSE-RANGE-CLASS_500M'). +-define('PROSE-RANGE-CLASS_500M', 4). +-endif. +-ifndef('PROSE-RANGE-CLASS_1000M'). +-define('PROSE-RANGE-CLASS_1000M', 5). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT'). +-define('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT', 0). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL'). +-define('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL', 1). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION'). +-define('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_ANNOUNCING-UE'). +-define('PROSE-ROLE-OF-UE_ANNOUNCING-UE', 0). +-endif. +-ifndef('PROSE-ROLE-OF-UE_MONITORING-UE'). +-define('PROSE-ROLE-OF-UE_MONITORING-UE', 1). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTOR-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTOR-UE', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTED-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTED-UE', 3). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_ALERT'). +-define('PROXIMITY-ALERT-INDICATION_ALERT', 0). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_NO-ALERT'). +-define('PROXIMITY-ALERT-INDICATION_NO-ALERT', 1). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_APPEND'). +-define('PS-APPEND-FREE-FORMAT-DATA_APPEND', 0). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE'). +-define('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE', 1). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK', 0). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK', 1). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_NO'). +-define('READ-REPLY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_YES'). +-define('READ-REPLY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('RELATIONSHIP-MODE_TRUSTED'). +-define('RELATIONSHIP-MODE_TRUSTED', 0). +-endif. +-ifndef('RELATIONSHIP-MODE_NON-TRUSTED'). +-define('RELATIONSHIP-MODE_NON-TRUSTED', 1). +-endif. +-ifndef('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET', 0). +-endif. +-ifndef('REPLY-PATH-REQUESTED_REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_REPLY-PATH-SET', 1). +-endif. +-ifndef('REPORTING-REASON_THRESHOLD'). +-define('REPORTING-REASON_THRESHOLD', 0). +-endif. +-ifndef('REPORTING-REASON_QHT'). +-define('REPORTING-REASON_QHT', 1). +-endif. +-ifndef('REPORTING-REASON_FINAL'). +-define('REPORTING-REASON_FINAL', 2). +-endif. +-ifndef('REPORTING-REASON_QUOTA_EXHAUSTED'). +-define('REPORTING-REASON_QUOTA_EXHAUSTED', 3). +-endif. +-ifndef('REPORTING-REASON_VALIDITY_TIME'). +-define('REPORTING-REASON_VALIDITY_TIME', 4). +-endif. +-ifndef('REPORTING-REASON_OTHER_QUOTA_TYPE'). +-define('REPORTING-REASON_OTHER_QUOTA_TYPE', 5). +-endif. +-ifndef('REPORTING-REASON_RATING_CONDITION_CHANGE'). +-define('REPORTING-REASON_RATING_CONDITION_CHANGE', 6). +-endif. +-ifndef('REPORTING-REASON_FORCED_REAUTHORISATION'). +-define('REPORTING-REASON_FORCED_REAUTHORISATION', 7). +-endif. +-ifndef('REPORTING-REASON_POOL_EXHAUSTED'). +-define('REPORTING-REASON_POOL_EXHAUSTED', 8). +-endif. +-ifndef('REPORTING-REASON_UNUSED_QUOTA_TIMER'). +-define('REPORTING-REASON_UNUSED_QUOTA_TIMER', 9). +-endif. +-ifndef('ROLE-OF-NODE_ORIGINATING_ROLE'). +-define('ROLE-OF-NODE_ORIGINATING_ROLE', 0). +-endif. +-ifndef('ROLE-OF-NODE_TERMINATING_ROLE'). +-define('ROLE-OF-NODE_TERMINATING_ROLE', 1). +-endif. +-ifndef('ROLE-OF-NODE_FORWARDING_ROLE'). +-define('ROLE-OF-NODE_FORWARDING_ROLE', 2). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_HPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_HPLMN', 0). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_VPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_VPLMN', 1). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN'). +-define('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN', 2). +-endif. +-ifndef('SDP-TYPE_SDP-OFFER'). +-define('SDP-TYPE_SDP-OFFER', 0). +-endif. +-ifndef('SDP-TYPE_SDP-ANSWER'). +-define('SDP-TYPE_SDP-ANSWER', 1). +-endif. +-ifndef('SESSION-DIRECTION_INBOUND'). +-define('SESSION-DIRECTION_INBOUND', 0). +-endif. +-ifndef('SESSION-DIRECTION_OUTBOUND'). +-define('SESSION-DIRECTION_OUTBOUND', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_SGSN'). +-define('SERVING-NODE-TYPE_SGSN', 0). +-endif. +-ifndef('SERVING-NODE-TYPE_PMIPSGW'). +-define('SERVING-NODE-TYPE_PMIPSGW', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_GTPSGW'). +-define('SERVING-NODE-TYPE_GTPSGW', 2). +-endif. +-ifndef('SERVING-NODE-TYPE_EPDG'). +-define('SERVING-NODE-TYPE_EPDG', 3). +-endif. +-ifndef('SERVING-NODE-TYPE_HSGW'). +-define('SERVING-NODE-TYPE_HSGW', 4). +-endif. +-ifndef('SERVING-NODE-TYPE_MME'). +-define('SERVING-NODE-TYPE_MME', 5). +-endif. +-ifndef('SERVING-NODE-TYPE_TWAN'). +-define('SERVING-NODE-TYPE_TWAN', 6). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED'). +-define('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED', 0). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_OTHERS'). +-define('SGI-PTP-TUNNELLING-METHOD_OTHERS', 1). +-endif. +-ifndef('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE', 0). +-endif. +-ifndef('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER'). +-define('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER', 0). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE', 2). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SUBMISSION'). +-define('SM-MESSAGE-TYPE_SUBMISSION', 0). +-endif. +-ifndef('SM-MESSAGE-TYPE_DELIVERY_REPORT'). +-define('SM-MESSAGE-TYPE_DELIVERY_REPORT', 1). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST'). +-define('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST', 2). +-endif. +-ifndef('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER', 4). +-endif. +-ifndef('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION'). +-define('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION', 5). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER'). +-define('SMS-NODE_SMS-ROUTER', 0). +-endif. +-ifndef('SMS-NODE_IP-SM-GW'). +-define('SMS-NODE_IP-SM-GW', 1). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW'). +-define('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW', 2). +-endif. +-ifndef('SMS-NODE_SMS-SC'). +-define('SMS-NODE_SMS-SC', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING', 0). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING', 1). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS', 2). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT', 4). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE', 5). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS', 6). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK', 7). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY', 8). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE', 9). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY', 10). +-endif. +-ifndef('STATUS-AS-CODE_4XX'). +-define('STATUS-AS-CODE_4XX', 0). +-endif. +-ifndef('STATUS-AS-CODE_5XX'). +-define('STATUS-AS-CODE_5XX', 1). +-endif. +-ifndef('STATUS-AS-CODE_TIMEOUT'). +-define('STATUS-AS-CODE_TIMEOUT', 2). +-endif. +-ifndef('SUBSCRIBER-ROLE_ORIGINATING'). +-define('SUBSCRIBER-ROLE_ORIGINATING', 0). +-endif. +-ifndef('SUBSCRIBER-ROLE_TERMINATING'). +-define('SUBSCRIBER-ROLE_TERMINATING', 1). +-endif. +-ifndef('TAD-IDENTIFIER_CS'). +-define('TAD-IDENTIFIER_CS', 0). +-endif. +-ifndef('TAD-IDENTIFIER_PS'). +-define('TAD-IDENTIFIER_PS', 1). +-endif. +-ifndef('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD', 0). +-endif. +-ifndef('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD', 1). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED', 0). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS'). +-define('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_QOS'). +-define('TRIGGER-TYPE_CHANGE_IN_QOS', 2). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_LOCATION'). +-define('TRIGGER-TYPE_CHANGE_IN_LOCATION', 3). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_RAT'). +-define('TRIGGER-TYPE_CHANGE_IN_RAT', 4). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE'). +-define('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE', 5). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS', 10). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS', 11). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS', 12). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT', 13). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS', 14). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT', 15). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK', 16). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK', 17). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER'). +-define('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER', 18). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO'). +-define('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO', 19). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY', 20). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY', 21). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK', 22). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK', 23). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE'). +-define('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE', 24). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MCC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MCC', 30). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MNC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MNC', 31). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_RAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_RAC', 32). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_LAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_LAC', 33). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_CELLID'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_CELLID', 34). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_TAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_TAC', 35). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_ECGI'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_ECGI', 36). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION'). +-define('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION', 40). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB', 50). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB', 51). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE', 52). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION', 60). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE', 61). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW'). +-define('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW', 62). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION', 70). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION', 71). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION', 72). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA'). +-define('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA', 73). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL'). +-define('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL', 75). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF'). +-define('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF', 76). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP', 0). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NORMAL'). +-define('USER-PARTICIPATING-TYPE_NORMAL', 0). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NW-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_NW-POC-BOX', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_UE-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_UE-POC-BOX', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_INTEGER'). +-define('VARIABLE-PART-TYPE_INTEGER', 0). +-endif. +-ifndef('VARIABLE-PART-TYPE_NUMBER'). +-define('VARIABLE-PART-TYPE_NUMBER', 1). +-endif. +-ifndef('VARIABLE-PART-TYPE_TIME'). +-define('VARIABLE-PART-TYPE_TIME', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_DATE'). +-define('VARIABLE-PART-TYPE_DATE', 3). +-endif. +-ifndef('VARIABLE-PART-TYPE_CURRENCY'). +-define('VARIABLE-PART-TYPE_CURRENCY', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-ifndef('AN-GW-STATUS_AN_GW_FAILED'). +-define('AN-GW-STATUS_AN_GW_FAILED', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_ONLY'). +-define('BEARER-CONTROL-MODE_UE_ONLY', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_RESERVED'). +-define('BEARER-CONTROL-MODE_RESERVED', 1). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_NW'). +-define('BEARER-CONTROL-MODE_UE_NW', 2). +-endif. +-ifndef('BEARER-OPERATION_TERMINATION'). +-define('BEARER-OPERATION_TERMINATION', 0). +-endif. +-ifndef('BEARER-OPERATION_ESTABLISHMENT'). +-define('BEARER-OPERATION_ESTABLISHMENT', 1). +-endif. +-ifndef('BEARER-OPERATION_MODIFICATION'). +-define('BEARER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('BEARER-USAGE_GENERAL'). +-define('BEARER-USAGE_GENERAL', 0). +-endif. +-ifndef('BEARER-USAGE_IMS_SIGNALLING'). +-define('BEARER-USAGE_IMS_SIGNALLING', 1). +-endif. +-ifndef('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED'). +-define('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL', 1). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL', 2). +-endif. +-ifndef('EVENT-TRIGGER_SGSN_CHANGE'). +-define('EVENT-TRIGGER_SGSN_CHANGE', 0). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE'). +-define('EVENT-TRIGGER_QOS_CHANGE', 1). +-endif. +-ifndef('EVENT-TRIGGER_RAT_CHANGE'). +-define('EVENT-TRIGGER_RAT_CHANGE', 2). +-endif. +-ifndef('EVENT-TRIGGER_TFT_CHANGE'). +-define('EVENT-TRIGGER_TFT_CHANGE', 3). +-endif. +-ifndef('EVENT-TRIGGER_PLMN_CHANGE'). +-define('EVENT-TRIGGER_PLMN_CHANGE', 4). +-endif. +-ifndef('EVENT-TRIGGER_LOSS_OF_BEARER'). +-define('EVENT-TRIGGER_LOSS_OF_BEARER', 5). +-endif. +-ifndef('EVENT-TRIGGER_RECOVERY_OF_BEARER'). +-define('EVENT-TRIGGER_RECOVERY_OF_BEARER', 6). +-endif. +-ifndef('EVENT-TRIGGER_IP-CAN_CHANGE'). +-define('EVENT-TRIGGER_IP-CAN_CHANGE', 7). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION'). +-define('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION', 11). +-endif. +-ifndef('EVENT-TRIGGER_RAI_CHANGE'). +-define('EVENT-TRIGGER_RAI_CHANGE', 12). +-endif. +-ifndef('EVENT-TRIGGER_USER_LOCATION_CHANGE'). +-define('EVENT-TRIGGER_USER_LOCATION_CHANGE', 13). +-endif. +-ifndef('EVENT-TRIGGER_NO_EVENT_TRIGGERS'). +-define('EVENT-TRIGGER_NO_EVENT_TRIGGERS', 14). +-endif. +-ifndef('EVENT-TRIGGER_OUT_OF_CREDIT'). +-define('EVENT-TRIGGER_OUT_OF_CREDIT', 15). +-endif. +-ifndef('EVENT-TRIGGER_REALLOCATION_OF_CREDIT'). +-define('EVENT-TRIGGER_REALLOCATION_OF_CREDIT', 16). +-endif. +-ifndef('EVENT-TRIGGER_REVALIDATION_TIMEOUT'). +-define('EVENT-TRIGGER_REVALIDATION_TIMEOUT', 17). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE', 18). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE', 19). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE', 20). +-endif. +-ifndef('EVENT-TRIGGER_AN_GW_CHANGE'). +-define('EVENT-TRIGGER_AN_GW_CHANGE', 21). +-endif. +-ifndef('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION'). +-define('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION', 22). +-endif. +-ifndef('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST'). +-define('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST', 23). +-endif. +-ifndef('EVENT-TRIGGER_PGW_TRACE_CONTROL'). +-define('EVENT-TRIGGER_PGW_TRACE_CONTROL', 24). +-endif. +-ifndef('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE'). +-define('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE', 25). +-endif. +-ifndef('EVENT-TRIGGER_TAI_CHANGE'). +-define('EVENT-TRIGGER_TAI_CHANGE', 26). +-endif. +-ifndef('EVENT-TRIGGER_ECGI_CHANGE'). +-define('EVENT-TRIGGER_ECGI_CHANGE', 27). +-endif. +-ifndef('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE'). +-define('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE', 28). +-endif. +-ifndef('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE', 29). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE', 30). +-endif. +-ifndef('EVENT-TRIGGER_USAGE_REPORT'). +-define('EVENT-TRIGGER_USAGE_REPORT', 33). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE', 34). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE', 35). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE', 36). +-endif. +-ifndef('EVENT-TRIGGER_ROUTING_RULE_CHANGE'). +-define('EVENT-TRIGGER_ROUTING_RULE_CHANGE', 37). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_START'). +-define('EVENT-TRIGGER_APPLICATION_START', 39). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_STOP'). +-define('EVENT-TRIGGER_APPLICATION_STOP', 40). +-endif. +-ifndef('EVENT-TRIGGER_CS_TO_PS_HANDOVER'). +-define('EVENT-TRIGGER_CS_TO_PS_HANDOVER', 42). +-endif. +-ifndef('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE', 43). +-endif. +-ifndef('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE', 44). +-endif. +-ifndef('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT'). +-define('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT', 45). +-endif. +-ifndef('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE'). +-define('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE', 46). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_QOS_CHANGE', 47). +-endif. +-ifndef('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT'). +-define('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT', 48). +-endif. +-ifndef('FLOW-DIRECTION_UNSPECIFIED'). +-define('FLOW-DIRECTION_UNSPECIFIED', 0). +-endif. +-ifndef('FLOW-DIRECTION_DOWNLINK'). +-define('FLOW-DIRECTION_DOWNLINK', 1). +-endif. +-ifndef('FLOW-DIRECTION_UPLINK'). +-define('FLOW-DIRECTION_UPLINK', 2). +-endif. +-ifndef('FLOW-DIRECTION_BIDIRECTIONAL'). +-define('FLOW-DIRECTION_BIDIRECTIONAL', 3). +-endif. +-ifndef('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE'). +-define('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE', 0). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-GPRS'). +-define('IP-CAN-TYPE_3GPP-GPRS', 0). +-endif. +-ifndef('IP-CAN-TYPE_DOCSIS'). +-define('IP-CAN-TYPE_DOCSIS', 1). +-endif. +-ifndef('IP-CAN-TYPE_XDSL'). +-define('IP-CAN-TYPE_XDSL', 2). +-endif. +-ifndef('IP-CAN-TYPE_WIMAX'). +-define('IP-CAN-TYPE_WIMAX', 3). +-endif. +-ifndef('IP-CAN-TYPE_3GPP2'). +-define('IP-CAN-TYPE_3GPP2', 4). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-EPS'). +-define('IP-CAN-TYPE_3GPP-EPS', 5). +-endif. +-ifndef('IP-CAN-TYPE_NON-3GPP-EPS'). +-define('IP-CAN-TYPE_NON-3GPP-EPS', 6). +-endif. +-ifndef('IP-CAN-TYPE_FBA'). +-define('IP-CAN-TYPE_FBA', 7). +-endif. +-ifndef('METERING-METHOD_DURATION'). +-define('METERING-METHOD_DURATION', 0). +-endif. +-ifndef('METERING-METHOD_VOLUME'). +-define('METERING-METHOD_VOLUME', 1). +-endif. +-ifndef('METERING-METHOD_DURATION_VOLUME'). +-define('METERING-METHOD_DURATION_VOLUME', 2). +-endif. +-ifndef('METERING-METHOD_EVENT'). +-define('METERING-METHOD_EVENT', 3). +-endif. +-ifndef('MUTE-NOTIFICATION_MUTE_REQUIRED'). +-define('MUTE-NOTIFICATION_MUTE_REQUIRED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED', 1). +-endif. +-ifndef('OFFLINE_DISABLE_OFFLINE'). +-define('OFFLINE_DISABLE_OFFLINE', 0). +-endif. +-ifndef('OFFLINE_ENABLE_OFFLINE'). +-define('OFFLINE_ENABLE_OFFLINE', 1). +-endif. +-ifndef('ONLINE_DISABLE_ONLINE'). +-define('ONLINE_DISABLE_ONLINE', 0). +-endif. +-ifndef('ONLINE_ENABLE_ONLINE'). +-define('ONLINE_ENABLE_ONLINE', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_DELETION'). +-define('PACKET-FILTER-OPERATION_DELETION', 0). +-endif. +-ifndef('PACKET-FILTER-OPERATION_ADDITION'). +-define('PACKET-FILTER-OPERATION_ADDITION', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_MODIFICATION'). +-define('PACKET-FILTER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('PACKET-FILTER-USAGE_SEND_TO_UE'). +-define('PACKET-FILTER-USAGE_SEND_TO_UE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_ACTIVE'). +-define('PCC-RULE-STATUS_ACTIVE', 0). +-endif. +-ifndef('PCC-RULE-STATUS_INACTIVE'). +-define('PCC-RULE-STATUS_INACTIVE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_TEMPORARILY_INACTIVE'). +-define('PCC-RULE-STATUS_TEMPORARILY_INACTIVE', 2). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED', 1). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED', 1). +-endif. +-ifndef('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE'). +-define('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE', 0). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_1'). +-define('QOS-CLASS-IDENTIFIER_QCI_1', 1). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_2'). +-define('QOS-CLASS-IDENTIFIER_QCI_2', 2). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_3'). +-define('QOS-CLASS-IDENTIFIER_QCI_3', 3). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_4'). +-define('QOS-CLASS-IDENTIFIER_QCI_4', 4). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_5'). +-define('QOS-CLASS-IDENTIFIER_QCI_5', 5). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_6'). +-define('QOS-CLASS-IDENTIFIER_QCI_6', 6). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_7'). +-define('QOS-CLASS-IDENTIFIER_QCI_7', 7). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_8'). +-define('QOS-CLASS-IDENTIFIER_QCI_8', 8). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_9'). +-define('QOS-CLASS-IDENTIFIER_QCI_9', 9). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_65'). +-define('QOS-CLASS-IDENTIFIER_QCI_65', 65). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_66'). +-define('QOS-CLASS-IDENTIFIER_QCI_66', 66). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_69'). +-define('QOS-CLASS-IDENTIFIER_QCI_69', 69). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_70'). +-define('QOS-CLASS-IDENTIFIER_QCI_70', 70). +-endif. +-ifndef('QOS-NEGOTIATION_NO_QOS_NEGOTIATION'). +-define('QOS-NEGOTIATION_NO_QOS_NEGOTIATION', 0). +-endif. +-ifndef('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED'). +-define('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED', 1). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED', 0). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED', 1). +-endif. +-ifndef('RAT-TYPE_WLAN'). +-define('RAT-TYPE_WLAN', 0). +-endif. +-ifndef('RAT-TYPE_VIRTUAL'). +-define('RAT-TYPE_VIRTUAL', 1). +-endif. +-ifndef('RAT-TYPE_UTRAN'). +-define('RAT-TYPE_UTRAN', 1000). +-endif. +-ifndef('RAT-TYPE_GERAN'). +-define('RAT-TYPE_GERAN', 1001). +-endif. +-ifndef('RAT-TYPE_GAN'). +-define('RAT-TYPE_GAN', 1002). +-endif. +-ifndef('RAT-TYPE_HSPA_EVOLUTION'). +-define('RAT-TYPE_HSPA_EVOLUTION', 1003). +-endif. +-ifndef('RAT-TYPE_EUTRAN'). +-define('RAT-TYPE_EUTRAN', 1004). +-endif. +-ifndef('RAT-TYPE_CDMA2000_1X'). +-define('RAT-TYPE_CDMA2000_1X', 2000). +-endif. +-ifndef('RAT-TYPE_HRPD'). +-define('RAT-TYPE_HRPD', 2001). +-endif. +-ifndef('RAT-TYPE_UMB'). +-define('RAT-TYPE_UMB', 2002). +-endif. +-ifndef('RAT-TYPE_EHRPD'). +-define('RAT-TYPE_EHRPD', 2003). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_DISABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_DISABLED', 0). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_ENABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_ENABLED', 1). +-endif. +-ifndef('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL'). +-define('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL', 0). +-endif. +-ifndef('REPORTING-LEVEL_RATING_GROUP_LEVEL'). +-define('REPORTING-LEVEL_RATING_GROUP_LEVEL', 1). +-endif. +-ifndef('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL'). +-define('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL', 2). +-endif. +-ifndef('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION'). +-define('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION', 0). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME'). +-define('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME', 1). +-endif. +-ifndef('RULE-FAILURE-CODE_RATING_GROUP_ERROR'). +-define('RULE-FAILURE-CODE_RATING_GROUP_ERROR', 2). +-endif. +-ifndef('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR', 3). +-endif. +-ifndef('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION'). +-define('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION', 4). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCES_LIMITATION'). +-define('RULE-FAILURE-CODE_RESOURCES_LIMITATION', 5). +-endif. +-ifndef('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED'). +-define('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED', 6). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID'). +-define('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID', 7). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_BEARER_ID'). +-define('RULE-FAILURE-CODE_MISSING_BEARER_ID', 8). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION', 9). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE'). +-define('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE', 10). +-endif. +-ifndef('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION'). +-define('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION', 11). +-endif. +-ifndef('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION', 12). +-endif. +-ifndef('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER'). +-define('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER', 13). +-endif. +-ifndef('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR', 14). +-endif. +-ifndef('RULE-FAILURE-CODE_NO_BEARER_BOUND'). +-define('RULE-FAILURE-CODE_NO_BEARER_BOUND', 15). +-endif. +-ifndef('RULE-FAILURE-CODE_FILTER_RESTRICTIONS'). +-define('RULE-FAILURE-CODE_FILTER_RESTRICTIONS', 16). +-endif. +-ifndef('RULE-FAILURE-CODE_AN_GW_FAILED'). +-define('RULE-FAILURE-CODE_AN_GW_FAILED', 17). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS'). +-define('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS', 18). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED'). +-define('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED', 19). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE'). +-define('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE', 20). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED'). +-define('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED', 21). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_USER_UNKNOWN'). +-define('RULE-FAILURE-CODE_CM_USER_UNKNOWN', 22). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_RATING_FAILED'). +-define('RULE-FAILURE-CODE_CM_RATING_FAILED', 23). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON'). +-define('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON', 0). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON'). +-define('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON', 1). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES'). +-define('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES', 2). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION'). +-define('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION', 3). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE'). +-define('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE', 4). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_SESSION_LEVEL'). +-define('USAGE-MONITORING-LEVEL_SESSION_LEVEL', 0). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL', 1). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL', 2). +-endif. +-ifndef('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED'). +-define('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED', 0). +-endif. +-ifndef('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED'). +-define('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED', 0). +-endif. + diff --git a/include/diameter_3gpp_ts29_273.hrl b/include/diameter_3gpp_ts29_273.hrl new file mode 100644 index 0000000..3e9f698 --- /dev/null +++ b/include/diameter_3gpp_ts29_273.hrl @@ -0,0 +1,3598 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_273.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('WLAN-Identifier', + {'SSID' = [], 'HESSID' = [], 'AVP' = []}). + +-record('Access-Network-Info', + {'SSID' = [], + 'BSSID' = [], + 'Location-Information' = [], + 'Location-Data' = [], + 'Operator-Name' = [], + 'Logical-Access-ID' = [], + 'AVP' = []}). + +-record('TWAN-Connectivity-Parameters', + {'Connectivity-Flags' = [], + 'Service-Selection' = [], + 'PDN-Type' = [], + 'Served-Party-IP-Address' = [], + 'TWAN-PCO' = [], + 'TWAG-UP-Address' = [], + 'TWAN-S2a-Failure-Cause' = [], + 'SM-Back-Off-Timer' = [], + 'AVP' = []}). + +-record('Non-3GPP-User-Data', + {'Subscription-Id' = [], + 'Non-3GPP-IP-Access' = [], + 'Non-3GPP-IP-Access-APN' = [], + 'RAT-Type' = [], + 'Session-Timeout' = [], + 'MIP6-Feature-Vector' = [], + 'AMBR' = [], + '3GPP-Charging-Characteristics' = [], + 'Context-Identifier' = [], + 'APN-OI-Replacement' = [], + 'APN-Configuration' = [], + 'Trace-Info' = [], + 'TWAN-Default-APN-Context-Id' = [], + 'TWAN-Access-Info' = [], + 'UE-Usage-Type' = [], + 'Emergency-Info' = [], + 'ERP-Authorization' = [], + 'Core-Network-Restrictions' = [], + 'AVP' = []}). + +-record('Trace-Info', + {'Trace-Data' = [], + 'Trace-Reference' = [], + 'AVP' = []}). + +-record('TWAN-Access-Info', + {'Access-Authorization-Flags' = [], + 'WLAN-Identifier' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_break_circles: +%%% ------------------------------------------------------- + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_272: +%%% ------------------------------------------------------- + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc7683: +%%% ------------------------------------------------------- + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('AN-TRUSTED_TRUSTED', 0). +-define('AN-TRUSTED_UNTRUSTED', 1). +-define('TRANSPORT-ACCESS-TYPE_BBF', 0). +-define('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_ALLOWED', 0). +-define('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_BARRED', 1). +-define('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_ENABLE', 0). +-define('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_DISABLE', 1). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PDP-TYPE_IPV4'). +-define('3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('3GPP-PDP-TYPE_PPP'). +-define('3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV6'). +-define('3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV4V6'). +-define('3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('3GPP-PDP-TYPE_NON-IP'). +-define('3GPP-PDP-TYPE_NON-IP', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-ifndef('AN-GW-STATUS_AN_GW_FAILED'). +-define('AN-GW-STATUS_AN_GW_FAILED', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_ONLY'). +-define('BEARER-CONTROL-MODE_UE_ONLY', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_RESERVED'). +-define('BEARER-CONTROL-MODE_RESERVED', 1). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_NW'). +-define('BEARER-CONTROL-MODE_UE_NW', 2). +-endif. +-ifndef('BEARER-OPERATION_TERMINATION'). +-define('BEARER-OPERATION_TERMINATION', 0). +-endif. +-ifndef('BEARER-OPERATION_ESTABLISHMENT'). +-define('BEARER-OPERATION_ESTABLISHMENT', 1). +-endif. +-ifndef('BEARER-OPERATION_MODIFICATION'). +-define('BEARER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('BEARER-USAGE_GENERAL'). +-define('BEARER-USAGE_GENERAL', 0). +-endif. +-ifndef('BEARER-USAGE_IMS_SIGNALLING'). +-define('BEARER-USAGE_IMS_SIGNALLING', 1). +-endif. +-ifndef('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED'). +-define('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL', 1). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL', 2). +-endif. +-ifndef('EVENT-TRIGGER_SGSN_CHANGE'). +-define('EVENT-TRIGGER_SGSN_CHANGE', 0). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE'). +-define('EVENT-TRIGGER_QOS_CHANGE', 1). +-endif. +-ifndef('EVENT-TRIGGER_RAT_CHANGE'). +-define('EVENT-TRIGGER_RAT_CHANGE', 2). +-endif. +-ifndef('EVENT-TRIGGER_TFT_CHANGE'). +-define('EVENT-TRIGGER_TFT_CHANGE', 3). +-endif. +-ifndef('EVENT-TRIGGER_PLMN_CHANGE'). +-define('EVENT-TRIGGER_PLMN_CHANGE', 4). +-endif. +-ifndef('EVENT-TRIGGER_LOSS_OF_BEARER'). +-define('EVENT-TRIGGER_LOSS_OF_BEARER', 5). +-endif. +-ifndef('EVENT-TRIGGER_RECOVERY_OF_BEARER'). +-define('EVENT-TRIGGER_RECOVERY_OF_BEARER', 6). +-endif. +-ifndef('EVENT-TRIGGER_IP-CAN_CHANGE'). +-define('EVENT-TRIGGER_IP-CAN_CHANGE', 7). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION'). +-define('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION', 11). +-endif. +-ifndef('EVENT-TRIGGER_RAI_CHANGE'). +-define('EVENT-TRIGGER_RAI_CHANGE', 12). +-endif. +-ifndef('EVENT-TRIGGER_USER_LOCATION_CHANGE'). +-define('EVENT-TRIGGER_USER_LOCATION_CHANGE', 13). +-endif. +-ifndef('EVENT-TRIGGER_NO_EVENT_TRIGGERS'). +-define('EVENT-TRIGGER_NO_EVENT_TRIGGERS', 14). +-endif. +-ifndef('EVENT-TRIGGER_OUT_OF_CREDIT'). +-define('EVENT-TRIGGER_OUT_OF_CREDIT', 15). +-endif. +-ifndef('EVENT-TRIGGER_REALLOCATION_OF_CREDIT'). +-define('EVENT-TRIGGER_REALLOCATION_OF_CREDIT', 16). +-endif. +-ifndef('EVENT-TRIGGER_REVALIDATION_TIMEOUT'). +-define('EVENT-TRIGGER_REVALIDATION_TIMEOUT', 17). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE', 18). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE', 19). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE', 20). +-endif. +-ifndef('EVENT-TRIGGER_AN_GW_CHANGE'). +-define('EVENT-TRIGGER_AN_GW_CHANGE', 21). +-endif. +-ifndef('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION'). +-define('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION', 22). +-endif. +-ifndef('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST'). +-define('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST', 23). +-endif. +-ifndef('EVENT-TRIGGER_PGW_TRACE_CONTROL'). +-define('EVENT-TRIGGER_PGW_TRACE_CONTROL', 24). +-endif. +-ifndef('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE'). +-define('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE', 25). +-endif. +-ifndef('EVENT-TRIGGER_TAI_CHANGE'). +-define('EVENT-TRIGGER_TAI_CHANGE', 26). +-endif. +-ifndef('EVENT-TRIGGER_ECGI_CHANGE'). +-define('EVENT-TRIGGER_ECGI_CHANGE', 27). +-endif. +-ifndef('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE'). +-define('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE', 28). +-endif. +-ifndef('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE', 29). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE', 30). +-endif. +-ifndef('EVENT-TRIGGER_USAGE_REPORT'). +-define('EVENT-TRIGGER_USAGE_REPORT', 33). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE', 34). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE', 35). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE', 36). +-endif. +-ifndef('EVENT-TRIGGER_ROUTING_RULE_CHANGE'). +-define('EVENT-TRIGGER_ROUTING_RULE_CHANGE', 37). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_START'). +-define('EVENT-TRIGGER_APPLICATION_START', 39). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_STOP'). +-define('EVENT-TRIGGER_APPLICATION_STOP', 40). +-endif. +-ifndef('EVENT-TRIGGER_CS_TO_PS_HANDOVER'). +-define('EVENT-TRIGGER_CS_TO_PS_HANDOVER', 42). +-endif. +-ifndef('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE', 43). +-endif. +-ifndef('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE', 44). +-endif. +-ifndef('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT'). +-define('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT', 45). +-endif. +-ifndef('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE'). +-define('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE', 46). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_QOS_CHANGE', 47). +-endif. +-ifndef('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT'). +-define('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT', 48). +-endif. +-ifndef('FLOW-DIRECTION_UNSPECIFIED'). +-define('FLOW-DIRECTION_UNSPECIFIED', 0). +-endif. +-ifndef('FLOW-DIRECTION_DOWNLINK'). +-define('FLOW-DIRECTION_DOWNLINK', 1). +-endif. +-ifndef('FLOW-DIRECTION_UPLINK'). +-define('FLOW-DIRECTION_UPLINK', 2). +-endif. +-ifndef('FLOW-DIRECTION_BIDIRECTIONAL'). +-define('FLOW-DIRECTION_BIDIRECTIONAL', 3). +-endif. +-ifndef('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE'). +-define('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE', 0). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-GPRS'). +-define('IP-CAN-TYPE_3GPP-GPRS', 0). +-endif. +-ifndef('IP-CAN-TYPE_DOCSIS'). +-define('IP-CAN-TYPE_DOCSIS', 1). +-endif. +-ifndef('IP-CAN-TYPE_XDSL'). +-define('IP-CAN-TYPE_XDSL', 2). +-endif. +-ifndef('IP-CAN-TYPE_WIMAX'). +-define('IP-CAN-TYPE_WIMAX', 3). +-endif. +-ifndef('IP-CAN-TYPE_3GPP2'). +-define('IP-CAN-TYPE_3GPP2', 4). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-EPS'). +-define('IP-CAN-TYPE_3GPP-EPS', 5). +-endif. +-ifndef('IP-CAN-TYPE_NON-3GPP-EPS'). +-define('IP-CAN-TYPE_NON-3GPP-EPS', 6). +-endif. +-ifndef('IP-CAN-TYPE_FBA'). +-define('IP-CAN-TYPE_FBA', 7). +-endif. +-ifndef('METERING-METHOD_DURATION'). +-define('METERING-METHOD_DURATION', 0). +-endif. +-ifndef('METERING-METHOD_VOLUME'). +-define('METERING-METHOD_VOLUME', 1). +-endif. +-ifndef('METERING-METHOD_DURATION_VOLUME'). +-define('METERING-METHOD_DURATION_VOLUME', 2). +-endif. +-ifndef('METERING-METHOD_EVENT'). +-define('METERING-METHOD_EVENT', 3). +-endif. +-ifndef('MUTE-NOTIFICATION_MUTE_REQUIRED'). +-define('MUTE-NOTIFICATION_MUTE_REQUIRED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED', 1). +-endif. +-ifndef('OFFLINE_DISABLE_OFFLINE'). +-define('OFFLINE_DISABLE_OFFLINE', 0). +-endif. +-ifndef('OFFLINE_ENABLE_OFFLINE'). +-define('OFFLINE_ENABLE_OFFLINE', 1). +-endif. +-ifndef('ONLINE_DISABLE_ONLINE'). +-define('ONLINE_DISABLE_ONLINE', 0). +-endif. +-ifndef('ONLINE_ENABLE_ONLINE'). +-define('ONLINE_ENABLE_ONLINE', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_DELETION'). +-define('PACKET-FILTER-OPERATION_DELETION', 0). +-endif. +-ifndef('PACKET-FILTER-OPERATION_ADDITION'). +-define('PACKET-FILTER-OPERATION_ADDITION', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_MODIFICATION'). +-define('PACKET-FILTER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('PACKET-FILTER-USAGE_SEND_TO_UE'). +-define('PACKET-FILTER-USAGE_SEND_TO_UE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_ACTIVE'). +-define('PCC-RULE-STATUS_ACTIVE', 0). +-endif. +-ifndef('PCC-RULE-STATUS_INACTIVE'). +-define('PCC-RULE-STATUS_INACTIVE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_TEMPORARILY_INACTIVE'). +-define('PCC-RULE-STATUS_TEMPORARILY_INACTIVE', 2). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED', 1). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED', 1). +-endif. +-ifndef('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE'). +-define('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE', 0). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_1'). +-define('QOS-CLASS-IDENTIFIER_QCI_1', 1). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_2'). +-define('QOS-CLASS-IDENTIFIER_QCI_2', 2). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_3'). +-define('QOS-CLASS-IDENTIFIER_QCI_3', 3). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_4'). +-define('QOS-CLASS-IDENTIFIER_QCI_4', 4). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_5'). +-define('QOS-CLASS-IDENTIFIER_QCI_5', 5). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_6'). +-define('QOS-CLASS-IDENTIFIER_QCI_6', 6). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_7'). +-define('QOS-CLASS-IDENTIFIER_QCI_7', 7). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_8'). +-define('QOS-CLASS-IDENTIFIER_QCI_8', 8). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_9'). +-define('QOS-CLASS-IDENTIFIER_QCI_9', 9). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_65'). +-define('QOS-CLASS-IDENTIFIER_QCI_65', 65). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_66'). +-define('QOS-CLASS-IDENTIFIER_QCI_66', 66). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_69'). +-define('QOS-CLASS-IDENTIFIER_QCI_69', 69). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_70'). +-define('QOS-CLASS-IDENTIFIER_QCI_70', 70). +-endif. +-ifndef('QOS-NEGOTIATION_NO_QOS_NEGOTIATION'). +-define('QOS-NEGOTIATION_NO_QOS_NEGOTIATION', 0). +-endif. +-ifndef('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED'). +-define('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED', 1). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED', 0). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED', 1). +-endif. +-ifndef('RAT-TYPE_WLAN'). +-define('RAT-TYPE_WLAN', 0). +-endif. +-ifndef('RAT-TYPE_VIRTUAL'). +-define('RAT-TYPE_VIRTUAL', 1). +-endif. +-ifndef('RAT-TYPE_UTRAN'). +-define('RAT-TYPE_UTRAN', 1000). +-endif. +-ifndef('RAT-TYPE_GERAN'). +-define('RAT-TYPE_GERAN', 1001). +-endif. +-ifndef('RAT-TYPE_GAN'). +-define('RAT-TYPE_GAN', 1002). +-endif. +-ifndef('RAT-TYPE_HSPA_EVOLUTION'). +-define('RAT-TYPE_HSPA_EVOLUTION', 1003). +-endif. +-ifndef('RAT-TYPE_EUTRAN'). +-define('RAT-TYPE_EUTRAN', 1004). +-endif. +-ifndef('RAT-TYPE_CDMA2000_1X'). +-define('RAT-TYPE_CDMA2000_1X', 2000). +-endif. +-ifndef('RAT-TYPE_HRPD'). +-define('RAT-TYPE_HRPD', 2001). +-endif. +-ifndef('RAT-TYPE_UMB'). +-define('RAT-TYPE_UMB', 2002). +-endif. +-ifndef('RAT-TYPE_EHRPD'). +-define('RAT-TYPE_EHRPD', 2003). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_DISABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_DISABLED', 0). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_ENABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_ENABLED', 1). +-endif. +-ifndef('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL'). +-define('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL', 0). +-endif. +-ifndef('REPORTING-LEVEL_RATING_GROUP_LEVEL'). +-define('REPORTING-LEVEL_RATING_GROUP_LEVEL', 1). +-endif. +-ifndef('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL'). +-define('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL', 2). +-endif. +-ifndef('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION'). +-define('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION', 0). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME'). +-define('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME', 1). +-endif. +-ifndef('RULE-FAILURE-CODE_RATING_GROUP_ERROR'). +-define('RULE-FAILURE-CODE_RATING_GROUP_ERROR', 2). +-endif. +-ifndef('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR', 3). +-endif. +-ifndef('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION'). +-define('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION', 4). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCES_LIMITATION'). +-define('RULE-FAILURE-CODE_RESOURCES_LIMITATION', 5). +-endif. +-ifndef('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED'). +-define('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED', 6). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID'). +-define('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID', 7). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_BEARER_ID'). +-define('RULE-FAILURE-CODE_MISSING_BEARER_ID', 8). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION', 9). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE'). +-define('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE', 10). +-endif. +-ifndef('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION'). +-define('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION', 11). +-endif. +-ifndef('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION', 12). +-endif. +-ifndef('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER'). +-define('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER', 13). +-endif. +-ifndef('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR', 14). +-endif. +-ifndef('RULE-FAILURE-CODE_NO_BEARER_BOUND'). +-define('RULE-FAILURE-CODE_NO_BEARER_BOUND', 15). +-endif. +-ifndef('RULE-FAILURE-CODE_FILTER_RESTRICTIONS'). +-define('RULE-FAILURE-CODE_FILTER_RESTRICTIONS', 16). +-endif. +-ifndef('RULE-FAILURE-CODE_AN_GW_FAILED'). +-define('RULE-FAILURE-CODE_AN_GW_FAILED', 17). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS'). +-define('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS', 18). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED'). +-define('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED', 19). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE'). +-define('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE', 20). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED'). +-define('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED', 21). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_USER_UNKNOWN'). +-define('RULE-FAILURE-CODE_CM_USER_UNKNOWN', 22). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_RATING_FAILED'). +-define('RULE-FAILURE-CODE_CM_RATING_FAILED', 23). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON'). +-define('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON', 0). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON'). +-define('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON', 1). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES'). +-define('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES', 2). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION'). +-define('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION', 3). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE'). +-define('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE', 4). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_SESSION_LEVEL'). +-define('USAGE-MONITORING-LEVEL_SESSION_LEVEL', 0). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL', 1). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL', 2). +-endif. +-ifndef('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED'). +-define('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED', 0). +-endif. +-ifndef('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED'). +-define('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED', 0). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_272: +%%% ------------------------------------------------------- + +-ifndef('NETWORK-ACCESS-MODE_PACKET_AND_CIRCUIT'). +-define('NETWORK-ACCESS-MODE_PACKET_AND_CIRCUIT', 0). +-endif. +-ifndef('NETWORK-ACCESS-MODE_RESERVED'). +-define('NETWORK-ACCESS-MODE_RESERVED', 1). +-endif. +-ifndef('NETWORK-ACCESS-MODE_ONLY_PACKET'). +-define('NETWORK-ACCESS-MODE_ONLY_PACKET', 2). +-endif. +-ifndef('CANCELLATION-TYPE_MME_UPDATE_PROCEDURE'). +-define('CANCELLATION-TYPE_MME_UPDATE_PROCEDURE', 0). +-endif. +-ifndef('CANCELLATION-TYPE_SGSN_UPDATE_PROCEDURE'). +-define('CANCELLATION-TYPE_SGSN_UPDATE_PROCEDURE', 1). +-endif. +-ifndef('CANCELLATION-TYPE_SUBSCRIPTION_WITHDRAWAL'). +-define('CANCELLATION-TYPE_SUBSCRIPTION_WITHDRAWAL', 2). +-endif. +-ifndef('CANCELLATION-TYPE_UPDATE_PROCEDURE_IWF'). +-define('CANCELLATION-TYPE_UPDATE_PROCEDURE_IWF', 3). +-endif. +-ifndef('CANCELLATION-TYPE_INITIAL_ATTACH_PROCEDURE'). +-define('CANCELLATION-TYPE_INITIAL_ATTACH_PROCEDURE', 4). +-endif. +-ifndef('SUBSCRIBER-STATUS_SERVICE_GRANTED'). +-define('SUBSCRIBER-STATUS_SERVICE_GRANTED', 0). +-endif. +-ifndef('SUBSCRIBER-STATUS_OPERATOR_DETERMINED_BARRING'). +-define('SUBSCRIBER-STATUS_OPERATOR_DETERMINED_BARRING', 1). +-endif. +-ifndef('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_ALL_APN_CONFIGURATIONS_INCLUDED'). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_ALL_APN_CONFIGURATIONS_INCLUDED', 0). +-endif. +-ifndef('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED'). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED', 1). +-endif. +-ifndef('VPLMN-DYNAMIC-ADDRESS-ALLOWED_NOTALLOWED'). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_NOTALLOWED', 0). +-endif. +-ifndef('VPLMN-DYNAMIC-ADDRESS-ALLOWED_ALLOWED'). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_ALLOWED', 1). +-endif. +-ifndef('PDN-GW-ALLOCATION-TYPE_STATIC'). +-define('PDN-GW-ALLOCATION-TYPE_STATIC', 0). +-endif. +-ifndef('PDN-GW-ALLOCATION-TYPE_DYNAMIC'). +-define('PDN-GW-ALLOCATION-TYPE_DYNAMIC', 1). +-endif. +-ifndef('EQUIPMENT-STATUS_WHITELISTED'). +-define('EQUIPMENT-STATUS_WHITELISTED', 0). +-endif. +-ifndef('EQUIPMENT-STATUS_BLACKLISTED'). +-define('EQUIPMENT-STATUS_BLACKLISTED', 1). +-endif. +-ifndef('EQUIPMENT-STATUS_GREYLISTED'). +-define('EQUIPMENT-STATUS_GREYLISTED', 2). +-endif. +-ifndef('PDN-TYPE_IPV4'). +-define('PDN-TYPE_IPV4', 0). +-endif. +-ifndef('PDN-TYPE_IPV6'). +-define('PDN-TYPE_IPV6', 1). +-endif. +-ifndef('PDN-TYPE_IPV4V6'). +-define('PDN-TYPE_IPV4V6', 2). +-endif. +-ifndef('PDN-TYPE_IPV4_OR_IPV6'). +-define('PDN-TYPE_IPV4_OR_IPV6', 3). +-endif. +-ifndef('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_ALL_PDP_CONTEXTS_INCLUDED'). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_ALL_PDP_CONTEXTS_INCLUDED', 0). +-endif. +-ifndef('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED'). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED', 1). +-endif. +-ifndef('ROAMING-RESTRICTED-DUE-TO-UNSUPPORTED-FEATURE_ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE'). +-define('ROAMING-RESTRICTED-DUE-TO-UNSUPPORTED-FEATURE_ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE', 0). +-endif. +-ifndef('ALERT-REASON_UE_PRESENT'). +-define('ALERT-REASON_UE_PRESENT', 0). +-endif. +-ifndef('ALERT-REASON_UE_MEMORY_AVAILABLE'). +-define('ALERT-REASON_UE_MEMORY_AVAILABLE', 1). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFY_LOCATION_ALLOWED'). +-define('NOTIFICATION-TO-UE-USER_NOTIFY_LOCATION_ALLOWED', 0). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE'). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE', 1). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE'). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE', 2). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_LOCATION_NOT_ALLOWED'). +-define('NOTIFICATION-TO-UE-USER_LOCATION_NOT_ALLOWED', 3). +-endif. +-ifndef('GMLC-RESTRICTION_GMLC_LIST'). +-define('GMLC-RESTRICTION_GMLC_LIST', 0). +-endif. +-ifndef('GMLC-RESTRICTION_HOME_COUNTRY'). +-define('GMLC-RESTRICTION_HOME_COUNTRY', 1). +-endif. +-ifndef('PLMN-CLIENT_BROADCAST_SERVICE'). +-define('PLMN-CLIENT_BROADCAST_SERVICE', 0). +-endif. +-ifndef('PLMN-CLIENT_O_AND_M_HPLMN'). +-define('PLMN-CLIENT_O_AND_M_HPLMN', 1). +-endif. +-ifndef('PLMN-CLIENT_O_AND_M_VPLMN'). +-define('PLMN-CLIENT_O_AND_M_VPLMN', 2). +-endif. +-ifndef('PLMN-CLIENT_ANONYMOUS_LOCATION'). +-define('PLMN-CLIENT_ANONYMOUS_LOCATION', 3). +-endif. +-ifndef('PLMN-CLIENT_TARGET_UE_SUBSCRIBED_SERVICE'). +-define('PLMN-CLIENT_TARGET_UE_SUBSCRIBED_SERVICE', 4). +-endif. +-ifndef('ICS-INDICATOR_FALSE'). +-define('ICS-INDICATOR_FALSE', 0). +-endif. +-ifndef('ICS-INDICATOR_TRUE'). +-define('ICS-INDICATOR_TRUE', 1). +-endif. +-ifndef('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_NOT_SUPPORTED'). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_NOT_SUPPORTED', 0). +-endif. +-ifndef('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_SUPPORTED'). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_SUPPORTED', 1). +-endif. +-ifndef('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_NOT_SUPPORTED'). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_NOT_SUPPORTED', 0). +-endif. +-ifndef('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_SUPPORTED'). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_SUPPORTED', 1). +-endif. +-ifndef('USER-STATE_DETACHED'). +-define('USER-STATE_DETACHED', 0). +-endif. +-ifndef('USER-STATE_ATTACHED_NOT_REACHABLE_FOR_PAGING'). +-define('USER-STATE_ATTACHED_NOT_REACHABLE_FOR_PAGING', 1). +-endif. +-ifndef('USER-STATE_ATTACHED_REACHABLE_FOR_PAGING'). +-define('USER-STATE_ATTACHED_REACHABLE_FOR_PAGING', 2). +-endif. +-ifndef('USER-STATE_CONNECTED_NOT_REACHABLE_FOR_PAGING'). +-define('USER-STATE_CONNECTED_NOT_REACHABLE_FOR_PAGING', 3). +-endif. +-ifndef('USER-STATE_CONNECTED_REACHABLE_FOR_PAGING'). +-define('USER-STATE_CONNECTED_REACHABLE_FOR_PAGING', 4). +-endif. +-ifndef('USER-STATE_NETWORK_DETERMINED_NOT_REACHABLE'). +-define('USER-STATE_NETWORK_DETERMINED_NOT_REACHABLE', 5). +-endif. +-ifndef('CURRENT-LOCATION-RETRIEVED_ACTIVE-LOCATION-RETRIEVAL'). +-define('CURRENT-LOCATION-RETRIEVED_ACTIVE-LOCATION-RETRIEVAL', 0). +-endif. +-ifndef('ERROR-DIAGNOSTIC_GPRS_DATA_SUBSCRIBED'). +-define('ERROR-DIAGNOSTIC_GPRS_DATA_SUBSCRIBED', 0). +-endif. +-ifndef('ERROR-DIAGNOSTIC_NO_GPRS_DATA_SUBSCRIBED'). +-define('ERROR-DIAGNOSTIC_NO_GPRS_DATA_SUBSCRIBED', 1). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-ALL-APN'). +-define('ERROR-DIAGNOSTIC_ODB-ALL-APN', 2). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-HPLMN-APN'). +-define('ERROR-DIAGNOSTIC_ODB-HPLMN-APN', 3). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-VPLMN-APN'). +-define('ERROR-DIAGNOSTIC_ODB-VPLMN-APN', 4). +-endif. +-ifndef('UE-SRVCC-CAPABILITY_UE-SRVCC-NOT-SUPPORTED'). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-NOT-SUPPORTED', 0). +-endif. +-ifndef('UE-SRVCC-CAPABILITY_UE-SRVCC-SUPPORTED'). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-SUPPORTED', 1). +-endif. +-ifndef('VPLMN-LIPA-ALLOWED_LIPA-NOTALLOWED'). +-define('VPLMN-LIPA-ALLOWED_LIPA-NOTALLOWED', 0). +-endif. +-ifndef('VPLMN-LIPA-ALLOWED_LIPA-ALLOWED'). +-define('VPLMN-LIPA-ALLOWED_LIPA-ALLOWED', 1). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-PROHIBITED'). +-define('LIPA-PERMISSION_LIPA-PROHIBITED', 0). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-ONLY'). +-define('LIPA-PERMISSION_LIPA-ONLY', 1). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-CONDITIONAL'). +-define('LIPA-PERMISSION_LIPA-CONDITIONAL', 2). +-endif. +-ifndef('SIPTO-PERMISSION_SIPTO_ALLOWED'). +-define('SIPTO-PERMISSION_SIPTO_ALLOWED', 0). +-endif. +-ifndef('SIPTO-PERMISSION_SIPTO_NOTALLOWED'). +-define('SIPTO-PERMISSION_SIPTO_NOTALLOWED', 1). +-endif. +-ifndef('RELAY-NODE-INDICATOR_NOT_RELAY_NODE'). +-define('RELAY-NODE-INDICATOR_NOT_RELAY_NODE', 0). +-endif. +-ifndef('RELAY-NODE-INDICATOR_RELAY_NODE'). +-define('RELAY-NODE-INDICATOR_RELAY_NODE', 1). +-endif. +-ifndef('MDT-USER-CONSENT_CONSENT_NOT_GIVEN'). +-define('MDT-USER-CONSENT_CONSENT_NOT_GIVEN', 0). +-endif. +-ifndef('MDT-USER-CONSENT_CONSENT_GIVEN'). +-define('MDT-USER-CONSENT_CONSENT_GIVEN', 1). +-endif. +-ifndef('SUBSCRIBED-VSRVCC_VSRVCC_SUBSCRIBED'). +-define('SUBSCRIBED-VSRVCC_VSRVCC_SUBSCRIBED', 0). +-endif. +-ifndef('SMS-REGISTER-REQUEST_SMS_REGISTRATION_REQUIRED'). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_REQUIRED', 0). +-endif. +-ifndef('SMS-REGISTER-REQUEST_SMS_REGISTRATION_NOT_PREFERRED'). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_NOT_PREFERRED', 1). +-endif. +-ifndef('SMS-REGISTER-REQUEST_NO_PREFERENCE'). +-define('SMS-REGISTER-REQUEST_NO_PREFERENCE', 2). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_NO_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_NO_ADJUSTMENT', 0). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_PLUS_ONE_HOUR_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_PLUS_ONE_HOUR_ADJUSTMENT', 1). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_PLUS_TWO_HOURS_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_PLUS_TWO_HOURS_ADJUSTMENT', 2). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PS-DATA-OFF-STATUS_ACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_ACTIVE', 0). +-endif. +-ifndef('3GPP-PS-DATA-OFF-STATUS_INACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_INACTIVE', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER', 0). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER', 2). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER', 3). +-endif. +-ifndef('ADAPTATIONS_YES'). +-define('ADAPTATIONS_YES', 0). +-endif. +-ifndef('ADAPTATIONS_NO'). +-define('ADAPTATIONS_NO', 1). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED', 0). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED', 1). +-endif. +-ifndef('ADDRESS-TYPE_E-MAIL-ADDRESS'). +-define('ADDRESS-TYPE_E-MAIL-ADDRESS', 0). +-endif. +-ifndef('ADDRESS-TYPE_MSISDN'). +-define('ADDRESS-TYPE_MSISDN', 1). +-endif. +-ifndef('ADDRESS-TYPE_IPV4-ADDRESS'). +-define('ADDRESS-TYPE_IPV4-ADDRESS', 2). +-endif. +-ifndef('ADDRESS-TYPE_IPV6-ADDRESS'). +-define('ADDRESS-TYPE_IPV6-ADDRESS', 3). +-endif. +-ifndef('ADDRESS-TYPE_NUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_NUMERIC-SHORTCODE', 4). +-endif. +-ifndef('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE', 5). +-endif. +-ifndef('ADDRESS-TYPE_OTHER'). +-define('ADDRESS-TYPE_OTHER', 6). +-endif. +-ifndef('ADDRESS-TYPE_IMSI'). +-define('ADDRESS-TYPE_IMSI', 7). +-endif. +-ifndef('ADDRESSEE-TYPE_TO'). +-define('ADDRESSEE-TYPE_TO', 0). +-endif. +-ifndef('ADDRESSEE-TYPE_CC'). +-define('ADDRESSEE-TYPE_CC', 1). +-endif. +-ifndef('ADDRESSEE-TYPE_BCC'). +-define('ADDRESSEE-TYPE_BCC', 2). +-endif. +-ifndef('AOC-FORMAT_MONETARY'). +-define('AOC-FORMAT_MONETARY', 0). +-endif. +-ifndef('AOC-FORMAT_NON_MONETARY'). +-define('AOC-FORMAT_NON_MONETARY', 1). +-endif. +-ifndef('AOC-FORMAT_CAI'). +-define('AOC-FORMAT_CAI', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED'). +-define('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED', 0). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_FULL'). +-define('AOC-REQUEST-TYPE_AOC_FULL', 1). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_COST_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_COST_ONLY', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY', 3). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING', 0). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_BINDING', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_NONE'). +-define('AOC-SERVICE-TYPE_NONE', 0). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-S'). +-define('AOC-SERVICE-TYPE_AOC-S', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-D'). +-define('AOC-SERVICE-TYPE_AOC-D', 2). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-E'). +-define('AOC-SERVICE-TYPE_AOC-E', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_UNKNOWN'). +-define('CHARGE-REASON-CODE_UNKNOWN', 0). +-endif. +-ifndef('CHARGE-REASON-CODE_USAGE'). +-define('CHARGE-REASON-CODE_USAGE', 1). +-endif. +-ifndef('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE'). +-define('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE', 2). +-endif. +-ifndef('CHARGE-REASON-CODE_SETUP-CHARGE'). +-define('CHARGE-REASON-CODE_SETUP-CHARGE', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_ADD-ON-CHARGE'). +-define('CHARGE-REASON-CODE_ADD-ON-CHARGE', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED', 0). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC', 1). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC', 2). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT', 3). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT', 5). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE', 0). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_PERSONAL'). +-define('CLASS-IDENTIFIER_PERSONAL', 0). +-endif. +-ifndef('CLASS-IDENTIFIER_ADVERTISEMENT'). +-define('CLASS-IDENTIFIER_ADVERTISEMENT', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_INFORMATIONAL'). +-define('CLASS-IDENTIFIER_INFORMATIONAL', 2). +-endif. +-ifndef('CLASS-IDENTIFIER_AUTO'). +-define('CLASS-IDENTIFIER_AUTO', 3). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE', 0). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK', 1). +-endif. +-ifndef('CONTENT-CLASS_TEXT'). +-define('CONTENT-CLASS_TEXT', 0). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-BASIC'). +-define('CONTENT-CLASS_IMAGE-BASIC', 1). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-RICH'). +-define('CONTENT-CLASS_IMAGE-RICH', 2). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-BASIC'). +-define('CONTENT-CLASS_VIDEO-BASIC', 3). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-RICH'). +-define('CONTENT-CLASS_VIDEO-RICH', 4). +-endif. +-ifndef('CONTENT-CLASS_MEGAPIXEL'). +-define('CONTENT-CLASS_MEGAPIXEL', 5). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-BASIC'). +-define('CONTENT-CLASS_CONTENT-BASIC', 6). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-RICH'). +-define('CONTENT-CLASS_CONTENT-RICH', 7). +-endif. +-ifndef('COVERAGE-STATUS_OUT-OF-COVERAGE'). +-define('COVERAGE-STATUS_OUT-OF-COVERAGE', 0). +-endif. +-ifndef('COVERAGE-STATUS_IN-COVERAGE'). +-define('COVERAGE-STATUS_IN-COVERAGE', 1). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY', 0). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY', 1). +-endif. +-ifndef('CSG-ACCESS-MODE_CLOSED-MODE'). +-define('CSG-ACCESS-MODE_CLOSED-MODE', 0). +-endif. +-ifndef('CSG-ACCESS-MODE_HYBRID-MODE'). +-define('CSG-ACCESS-MODE_HYBRID-MODE', 1). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER', 0). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER', 1). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_NO'). +-define('DELIVERY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_YES'). +-define('DELIVERY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('DRM-CONTENT_NO'). +-define('DRM-CONTENT_NO', 0). +-endif. +-ifndef('DRM-CONTENT_YES'). +-define('DRM-CONTENT_YES', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG_DYNAMIC', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES', 0). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME', 2). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS', 3). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS', 4). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_SUPPORTED', 1). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED', 2). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-NOT-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-NOT-PENDING', 0). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-PENDING', 1). +-endif. +-ifndef('INTERFACE-TYPE_UNKNOWN'). +-define('INTERFACE-TYPE_UNKNOWN', 0). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_ORIGINATING'). +-define('INTERFACE-TYPE_MOBILE_ORIGINATING', 1). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_TERMINATING'). +-define('INTERFACE-TYPE_MOBILE_TERMINATING', 2). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_ORIGINATING'). +-define('INTERFACE-TYPE_APPLICATION_ORIGINATING', 3). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_TERMINATION'). +-define('INTERFACE-TYPE_APPLICATION_TERMINATION', 4). +-endif. +-ifndef('INTER-UE-TRANSFER_INTRA-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTRA-UE-TRANSFER', 0). +-endif. +-ifndef('INTER-UE-TRANSFER_INTER-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTER-UE-TRANSFER', 1). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY', 0). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_EMERGENCY', 1). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED', 0). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED', 1). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED', 0). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_EMERGENCY_SERVICES'). +-define('LCS-CLIENT-TYPE_EMERGENCY_SERVICES', 0). +-endif. +-ifndef('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES'). +-define('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES'). +-define('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES', 2). +-endif. +-ifndef('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES'). +-define('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_LOGICAL_NAME'). +-define('LCS-FORMAT-INDICATOR_LOGICAL_NAME', 0). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS'). +-define('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS', 1). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_MSISDN'). +-define('LCS-FORMAT-INDICATOR_MSISDN', 2). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_URL'). +-define('LCS-FORMAT-INDICATOR_URL', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_SIP_URL'). +-define('LCS-FORMAT-INDICATOR_SIP_URL', 4). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED', 0). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION', 0). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION', 2). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION', 3). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION', 4). +-endif. +-ifndef('LOW-BALANCE-INDICATION_NOT-APPLICABLE'). +-define('LOW-BALANCE-INDICATION_NOT-APPLICABLE', 0). +-endif. +-ifndef('LOW-BALANCE-INDICATION_YES'). +-define('LOW-BALANCE-INDICATION_YES', 1). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_NO'). +-define('LOW-PRIORITY-INDICATOR_NO', 0). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_YES'). +-define('LOW-PRIORITY-INDICATOR_YES', 1). +-endif. +-ifndef('MBMS-CHARGED-PARTY_CONTENT-PROVIDER'). +-define('MBMS-CHARGED-PARTY_CONTENT-PROVIDER', 0). +-endif. +-ifndef('MBMS-CHARGED-PARTY_SUBSCRIBER'). +-define('MBMS-CHARGED-PARTY_SUBSCRIBER', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_DOWNLOAD'). +-define('MBMS-USER-SERVICE-TYPE_DOWNLOAD', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_STREAMING'). +-define('MBMS-USER-SERVICE-TYPE_STREAMING', 2). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLED-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLED-PARTY', 0). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLING-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLING-PARTY', 1). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_UNKNOWN'). +-define('MEDIA-INITIATOR-FLAG_UNKNOWN', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-REQ'). +-define('MESSAGE-TYPE_M-SEND-REQ', 1). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-CONF'). +-define('MESSAGE-TYPE_M-SEND-CONF', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFICATION-IND'). +-define('MESSAGE-TYPE_M-NOTIFICATION-IND', 3). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFYRESP-IND'). +-define('MESSAGE-TYPE_M-NOTIFYRESP-IND', 4). +-endif. +-ifndef('MESSAGE-TYPE_M-RETRIEVE-CONF'). +-define('MESSAGE-TYPE_M-RETRIEVE-CONF', 5). +-endif. +-ifndef('MESSAGE-TYPE_M-ACKNOWLEDGE-IND'). +-define('MESSAGE-TYPE_M-ACKNOWLEDGE-IND', 6). +-endif. +-ifndef('MESSAGE-TYPE_M-DELIVERY-IND'). +-define('MESSAGE-TYPE_M-DELIVERY-IND', 7). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-REC-IND'). +-define('MESSAGE-TYPE_M-READ-REC-IND', 8). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-ORIG-IND'). +-define('MESSAGE-TYPE_M-READ-ORIG-IND', 9). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-REQ'). +-define('MESSAGE-TYPE_M-FORWARD-REQ', 10). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-CONF'). +-define('MESSAGE-TYPE_M-FORWARD-CONF', 11). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-STORE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-STORE-CONF', 12). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-VIEW-CONF'). +-define('MESSAGE-TYPE_M-MBOX-VIEW-CONF', 13). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF'). +-define('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF', 14). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-DELETE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-DELETE-CONF', 15). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_NO'). +-define('MMBOX-STORAGE-REQUESTED_NO', 0). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_YES'). +-define('MMBOX-STORAGE-REQUESTED_YES', 1). +-endif. +-ifndef('NNI-TYPE_NON-ROAMING'). +-define('NNI-TYPE_NON-ROAMING', 0). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK', 1). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITH-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITH-LOOPBACK', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-CSCF'). +-define('NODE-FUNCTIONALITY_S-CSCF', 0). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-CSCF'). +-define('NODE-FUNCTIONALITY_P-CSCF', 1). +-endif. +-ifndef('NODE-FUNCTIONALITY_I-CSCF'). +-define('NODE-FUNCTIONALITY_I-CSCF', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_MRFC'). +-define('NODE-FUNCTIONALITY_MRFC', 3). +-endif. +-ifndef('NODE-FUNCTIONALITY_MGCF'). +-define('NODE-FUNCTIONALITY_MGCF', 4). +-endif. +-ifndef('NODE-FUNCTIONALITY_BGCF'). +-define('NODE-FUNCTIONALITY_BGCF', 5). +-endif. +-ifndef('NODE-FUNCTIONALITY_AS'). +-define('NODE-FUNCTIONALITY_AS', 6). +-endif. +-ifndef('NODE-FUNCTIONALITY_IBCF'). +-define('NODE-FUNCTIONALITY_IBCF', 7). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-GW'). +-define('NODE-FUNCTIONALITY_S-GW', 8). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-GW'). +-define('NODE-FUNCTIONALITY_P-GW', 9). +-endif. +-ifndef('NODE-FUNCTIONALITY_HSGW'). +-define('NODE-FUNCTIONALITY_HSGW', 10). +-endif. +-ifndef('NODE-FUNCTIONALITY_E-CSCF'). +-define('NODE-FUNCTIONALITY_E-CSCF', 11). +-endif. +-ifndef('NODE-FUNCTIONALITY_MME'). +-define('NODE-FUNCTIONALITY_MME', 12). +-endif. +-ifndef('NODE-FUNCTIONALITY_TRF'). +-define('NODE-FUNCTIONALITY_TRF', 13). +-endif. +-ifndef('NODE-FUNCTIONALITY_TF'). +-define('NODE-FUNCTIONALITY_TF', 14). +-endif. +-ifndef('NODE-FUNCTIONALITY_ATCF'). +-define('NODE-FUNCTIONALITY_ATCF', 15). +-endif. +-ifndef('NODE-FUNCTIONALITY_PROXY-FUNCTION'). +-define('NODE-FUNCTIONALITY_PROXY-FUNCTION', 16). +-endif. +-ifndef('NODE-FUNCTIONALITY_EPDG'). +-define('NODE-FUNCTIONALITY_EPDG', 17). +-endif. +-ifndef('NODE-FUNCTIONALITY_TDF'). +-define('NODE-FUNCTIONALITY_TDF', 18). +-endif. +-ifndef('NODE-FUNCTIONALITY_TWAG'). +-define('NODE-FUNCTIONALITY_TWAG', 19). +-endif. +-ifndef('NODE-FUNCTIONALITY_SCEF'). +-define('NODE-FUNCTIONALITY_SCEF', 20). +-endif. +-ifndef('NODE-FUNCTIONALITY_IWK-SCEF'). +-define('NODE-FUNCTIONALITY_IWK-SCEF', 21). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED', 0). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED', 1). +-endif. +-ifndef('ORIGINATOR_CALLING-PARTY'). +-define('ORIGINATOR_CALLING-PARTY', 0). +-endif. +-ifndef('ORIGINATOR_CALLED-PARTY'). +-define('ORIGINATOR_CALLED-PARTY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY', 2). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY', 3). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY', 4). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_CREATE_CONF'). +-define('PARTICIPANT-ACTION-TYPE_CREATE_CONF', 0). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_JOIN_CONF'). +-define('PARTICIPANT-ACTION-TYPE_JOIN_CONF', 1). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF'). +-define('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF', 2). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_QUIT_CONF'). +-define('PARTICIPANT-ACTION-TYPE_QUIT_CONF', 3). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_EUTRA'). +-define('PC5-RADIO-TECHNOLOGY_EUTRA', 0). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_WLAN'). +-define('PC5-RADIO-TECHNOLOGY_WLAN', 1). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN'). +-define('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN', 2). +-endif. +-ifndef('PDP-CONTEXT-TYPE_PRIMARY'). +-define('PDP-CONTEXT-TYPE_PRIMARY', 0). +-endif. +-ifndef('PDP-CONTEXT-TYPE_SECONDARY'). +-define('PDP-CONTEXT-TYPE_SECONDARY', 1). +-endif. +-ifndef('PLAY-ALTERNATIVE_SERVED-PARTY'). +-define('PLAY-ALTERNATIVE_SERVED-PARTY', 0). +-endif. +-ifndef('PLAY-ALTERNATIVE_REMOTE-PARTY'). +-define('PLAY-ALTERNATIVE_REMOTE-PARTY', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_SERVICECHANGE'). +-define('POC-CHANGE-CONDITION_SERVICECHANGE', 0). +-endif. +-ifndef('POC-CHANGE-CONDITION_VOLUMELIMIT'). +-define('POC-CHANGE-CONDITION_VOLUMELIMIT', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_TIMELIMIT'). +-define('POC-CHANGE-CONDITION_TIMELIMIT', 2). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT'). +-define('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT', 3). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS'). +-define('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS', 4). +-endif. +-ifndef('POC-CHANGE-CONDITION_TARIFFTIME'). +-define('POC-CHANGE-CONDITION_TARIFFTIME', 5). +-endif. +-ifndef('POC-EVENT-TYPE_NORMAL'). +-define('POC-EVENT-TYPE_NORMAL', 0). +-endif. +-ifndef('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT'). +-define('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT', 1). +-endif. +-ifndef('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT'). +-define('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT', 2). +-endif. +-ifndef('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT'). +-define('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT', 3). +-endif. +-ifndef('POC-EVENT-TYPE_POC-TALK-BURST'). +-define('POC-EVENT-TYPE_POC-TALK-BURST', 4). +-endif. +-ifndef('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER'). +-define('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER', 0). +-endif. +-ifndef('POC-SERVER-ROLE_CONTROLLING-POC-SERVER'). +-define('POC-SERVER-ROLE_CONTROLLING-POC-SERVER', 1). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-FUNCTION', 2). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION', 3). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED'). +-define('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED', 0). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_ON-DEMAND'). +-define('POC-SESSION-INITIATION-TYPE_ON-DEMAND', 1). +-endif. +-ifndef('POC-SESSION-TYPE_1-TO-1-POC-SESSION'). +-define('POC-SESSION-TYPE_1-TO-1-POC-SESSION', 0). +-endif. +-ifndef('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION', 1). +-endif. +-ifndef('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION', 2). +-endif. +-ifndef('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_MODERATOR'). +-define('POC-USER-ROLE-INFO-UNITS_MODERATOR', 1). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_DISPATCHER'). +-define('POC-USER-ROLE-INFO-UNITS_DISPATCHER', 2). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT', 4). +-endif. +-ifndef('PRIORITY_LOW'). +-define('PRIORITY_LOW', 0). +-endif. +-ifndef('PRIORITY_NORMAL'). +-define('PRIORITY_NORMAL', 1). +-endif. +-ifndef('PRIORITY_HIGH'). +-define('PRIORITY_HIGH', 2). +-endif. +-ifndef('PRIVACY-INDICATOR_NOT_PRIVATE'). +-define('PRIVACY-INDICATOR_NOT_PRIVATE', 0). +-endif. +-ifndef('PRIVACY-INDICATOR_PRIVATE'). +-define('PRIVACY-INDICATOR_PRIVATE', 1). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A', 0). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_ANNOUCING'). +-define('PROSE-EVENT-TYPE_ANNOUCING', 0). +-endif. +-ifndef('PROSE-EVENT-TYPE_MONITORING'). +-define('PROSE-EVENT-TYPE_MONITORING', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_MATCH-REPORT'). +-define('PROSE-EVENT-TYPE_MATCH-REPORT', 2). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY', 0). +-endif. +-ifndef('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY', 1). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION'). +-define('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_RESERVED'). +-define('PROSE-RANGE-CLASS_RESERVED', 0). +-endif. +-ifndef('PROSE-RANGE-CLASS_50M'). +-define('PROSE-RANGE-CLASS_50M', 1). +-endif. +-ifndef('PROSE-RANGE-CLASS_100M'). +-define('PROSE-RANGE-CLASS_100M', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_200M'). +-define('PROSE-RANGE-CLASS_200M', 3). +-endif. +-ifndef('PROSE-RANGE-CLASS_500M'). +-define('PROSE-RANGE-CLASS_500M', 4). +-endif. +-ifndef('PROSE-RANGE-CLASS_1000M'). +-define('PROSE-RANGE-CLASS_1000M', 5). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT'). +-define('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT', 0). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL'). +-define('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL', 1). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION'). +-define('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_ANNOUNCING-UE'). +-define('PROSE-ROLE-OF-UE_ANNOUNCING-UE', 0). +-endif. +-ifndef('PROSE-ROLE-OF-UE_MONITORING-UE'). +-define('PROSE-ROLE-OF-UE_MONITORING-UE', 1). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTOR-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTOR-UE', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTED-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTED-UE', 3). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_ALERT'). +-define('PROXIMITY-ALERT-INDICATION_ALERT', 0). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_NO-ALERT'). +-define('PROXIMITY-ALERT-INDICATION_NO-ALERT', 1). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_APPEND'). +-define('PS-APPEND-FREE-FORMAT-DATA_APPEND', 0). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE'). +-define('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE', 1). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK', 0). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK', 1). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_NO'). +-define('READ-REPLY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_YES'). +-define('READ-REPLY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('RELATIONSHIP-MODE_TRUSTED'). +-define('RELATIONSHIP-MODE_TRUSTED', 0). +-endif. +-ifndef('RELATIONSHIP-MODE_NON-TRUSTED'). +-define('RELATIONSHIP-MODE_NON-TRUSTED', 1). +-endif. +-ifndef('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET', 0). +-endif. +-ifndef('REPLY-PATH-REQUESTED_REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_REPLY-PATH-SET', 1). +-endif. +-ifndef('REPORTING-REASON_THRESHOLD'). +-define('REPORTING-REASON_THRESHOLD', 0). +-endif. +-ifndef('REPORTING-REASON_QHT'). +-define('REPORTING-REASON_QHT', 1). +-endif. +-ifndef('REPORTING-REASON_FINAL'). +-define('REPORTING-REASON_FINAL', 2). +-endif. +-ifndef('REPORTING-REASON_QUOTA_EXHAUSTED'). +-define('REPORTING-REASON_QUOTA_EXHAUSTED', 3). +-endif. +-ifndef('REPORTING-REASON_VALIDITY_TIME'). +-define('REPORTING-REASON_VALIDITY_TIME', 4). +-endif. +-ifndef('REPORTING-REASON_OTHER_QUOTA_TYPE'). +-define('REPORTING-REASON_OTHER_QUOTA_TYPE', 5). +-endif. +-ifndef('REPORTING-REASON_RATING_CONDITION_CHANGE'). +-define('REPORTING-REASON_RATING_CONDITION_CHANGE', 6). +-endif. +-ifndef('REPORTING-REASON_FORCED_REAUTHORISATION'). +-define('REPORTING-REASON_FORCED_REAUTHORISATION', 7). +-endif. +-ifndef('REPORTING-REASON_POOL_EXHAUSTED'). +-define('REPORTING-REASON_POOL_EXHAUSTED', 8). +-endif. +-ifndef('REPORTING-REASON_UNUSED_QUOTA_TIMER'). +-define('REPORTING-REASON_UNUSED_QUOTA_TIMER', 9). +-endif. +-ifndef('ROLE-OF-NODE_ORIGINATING_ROLE'). +-define('ROLE-OF-NODE_ORIGINATING_ROLE', 0). +-endif. +-ifndef('ROLE-OF-NODE_TERMINATING_ROLE'). +-define('ROLE-OF-NODE_TERMINATING_ROLE', 1). +-endif. +-ifndef('ROLE-OF-NODE_FORWARDING_ROLE'). +-define('ROLE-OF-NODE_FORWARDING_ROLE', 2). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_HPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_HPLMN', 0). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_VPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_VPLMN', 1). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN'). +-define('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN', 2). +-endif. +-ifndef('SDP-TYPE_SDP-OFFER'). +-define('SDP-TYPE_SDP-OFFER', 0). +-endif. +-ifndef('SDP-TYPE_SDP-ANSWER'). +-define('SDP-TYPE_SDP-ANSWER', 1). +-endif. +-ifndef('SESSION-DIRECTION_INBOUND'). +-define('SESSION-DIRECTION_INBOUND', 0). +-endif. +-ifndef('SESSION-DIRECTION_OUTBOUND'). +-define('SESSION-DIRECTION_OUTBOUND', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_SGSN'). +-define('SERVING-NODE-TYPE_SGSN', 0). +-endif. +-ifndef('SERVING-NODE-TYPE_PMIPSGW'). +-define('SERVING-NODE-TYPE_PMIPSGW', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_GTPSGW'). +-define('SERVING-NODE-TYPE_GTPSGW', 2). +-endif. +-ifndef('SERVING-NODE-TYPE_EPDG'). +-define('SERVING-NODE-TYPE_EPDG', 3). +-endif. +-ifndef('SERVING-NODE-TYPE_HSGW'). +-define('SERVING-NODE-TYPE_HSGW', 4). +-endif. +-ifndef('SERVING-NODE-TYPE_MME'). +-define('SERVING-NODE-TYPE_MME', 5). +-endif. +-ifndef('SERVING-NODE-TYPE_TWAN'). +-define('SERVING-NODE-TYPE_TWAN', 6). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED'). +-define('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED', 0). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_OTHERS'). +-define('SGI-PTP-TUNNELLING-METHOD_OTHERS', 1). +-endif. +-ifndef('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE', 0). +-endif. +-ifndef('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER'). +-define('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER', 0). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE', 2). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SUBMISSION'). +-define('SM-MESSAGE-TYPE_SUBMISSION', 0). +-endif. +-ifndef('SM-MESSAGE-TYPE_DELIVERY_REPORT'). +-define('SM-MESSAGE-TYPE_DELIVERY_REPORT', 1). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST'). +-define('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST', 2). +-endif. +-ifndef('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER', 4). +-endif. +-ifndef('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION'). +-define('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION', 5). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER'). +-define('SMS-NODE_SMS-ROUTER', 0). +-endif. +-ifndef('SMS-NODE_IP-SM-GW'). +-define('SMS-NODE_IP-SM-GW', 1). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW'). +-define('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW', 2). +-endif. +-ifndef('SMS-NODE_SMS-SC'). +-define('SMS-NODE_SMS-SC', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING', 0). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING', 1). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS', 2). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT', 4). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE', 5). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS', 6). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK', 7). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY', 8). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE', 9). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY', 10). +-endif. +-ifndef('STATUS-AS-CODE_4XX'). +-define('STATUS-AS-CODE_4XX', 0). +-endif. +-ifndef('STATUS-AS-CODE_5XX'). +-define('STATUS-AS-CODE_5XX', 1). +-endif. +-ifndef('STATUS-AS-CODE_TIMEOUT'). +-define('STATUS-AS-CODE_TIMEOUT', 2). +-endif. +-ifndef('SUBSCRIBER-ROLE_ORIGINATING'). +-define('SUBSCRIBER-ROLE_ORIGINATING', 0). +-endif. +-ifndef('SUBSCRIBER-ROLE_TERMINATING'). +-define('SUBSCRIBER-ROLE_TERMINATING', 1). +-endif. +-ifndef('TAD-IDENTIFIER_CS'). +-define('TAD-IDENTIFIER_CS', 0). +-endif. +-ifndef('TAD-IDENTIFIER_PS'). +-define('TAD-IDENTIFIER_PS', 1). +-endif. +-ifndef('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD', 0). +-endif. +-ifndef('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD', 1). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED', 0). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS'). +-define('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_QOS'). +-define('TRIGGER-TYPE_CHANGE_IN_QOS', 2). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_LOCATION'). +-define('TRIGGER-TYPE_CHANGE_IN_LOCATION', 3). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_RAT'). +-define('TRIGGER-TYPE_CHANGE_IN_RAT', 4). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE'). +-define('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE', 5). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS', 10). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS', 11). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS', 12). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT', 13). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS', 14). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT', 15). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK', 16). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK', 17). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER'). +-define('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER', 18). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO'). +-define('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO', 19). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY', 20). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY', 21). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK', 22). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK', 23). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE'). +-define('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE', 24). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MCC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MCC', 30). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MNC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MNC', 31). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_RAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_RAC', 32). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_LAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_LAC', 33). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_CELLID'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_CELLID', 34). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_TAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_TAC', 35). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_ECGI'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_ECGI', 36). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION'). +-define('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION', 40). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB', 50). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB', 51). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE', 52). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION', 60). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE', 61). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW'). +-define('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW', 62). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION', 70). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION', 71). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION', 72). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA'). +-define('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA', 73). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL'). +-define('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL', 75). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF'). +-define('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF', 76). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP', 0). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NORMAL'). +-define('USER-PARTICIPATING-TYPE_NORMAL', 0). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NW-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_NW-POC-BOX', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_UE-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_UE-POC-BOX', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_INTEGER'). +-define('VARIABLE-PART-TYPE_INTEGER', 0). +-endif. +-ifndef('VARIABLE-PART-TYPE_NUMBER'). +-define('VARIABLE-PART-TYPE_NUMBER', 1). +-endif. +-ifndef('VARIABLE-PART-TYPE_TIME'). +-define('VARIABLE-PART-TYPE_TIME', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_DATE'). +-define('VARIABLE-PART-TYPE_DATE', 3). +-endif. +-ifndef('VARIABLE-PART-TYPE_CURRENCY'). +-define('VARIABLE-PART-TYPE_CURRENCY', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-ifndef('CC-REQUEST-TYPE_INITIAL_REQUEST'). +-define('CC-REQUEST-TYPE_INITIAL_REQUEST', 1). +-endif. +-ifndef('CC-REQUEST-TYPE_UPDATE_REQUEST'). +-define('CC-REQUEST-TYPE_UPDATE_REQUEST', 2). +-endif. +-ifndef('CC-REQUEST-TYPE_TERMINATION_REQUEST'). +-define('CC-REQUEST-TYPE_TERMINATION_REQUEST', 3). +-endif. +-ifndef('CC-REQUEST-TYPE_EVENT_REQUEST'). +-define('CC-REQUEST-TYPE_EVENT_REQUEST', 4). +-endif. +-ifndef('CC-SESSION-FAILOVER_NOT_SUPPORTED'). +-define('CC-SESSION-FAILOVER_NOT_SUPPORTED', 0). +-endif. +-ifndef('CC-SESSION-FAILOVER_SUPPORTED'). +-define('CC-SESSION-FAILOVER_SUPPORTED', 1). +-endif. +-ifndef('CHECK-BALANCE-RESULT_ENOUGH_CREDIT'). +-define('CHECK-BALANCE-RESULT_ENOUGH_CREDIT', 0). +-endif. +-ifndef('CHECK-BALANCE-RESULT_NO_CREDIT'). +-define('CHECK-BALANCE-RESULT_NO_CREDIT', 1). +-endif. +-ifndef('CREDIT-CONTROL_AUTHORIZATION'). +-define('CREDIT-CONTROL_AUTHORIZATION', 0). +-endif. +-ifndef('CREDIT-CONTROL_RE_AUTHORIZATION'). +-define('CREDIT-CONTROL_RE_AUTHORIZATION', 1). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE', 0). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE', 2). +-endif. +-ifndef('DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER'). +-define('DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER', 0). +-endif. +-ifndef('DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE'). +-define('DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE'). +-define('TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE', 0). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE'). +-define('TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE', 1). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE'). +-define('TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE', 2). +-endif. +-ifndef('CC-UNIT-TYPE_TIME'). +-define('CC-UNIT-TYPE_TIME', 0). +-endif. +-ifndef('CC-UNIT-TYPE_MONEY'). +-define('CC-UNIT-TYPE_MONEY', 1). +-endif. +-ifndef('CC-UNIT-TYPE_TOTAL-OCTETS'). +-define('CC-UNIT-TYPE_TOTAL-OCTETS', 2). +-endif. +-ifndef('CC-UNIT-TYPE_INPUT-OCTETS'). +-define('CC-UNIT-TYPE_INPUT-OCTETS', 3). +-endif. +-ifndef('CC-UNIT-TYPE_OUTPUT-OCTETS'). +-define('CC-UNIT-TYPE_OUTPUT-OCTETS', 4). +-endif. +-ifndef('CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS'). +-define('CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS', 5). +-endif. +-ifndef('FINAL-UNIT-ACTION_TERMINATE'). +-define('FINAL-UNIT-ACTION_TERMINATE', 0). +-endif. +-ifndef('FINAL-UNIT-ACTION_REDIRECT'). +-define('FINAL-UNIT-ACTION_REDIRECT', 1). +-endif. +-ifndef('FINAL-UNIT-ACTION_RESTRICT_ACCESS'). +-define('FINAL-UNIT-ACTION_RESTRICT_ACCESS', 2). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_IPV4'). +-define('REDIRECT-ADDRESS-TYPE_IPV4', 0). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_IPV6'). +-define('REDIRECT-ADDRESS-TYPE_IPV6', 1). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_URL'). +-define('REDIRECT-ADDRESS-TYPE_URL', 2). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_SIP_URI'). +-define('REDIRECT-ADDRESS-TYPE_SIP_URI', 3). +-endif. +-ifndef('MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED'). +-define('MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED', 0). +-endif. +-ifndef('MULTIPLE-SERVICES-INDICATOR_SUPPORTED'). +-define('MULTIPLE-SERVICES-INDICATOR_SUPPORTED', 1). +-endif. +-ifndef('REQUESTED-ACTION_DIRECT_DEBITING'). +-define('REQUESTED-ACTION_DIRECT_DEBITING', 0). +-endif. +-ifndef('REQUESTED-ACTION_REFUND_ACCOUNT'). +-define('REQUESTED-ACTION_REFUND_ACCOUNT', 1). +-endif. +-ifndef('REQUESTED-ACTION_CHECK_BALANCE'). +-define('REQUESTED-ACTION_CHECK_BALANCE', 2). +-endif. +-ifndef('REQUESTED-ACTION_PRICE_ENQUIRY'). +-define('REQUESTED-ACTION_PRICE_ENQUIRY', 3). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_E164'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_E164', 0). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_IMSI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_IMSI', 1). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI', 2). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_NAI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_NAI', 3). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE', 4). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_IMEISV'). +-define('USER-EQUIPMENT-INFO-TYPE_IMEISV', 0). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_MAC'). +-define('USER-EQUIPMENT-INFO-TYPE_MAC', 1). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_EUI64'). +-define('USER-EQUIPMENT-INFO-TYPE_EUI64', 2). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64'). +-define('USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc7683: +%%% ------------------------------------------------------- + +-ifndef('OC-REPORT-TYPE_HOST_REPORT'). +-define('OC-REPORT-TYPE_HOST_REPORT', 0). +-endif. +-ifndef('OC-REPORT-TYPE_REALM_REPORT'). +-define('OC-REPORT-TYPE_REALM_REPORT', 1). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc7944: +%%% ------------------------------------------------------- + +-ifndef('DRMP_PRIORITY_15'). +-define('DRMP_PRIORITY_15', 15). +-endif. +-ifndef('DRMP_PRIORITY_14'). +-define('DRMP_PRIORITY_14', 14). +-endif. +-ifndef('DRMP_PRIORITY_13'). +-define('DRMP_PRIORITY_13', 13). +-endif. +-ifndef('DRMP_PRIORITY_12'). +-define('DRMP_PRIORITY_12', 12). +-endif. +-ifndef('DRMP_PRIORITY_11'). +-define('DRMP_PRIORITY_11', 11). +-endif. +-ifndef('DRMP_PRIORITY_10'). +-define('DRMP_PRIORITY_10', 10). +-endif. +-ifndef('DRMP_PRIORITY_9'). +-define('DRMP_PRIORITY_9', 9). +-endif. +-ifndef('DRMP_PRIORITY_8'). +-define('DRMP_PRIORITY_8', 8). +-endif. +-ifndef('DRMP_PRIORITY_7'). +-define('DRMP_PRIORITY_7', 7). +-endif. +-ifndef('DRMP_PRIORITY_6'). +-define('DRMP_PRIORITY_6', 6). +-endif. +-ifndef('DRMP_PRIORITY_5'). +-define('DRMP_PRIORITY_5', 5). +-endif. +-ifndef('DRMP_PRIORITY_4'). +-define('DRMP_PRIORITY_4', 4). +-endif. +-ifndef('DRMP_PRIORITY_3'). +-define('DRMP_PRIORITY_3', 3). +-endif. +-ifndef('DRMP_PRIORITY_2'). +-define('DRMP_PRIORITY_2', 2). +-endif. +-ifndef('DRMP_PRIORITY_1'). +-define('DRMP_PRIORITY_1', 1). +-endif. +-ifndef('DRMP_PRIORITY_0'). +-define('DRMP_PRIORITY_0', 0). +-endif. + diff --git a/include/diameter_3gpp_ts29_273_s6b.hrl b/include/diameter_3gpp_ts29_273_s6b.hrl new file mode 100644 index 0000000..af8777a --- /dev/null +++ b/include/diameter_3gpp_ts29_273_s6b.hrl @@ -0,0 +1,4150 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_273_s6b.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('AAR', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Request-Type', + 'User-Name' = [], + 'MIP6-Agent-Info' = [], + 'MIP6-Feature-Vector' = [], + 'Visited-Network-Identifier' = [], + 'QoS-Capability' = [], + 'Service-Selection' = [], + 'OC-Supported-Features' = [], + 'Origination-Time-Stamp' = [], + 'Maximum-Wait-Time' = [], + 'Supported-Features' = [], + 'Emergency-Services' = [], + 'AVP' = []}). + +-record('AAA', + {'Session-Id', + 'Auth-Application-Id', + 'Auth-Request-Type', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'MIP6-Feature-Vector' = [], + 'Session-Timeout' = [], + 'APN-Configuration' = [], + 'QoS-Resources' = [], + 'AN-Trusted' = [], + 'Redirect-Host' = [], + 'Trace-Info' = [], + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'AVP' = []}). + +-record('STR', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Termination-Cause', + 'User-Name' = [], + 'OC-Supported-Features' = [], + 'AVP' = []}). + +-record('STA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'AVP' = []}). + +-record('ASR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'User-Name' = [], + 'Auth-Session-State' = [], + 'AVP' = []}). + +-record('ASA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'AVP' = []}). + +-record('RAR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'Re-Auth-Request-Type', + 'User-Name' = [], + 'RAR-Flags' = [], + 'AVP' = []}). + +-record('RAA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_break_circles: +%%% ------------------------------------------------------- + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_214: +%%% ------------------------------------------------------- + +-record('Flows', + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_272: +%%% ------------------------------------------------------- + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_273: +%%% ------------------------------------------------------- + +-record('WLAN-Identifier', + {'SSID' = [], 'HESSID' = [], 'AVP' = []}). + +-record('Access-Network-Info', + {'SSID' = [], + 'BSSID' = [], + 'Location-Information' = [], + 'Location-Data' = [], + 'Operator-Name' = [], + 'Logical-Access-ID' = [], + 'AVP' = []}). + +-record('TWAN-Connectivity-Parameters', + {'Connectivity-Flags' = [], + 'Service-Selection' = [], + 'PDN-Type' = [], + 'Served-Party-IP-Address' = [], + 'TWAN-PCO' = [], + 'TWAG-UP-Address' = [], + 'TWAN-S2a-Failure-Cause' = [], + 'SM-Back-Off-Timer' = [], + 'AVP' = []}). + +-record('Non-3GPP-User-Data', + {'Subscription-Id' = [], + 'Non-3GPP-IP-Access' = [], + 'Non-3GPP-IP-Access-APN' = [], + 'RAT-Type' = [], + 'Session-Timeout' = [], + 'MIP6-Feature-Vector' = [], + 'AMBR' = [], + '3GPP-Charging-Characteristics' = [], + 'Context-Identifier' = [], + 'APN-OI-Replacement' = [], + 'APN-Configuration' = [], + 'Trace-Info' = [], + 'TWAN-Default-APN-Context-Id' = [], + 'TWAN-Access-Info' = [], + 'UE-Usage-Type' = [], + 'Emergency-Info' = [], + 'ERP-Authorization' = [], + 'Core-Network-Restrictions' = [], + 'AVP' = []}). + +-record('Trace-Info', + {'Trace-Data' = [], + 'Trace-Reference' = [], + 'AVP' = []}). + +-record('TWAN-Access-Info', + {'Access-Authorization-Flags' = [], + 'WLAN-Identifier' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4004: +%%% ------------------------------------------------------- + +-record('MIP-MN-AAA-Auth', + {'MIP-MN-AAA-SPI', + 'MIP-Auth-Input-Data-Length', + 'MIP-Authenticator-Length', + 'MIP-Authenticator-Offset', + 'AVP' = []}). + +-record('MIP-MN-to-FA-MSA', + {'MIP-Algorithm-Type', 'MIP-Nonce', 'AVP' = []}). + +-record('MIP-FA-to-MN-MSA', + {'MIP-FA-to-MN-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-MN-to-HA-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Nonce', + 'AVP' = []}). + +-record('MIP-HA-to-MN-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-FA-to-HA-MSA', + {'MIP-FA-to-HA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-HA-to-FA-MSA', + {'MIP-HA-to-FA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-Originating-Foreign-AAA', + {'Origin-Realm', 'Origin-Host', 'AVP' = []}). + +-record('MIP-Home-Agent-Host', + {'Destination-Realm', 'Destination-Host', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc5447: +%%% ------------------------------------------------------- + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc5777: +%%% ------------------------------------------------------- + +-record('QoS-Resources', + {'Filter-Rule' = [], 'AVP' = []}). + +-record('Filter-Rule', + {'Filter-Rule-Precedence' = [], + 'Classifier' = [], + 'Time-Of-Day-Condition' = [], + 'Treatment-Action' = [], + 'QoS-Semantics' = [], + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'Excess-Treatment' = [], + 'AVP' = []}). + +-record('Classifier', + {'Classifier-ID', + 'Protocol' = [], + 'Direction' = [], + 'From-Spec' = [], + 'To-Spec' = [], + 'Diffserv-Code-Point' = [], + 'Fragmentation-Flag' = [], + 'IP-Option' = [], + 'TCP-Option' = [], + 'TCP-Flags' = [], + 'ICMP-Type' = [], + 'ETH-Option' = [], + 'AVP' = []}). + +-record('From-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('To-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('IP-Address-Range', + {'IP-Address-Start' = [], + 'IP-Address-End' = [], + 'AVP' = []}). + +-record('IP-Address-Mask', + {'IP-Address', 'IP-Mask-Bit-Mask-Width', 'AVP' = []}). + +-record('MAC-Address-Mask', + {'MAC-Address', + 'MAC-Address-Mask-Pattern', + 'AVP' = []}). + +-record('EUI64-Address-Mask', + {'EUI64-Address', + 'EUI64-Address-Mask-Pattern', + 'AVP' = []}). + +-record('Port-Range', + {'Port-Start' = [], 'Port-End' = [], 'AVP' = []}). + +-record('IP-Option', + {'IP-Option-Type', + 'IP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Option', + {'TCP-Option-Type', + 'TCP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Flags', + {'TCP-Flag-Type', 'Negated' = [], 'AVP' = []}). + +-record('ICMP-Type', + {'ICMP-Type-Number', + 'ICMP-Code' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('ETH-Option', + {'ETH-Proto-Type', + 'VLAN-ID-Range' = [], + 'User-Priority-Range' = [], + 'AVP' = []}). + +-record('ETH-Proto-Type', + {'ETH-Ether-Type' = [], 'ETH-SAP' = [], 'AVP' = []}). + +-record('VLAN-ID-Range', + {'S-VID-Start' = [], + 'S-VID-End' = [], + 'C-VID-Start' = [], + 'C-VID-End' = [], + 'AVP' = []}). + +-record('User-Priority-Range', + {'Low-User-Priority' = [], + 'High-User-Priority' = [], + 'AVP' = []}). + +-record('Time-Of-Day-Condition', + {'Time-Of-Day-Start' = [], + 'Time-Of-Day-End' = [], + 'Day-Of-Week-Mask' = [], + 'Day-Of-Month-Mask' = [], + 'Month-Of-Year-Mask' = [], + 'Absolute-Start-Time' = [], + 'Absolute-End-Time' = [], + 'Timezone-Flag' = [], + 'AVP' = []}). + +-record('QoS-Profile-Template', + {'Vendor-Id', 'QoS-Profile-Id', 'AVP' = []}). + +-record('QoS-Parameters', {'AVP' = []}). + +-record('Excess-Treatment', + {'Treatment-Action', + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'AVP' = []}). + +-record('QoS-Capability', + {'QoS-Profile-Template' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc7683: +%%% ------------------------------------------------------- + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc8583: +%%% ------------------------------------------------------- + +-record('Load', + {'Load-Type' = [], + 'Load-Value' = [], + 'SourceID' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PDP-TYPE_IPV4'). +-define('3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('3GPP-PDP-TYPE_PPP'). +-define('3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV6'). +-define('3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV4V6'). +-define('3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('3GPP-PDP-TYPE_NON-IP'). +-define('3GPP-PDP-TYPE_NON-IP', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-ifndef('AN-GW-STATUS_AN_GW_FAILED'). +-define('AN-GW-STATUS_AN_GW_FAILED', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_ONLY'). +-define('BEARER-CONTROL-MODE_UE_ONLY', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_RESERVED'). +-define('BEARER-CONTROL-MODE_RESERVED', 1). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_NW'). +-define('BEARER-CONTROL-MODE_UE_NW', 2). +-endif. +-ifndef('BEARER-OPERATION_TERMINATION'). +-define('BEARER-OPERATION_TERMINATION', 0). +-endif. +-ifndef('BEARER-OPERATION_ESTABLISHMENT'). +-define('BEARER-OPERATION_ESTABLISHMENT', 1). +-endif. +-ifndef('BEARER-OPERATION_MODIFICATION'). +-define('BEARER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('BEARER-USAGE_GENERAL'). +-define('BEARER-USAGE_GENERAL', 0). +-endif. +-ifndef('BEARER-USAGE_IMS_SIGNALLING'). +-define('BEARER-USAGE_IMS_SIGNALLING', 1). +-endif. +-ifndef('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED'). +-define('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL', 1). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL', 2). +-endif. +-ifndef('EVENT-TRIGGER_SGSN_CHANGE'). +-define('EVENT-TRIGGER_SGSN_CHANGE', 0). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE'). +-define('EVENT-TRIGGER_QOS_CHANGE', 1). +-endif. +-ifndef('EVENT-TRIGGER_RAT_CHANGE'). +-define('EVENT-TRIGGER_RAT_CHANGE', 2). +-endif. +-ifndef('EVENT-TRIGGER_TFT_CHANGE'). +-define('EVENT-TRIGGER_TFT_CHANGE', 3). +-endif. +-ifndef('EVENT-TRIGGER_PLMN_CHANGE'). +-define('EVENT-TRIGGER_PLMN_CHANGE', 4). +-endif. +-ifndef('EVENT-TRIGGER_LOSS_OF_BEARER'). +-define('EVENT-TRIGGER_LOSS_OF_BEARER', 5). +-endif. +-ifndef('EVENT-TRIGGER_RECOVERY_OF_BEARER'). +-define('EVENT-TRIGGER_RECOVERY_OF_BEARER', 6). +-endif. +-ifndef('EVENT-TRIGGER_IP-CAN_CHANGE'). +-define('EVENT-TRIGGER_IP-CAN_CHANGE', 7). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION'). +-define('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION', 11). +-endif. +-ifndef('EVENT-TRIGGER_RAI_CHANGE'). +-define('EVENT-TRIGGER_RAI_CHANGE', 12). +-endif. +-ifndef('EVENT-TRIGGER_USER_LOCATION_CHANGE'). +-define('EVENT-TRIGGER_USER_LOCATION_CHANGE', 13). +-endif. +-ifndef('EVENT-TRIGGER_NO_EVENT_TRIGGERS'). +-define('EVENT-TRIGGER_NO_EVENT_TRIGGERS', 14). +-endif. +-ifndef('EVENT-TRIGGER_OUT_OF_CREDIT'). +-define('EVENT-TRIGGER_OUT_OF_CREDIT', 15). +-endif. +-ifndef('EVENT-TRIGGER_REALLOCATION_OF_CREDIT'). +-define('EVENT-TRIGGER_REALLOCATION_OF_CREDIT', 16). +-endif. +-ifndef('EVENT-TRIGGER_REVALIDATION_TIMEOUT'). +-define('EVENT-TRIGGER_REVALIDATION_TIMEOUT', 17). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE', 18). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE', 19). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE', 20). +-endif. +-ifndef('EVENT-TRIGGER_AN_GW_CHANGE'). +-define('EVENT-TRIGGER_AN_GW_CHANGE', 21). +-endif. +-ifndef('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION'). +-define('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION', 22). +-endif. +-ifndef('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST'). +-define('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST', 23). +-endif. +-ifndef('EVENT-TRIGGER_PGW_TRACE_CONTROL'). +-define('EVENT-TRIGGER_PGW_TRACE_CONTROL', 24). +-endif. +-ifndef('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE'). +-define('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE', 25). +-endif. +-ifndef('EVENT-TRIGGER_TAI_CHANGE'). +-define('EVENT-TRIGGER_TAI_CHANGE', 26). +-endif. +-ifndef('EVENT-TRIGGER_ECGI_CHANGE'). +-define('EVENT-TRIGGER_ECGI_CHANGE', 27). +-endif. +-ifndef('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE'). +-define('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE', 28). +-endif. +-ifndef('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE', 29). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE', 30). +-endif. +-ifndef('EVENT-TRIGGER_USAGE_REPORT'). +-define('EVENT-TRIGGER_USAGE_REPORT', 33). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE', 34). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE', 35). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE', 36). +-endif. +-ifndef('EVENT-TRIGGER_ROUTING_RULE_CHANGE'). +-define('EVENT-TRIGGER_ROUTING_RULE_CHANGE', 37). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_START'). +-define('EVENT-TRIGGER_APPLICATION_START', 39). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_STOP'). +-define('EVENT-TRIGGER_APPLICATION_STOP', 40). +-endif. +-ifndef('EVENT-TRIGGER_CS_TO_PS_HANDOVER'). +-define('EVENT-TRIGGER_CS_TO_PS_HANDOVER', 42). +-endif. +-ifndef('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE', 43). +-endif. +-ifndef('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE', 44). +-endif. +-ifndef('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT'). +-define('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT', 45). +-endif. +-ifndef('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE'). +-define('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE', 46). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_QOS_CHANGE', 47). +-endif. +-ifndef('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT'). +-define('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT', 48). +-endif. +-ifndef('FLOW-DIRECTION_UNSPECIFIED'). +-define('FLOW-DIRECTION_UNSPECIFIED', 0). +-endif. +-ifndef('FLOW-DIRECTION_DOWNLINK'). +-define('FLOW-DIRECTION_DOWNLINK', 1). +-endif. +-ifndef('FLOW-DIRECTION_UPLINK'). +-define('FLOW-DIRECTION_UPLINK', 2). +-endif. +-ifndef('FLOW-DIRECTION_BIDIRECTIONAL'). +-define('FLOW-DIRECTION_BIDIRECTIONAL', 3). +-endif. +-ifndef('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE'). +-define('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE', 0). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-GPRS'). +-define('IP-CAN-TYPE_3GPP-GPRS', 0). +-endif. +-ifndef('IP-CAN-TYPE_DOCSIS'). +-define('IP-CAN-TYPE_DOCSIS', 1). +-endif. +-ifndef('IP-CAN-TYPE_XDSL'). +-define('IP-CAN-TYPE_XDSL', 2). +-endif. +-ifndef('IP-CAN-TYPE_WIMAX'). +-define('IP-CAN-TYPE_WIMAX', 3). +-endif. +-ifndef('IP-CAN-TYPE_3GPP2'). +-define('IP-CAN-TYPE_3GPP2', 4). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-EPS'). +-define('IP-CAN-TYPE_3GPP-EPS', 5). +-endif. +-ifndef('IP-CAN-TYPE_NON-3GPP-EPS'). +-define('IP-CAN-TYPE_NON-3GPP-EPS', 6). +-endif. +-ifndef('IP-CAN-TYPE_FBA'). +-define('IP-CAN-TYPE_FBA', 7). +-endif. +-ifndef('METERING-METHOD_DURATION'). +-define('METERING-METHOD_DURATION', 0). +-endif. +-ifndef('METERING-METHOD_VOLUME'). +-define('METERING-METHOD_VOLUME', 1). +-endif. +-ifndef('METERING-METHOD_DURATION_VOLUME'). +-define('METERING-METHOD_DURATION_VOLUME', 2). +-endif. +-ifndef('METERING-METHOD_EVENT'). +-define('METERING-METHOD_EVENT', 3). +-endif. +-ifndef('MUTE-NOTIFICATION_MUTE_REQUIRED'). +-define('MUTE-NOTIFICATION_MUTE_REQUIRED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED', 1). +-endif. +-ifndef('OFFLINE_DISABLE_OFFLINE'). +-define('OFFLINE_DISABLE_OFFLINE', 0). +-endif. +-ifndef('OFFLINE_ENABLE_OFFLINE'). +-define('OFFLINE_ENABLE_OFFLINE', 1). +-endif. +-ifndef('ONLINE_DISABLE_ONLINE'). +-define('ONLINE_DISABLE_ONLINE', 0). +-endif. +-ifndef('ONLINE_ENABLE_ONLINE'). +-define('ONLINE_ENABLE_ONLINE', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_DELETION'). +-define('PACKET-FILTER-OPERATION_DELETION', 0). +-endif. +-ifndef('PACKET-FILTER-OPERATION_ADDITION'). +-define('PACKET-FILTER-OPERATION_ADDITION', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_MODIFICATION'). +-define('PACKET-FILTER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('PACKET-FILTER-USAGE_SEND_TO_UE'). +-define('PACKET-FILTER-USAGE_SEND_TO_UE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_ACTIVE'). +-define('PCC-RULE-STATUS_ACTIVE', 0). +-endif. +-ifndef('PCC-RULE-STATUS_INACTIVE'). +-define('PCC-RULE-STATUS_INACTIVE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_TEMPORARILY_INACTIVE'). +-define('PCC-RULE-STATUS_TEMPORARILY_INACTIVE', 2). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED', 1). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED', 1). +-endif. +-ifndef('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE'). +-define('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE', 0). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_1'). +-define('QOS-CLASS-IDENTIFIER_QCI_1', 1). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_2'). +-define('QOS-CLASS-IDENTIFIER_QCI_2', 2). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_3'). +-define('QOS-CLASS-IDENTIFIER_QCI_3', 3). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_4'). +-define('QOS-CLASS-IDENTIFIER_QCI_4', 4). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_5'). +-define('QOS-CLASS-IDENTIFIER_QCI_5', 5). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_6'). +-define('QOS-CLASS-IDENTIFIER_QCI_6', 6). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_7'). +-define('QOS-CLASS-IDENTIFIER_QCI_7', 7). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_8'). +-define('QOS-CLASS-IDENTIFIER_QCI_8', 8). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_9'). +-define('QOS-CLASS-IDENTIFIER_QCI_9', 9). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_65'). +-define('QOS-CLASS-IDENTIFIER_QCI_65', 65). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_66'). +-define('QOS-CLASS-IDENTIFIER_QCI_66', 66). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_69'). +-define('QOS-CLASS-IDENTIFIER_QCI_69', 69). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_70'). +-define('QOS-CLASS-IDENTIFIER_QCI_70', 70). +-endif. +-ifndef('QOS-NEGOTIATION_NO_QOS_NEGOTIATION'). +-define('QOS-NEGOTIATION_NO_QOS_NEGOTIATION', 0). +-endif. +-ifndef('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED'). +-define('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED', 1). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED', 0). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED', 1). +-endif. +-ifndef('RAT-TYPE_WLAN'). +-define('RAT-TYPE_WLAN', 0). +-endif. +-ifndef('RAT-TYPE_VIRTUAL'). +-define('RAT-TYPE_VIRTUAL', 1). +-endif. +-ifndef('RAT-TYPE_UTRAN'). +-define('RAT-TYPE_UTRAN', 1000). +-endif. +-ifndef('RAT-TYPE_GERAN'). +-define('RAT-TYPE_GERAN', 1001). +-endif. +-ifndef('RAT-TYPE_GAN'). +-define('RAT-TYPE_GAN', 1002). +-endif. +-ifndef('RAT-TYPE_HSPA_EVOLUTION'). +-define('RAT-TYPE_HSPA_EVOLUTION', 1003). +-endif. +-ifndef('RAT-TYPE_EUTRAN'). +-define('RAT-TYPE_EUTRAN', 1004). +-endif. +-ifndef('RAT-TYPE_CDMA2000_1X'). +-define('RAT-TYPE_CDMA2000_1X', 2000). +-endif. +-ifndef('RAT-TYPE_HRPD'). +-define('RAT-TYPE_HRPD', 2001). +-endif. +-ifndef('RAT-TYPE_UMB'). +-define('RAT-TYPE_UMB', 2002). +-endif. +-ifndef('RAT-TYPE_EHRPD'). +-define('RAT-TYPE_EHRPD', 2003). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_DISABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_DISABLED', 0). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_ENABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_ENABLED', 1). +-endif. +-ifndef('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL'). +-define('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL', 0). +-endif. +-ifndef('REPORTING-LEVEL_RATING_GROUP_LEVEL'). +-define('REPORTING-LEVEL_RATING_GROUP_LEVEL', 1). +-endif. +-ifndef('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL'). +-define('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL', 2). +-endif. +-ifndef('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION'). +-define('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION', 0). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME'). +-define('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME', 1). +-endif. +-ifndef('RULE-FAILURE-CODE_RATING_GROUP_ERROR'). +-define('RULE-FAILURE-CODE_RATING_GROUP_ERROR', 2). +-endif. +-ifndef('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR', 3). +-endif. +-ifndef('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION'). +-define('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION', 4). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCES_LIMITATION'). +-define('RULE-FAILURE-CODE_RESOURCES_LIMITATION', 5). +-endif. +-ifndef('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED'). +-define('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED', 6). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID'). +-define('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID', 7). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_BEARER_ID'). +-define('RULE-FAILURE-CODE_MISSING_BEARER_ID', 8). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION', 9). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE'). +-define('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE', 10). +-endif. +-ifndef('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION'). +-define('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION', 11). +-endif. +-ifndef('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION', 12). +-endif. +-ifndef('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER'). +-define('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER', 13). +-endif. +-ifndef('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR', 14). +-endif. +-ifndef('RULE-FAILURE-CODE_NO_BEARER_BOUND'). +-define('RULE-FAILURE-CODE_NO_BEARER_BOUND', 15). +-endif. +-ifndef('RULE-FAILURE-CODE_FILTER_RESTRICTIONS'). +-define('RULE-FAILURE-CODE_FILTER_RESTRICTIONS', 16). +-endif. +-ifndef('RULE-FAILURE-CODE_AN_GW_FAILED'). +-define('RULE-FAILURE-CODE_AN_GW_FAILED', 17). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS'). +-define('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS', 18). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED'). +-define('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED', 19). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE'). +-define('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE', 20). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED'). +-define('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED', 21). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_USER_UNKNOWN'). +-define('RULE-FAILURE-CODE_CM_USER_UNKNOWN', 22). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_RATING_FAILED'). +-define('RULE-FAILURE-CODE_CM_RATING_FAILED', 23). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON'). +-define('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON', 0). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON'). +-define('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON', 1). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES'). +-define('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES', 2). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION'). +-define('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION', 3). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE'). +-define('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE', 4). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_SESSION_LEVEL'). +-define('USAGE-MONITORING-LEVEL_SESSION_LEVEL', 0). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL', 1). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL', 2). +-endif. +-ifndef('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED'). +-define('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED', 0). +-endif. +-ifndef('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED'). +-define('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED', 0). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-ifndef('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT'). +-define('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT', 0). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_REGISTRATION', 1). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION', 2). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER'). +-define('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER', 3). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION', 4). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION', 5). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME', 6). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME', 7). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION', 8). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE', 9). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT', 10). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA'). +-define('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA', 11). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST'). +-define('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST', 12). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE'). +-define('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE', 13). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RESTORATION'). +-define('SERVER-ASSIGNMENT-TYPE_RESTORATION', 14). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_272: +%%% ------------------------------------------------------- + +-ifndef('NETWORK-ACCESS-MODE_PACKET_AND_CIRCUIT'). +-define('NETWORK-ACCESS-MODE_PACKET_AND_CIRCUIT', 0). +-endif. +-ifndef('NETWORK-ACCESS-MODE_RESERVED'). +-define('NETWORK-ACCESS-MODE_RESERVED', 1). +-endif. +-ifndef('NETWORK-ACCESS-MODE_ONLY_PACKET'). +-define('NETWORK-ACCESS-MODE_ONLY_PACKET', 2). +-endif. +-ifndef('CANCELLATION-TYPE_MME_UPDATE_PROCEDURE'). +-define('CANCELLATION-TYPE_MME_UPDATE_PROCEDURE', 0). +-endif. +-ifndef('CANCELLATION-TYPE_SGSN_UPDATE_PROCEDURE'). +-define('CANCELLATION-TYPE_SGSN_UPDATE_PROCEDURE', 1). +-endif. +-ifndef('CANCELLATION-TYPE_SUBSCRIPTION_WITHDRAWAL'). +-define('CANCELLATION-TYPE_SUBSCRIPTION_WITHDRAWAL', 2). +-endif. +-ifndef('CANCELLATION-TYPE_UPDATE_PROCEDURE_IWF'). +-define('CANCELLATION-TYPE_UPDATE_PROCEDURE_IWF', 3). +-endif. +-ifndef('CANCELLATION-TYPE_INITIAL_ATTACH_PROCEDURE'). +-define('CANCELLATION-TYPE_INITIAL_ATTACH_PROCEDURE', 4). +-endif. +-ifndef('SUBSCRIBER-STATUS_SERVICE_GRANTED'). +-define('SUBSCRIBER-STATUS_SERVICE_GRANTED', 0). +-endif. +-ifndef('SUBSCRIBER-STATUS_OPERATOR_DETERMINED_BARRING'). +-define('SUBSCRIBER-STATUS_OPERATOR_DETERMINED_BARRING', 1). +-endif. +-ifndef('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_ALL_APN_CONFIGURATIONS_INCLUDED'). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_ALL_APN_CONFIGURATIONS_INCLUDED', 0). +-endif. +-ifndef('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED'). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED', 1). +-endif. +-ifndef('VPLMN-DYNAMIC-ADDRESS-ALLOWED_NOTALLOWED'). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_NOTALLOWED', 0). +-endif. +-ifndef('VPLMN-DYNAMIC-ADDRESS-ALLOWED_ALLOWED'). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_ALLOWED', 1). +-endif. +-ifndef('PDN-GW-ALLOCATION-TYPE_STATIC'). +-define('PDN-GW-ALLOCATION-TYPE_STATIC', 0). +-endif. +-ifndef('PDN-GW-ALLOCATION-TYPE_DYNAMIC'). +-define('PDN-GW-ALLOCATION-TYPE_DYNAMIC', 1). +-endif. +-ifndef('EQUIPMENT-STATUS_WHITELISTED'). +-define('EQUIPMENT-STATUS_WHITELISTED', 0). +-endif. +-ifndef('EQUIPMENT-STATUS_BLACKLISTED'). +-define('EQUIPMENT-STATUS_BLACKLISTED', 1). +-endif. +-ifndef('EQUIPMENT-STATUS_GREYLISTED'). +-define('EQUIPMENT-STATUS_GREYLISTED', 2). +-endif. +-ifndef('PDN-TYPE_IPV4'). +-define('PDN-TYPE_IPV4', 0). +-endif. +-ifndef('PDN-TYPE_IPV6'). +-define('PDN-TYPE_IPV6', 1). +-endif. +-ifndef('PDN-TYPE_IPV4V6'). +-define('PDN-TYPE_IPV4V6', 2). +-endif. +-ifndef('PDN-TYPE_IPV4_OR_IPV6'). +-define('PDN-TYPE_IPV4_OR_IPV6', 3). +-endif. +-ifndef('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_ALL_PDP_CONTEXTS_INCLUDED'). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_ALL_PDP_CONTEXTS_INCLUDED', 0). +-endif. +-ifndef('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED'). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED', 1). +-endif. +-ifndef('ROAMING-RESTRICTED-DUE-TO-UNSUPPORTED-FEATURE_ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE'). +-define('ROAMING-RESTRICTED-DUE-TO-UNSUPPORTED-FEATURE_ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE', 0). +-endif. +-ifndef('ALERT-REASON_UE_PRESENT'). +-define('ALERT-REASON_UE_PRESENT', 0). +-endif. +-ifndef('ALERT-REASON_UE_MEMORY_AVAILABLE'). +-define('ALERT-REASON_UE_MEMORY_AVAILABLE', 1). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFY_LOCATION_ALLOWED'). +-define('NOTIFICATION-TO-UE-USER_NOTIFY_LOCATION_ALLOWED', 0). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE'). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE', 1). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE'). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE', 2). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_LOCATION_NOT_ALLOWED'). +-define('NOTIFICATION-TO-UE-USER_LOCATION_NOT_ALLOWED', 3). +-endif. +-ifndef('GMLC-RESTRICTION_GMLC_LIST'). +-define('GMLC-RESTRICTION_GMLC_LIST', 0). +-endif. +-ifndef('GMLC-RESTRICTION_HOME_COUNTRY'). +-define('GMLC-RESTRICTION_HOME_COUNTRY', 1). +-endif. +-ifndef('PLMN-CLIENT_BROADCAST_SERVICE'). +-define('PLMN-CLIENT_BROADCAST_SERVICE', 0). +-endif. +-ifndef('PLMN-CLIENT_O_AND_M_HPLMN'). +-define('PLMN-CLIENT_O_AND_M_HPLMN', 1). +-endif. +-ifndef('PLMN-CLIENT_O_AND_M_VPLMN'). +-define('PLMN-CLIENT_O_AND_M_VPLMN', 2). +-endif. +-ifndef('PLMN-CLIENT_ANONYMOUS_LOCATION'). +-define('PLMN-CLIENT_ANONYMOUS_LOCATION', 3). +-endif. +-ifndef('PLMN-CLIENT_TARGET_UE_SUBSCRIBED_SERVICE'). +-define('PLMN-CLIENT_TARGET_UE_SUBSCRIBED_SERVICE', 4). +-endif. +-ifndef('ICS-INDICATOR_FALSE'). +-define('ICS-INDICATOR_FALSE', 0). +-endif. +-ifndef('ICS-INDICATOR_TRUE'). +-define('ICS-INDICATOR_TRUE', 1). +-endif. +-ifndef('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_NOT_SUPPORTED'). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_NOT_SUPPORTED', 0). +-endif. +-ifndef('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_SUPPORTED'). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_SUPPORTED', 1). +-endif. +-ifndef('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_NOT_SUPPORTED'). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_NOT_SUPPORTED', 0). +-endif. +-ifndef('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_SUPPORTED'). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_SUPPORTED', 1). +-endif. +-ifndef('USER-STATE_DETACHED'). +-define('USER-STATE_DETACHED', 0). +-endif. +-ifndef('USER-STATE_ATTACHED_NOT_REACHABLE_FOR_PAGING'). +-define('USER-STATE_ATTACHED_NOT_REACHABLE_FOR_PAGING', 1). +-endif. +-ifndef('USER-STATE_ATTACHED_REACHABLE_FOR_PAGING'). +-define('USER-STATE_ATTACHED_REACHABLE_FOR_PAGING', 2). +-endif. +-ifndef('USER-STATE_CONNECTED_NOT_REACHABLE_FOR_PAGING'). +-define('USER-STATE_CONNECTED_NOT_REACHABLE_FOR_PAGING', 3). +-endif. +-ifndef('USER-STATE_CONNECTED_REACHABLE_FOR_PAGING'). +-define('USER-STATE_CONNECTED_REACHABLE_FOR_PAGING', 4). +-endif. +-ifndef('USER-STATE_NETWORK_DETERMINED_NOT_REACHABLE'). +-define('USER-STATE_NETWORK_DETERMINED_NOT_REACHABLE', 5). +-endif. +-ifndef('CURRENT-LOCATION-RETRIEVED_ACTIVE-LOCATION-RETRIEVAL'). +-define('CURRENT-LOCATION-RETRIEVED_ACTIVE-LOCATION-RETRIEVAL', 0). +-endif. +-ifndef('ERROR-DIAGNOSTIC_GPRS_DATA_SUBSCRIBED'). +-define('ERROR-DIAGNOSTIC_GPRS_DATA_SUBSCRIBED', 0). +-endif. +-ifndef('ERROR-DIAGNOSTIC_NO_GPRS_DATA_SUBSCRIBED'). +-define('ERROR-DIAGNOSTIC_NO_GPRS_DATA_SUBSCRIBED', 1). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-ALL-APN'). +-define('ERROR-DIAGNOSTIC_ODB-ALL-APN', 2). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-HPLMN-APN'). +-define('ERROR-DIAGNOSTIC_ODB-HPLMN-APN', 3). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-VPLMN-APN'). +-define('ERROR-DIAGNOSTIC_ODB-VPLMN-APN', 4). +-endif. +-ifndef('UE-SRVCC-CAPABILITY_UE-SRVCC-NOT-SUPPORTED'). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-NOT-SUPPORTED', 0). +-endif. +-ifndef('UE-SRVCC-CAPABILITY_UE-SRVCC-SUPPORTED'). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-SUPPORTED', 1). +-endif. +-ifndef('VPLMN-LIPA-ALLOWED_LIPA-NOTALLOWED'). +-define('VPLMN-LIPA-ALLOWED_LIPA-NOTALLOWED', 0). +-endif. +-ifndef('VPLMN-LIPA-ALLOWED_LIPA-ALLOWED'). +-define('VPLMN-LIPA-ALLOWED_LIPA-ALLOWED', 1). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-PROHIBITED'). +-define('LIPA-PERMISSION_LIPA-PROHIBITED', 0). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-ONLY'). +-define('LIPA-PERMISSION_LIPA-ONLY', 1). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-CONDITIONAL'). +-define('LIPA-PERMISSION_LIPA-CONDITIONAL', 2). +-endif. +-ifndef('SIPTO-PERMISSION_SIPTO_ALLOWED'). +-define('SIPTO-PERMISSION_SIPTO_ALLOWED', 0). +-endif. +-ifndef('SIPTO-PERMISSION_SIPTO_NOTALLOWED'). +-define('SIPTO-PERMISSION_SIPTO_NOTALLOWED', 1). +-endif. +-ifndef('RELAY-NODE-INDICATOR_NOT_RELAY_NODE'). +-define('RELAY-NODE-INDICATOR_NOT_RELAY_NODE', 0). +-endif. +-ifndef('RELAY-NODE-INDICATOR_RELAY_NODE'). +-define('RELAY-NODE-INDICATOR_RELAY_NODE', 1). +-endif. +-ifndef('MDT-USER-CONSENT_CONSENT_NOT_GIVEN'). +-define('MDT-USER-CONSENT_CONSENT_NOT_GIVEN', 0). +-endif. +-ifndef('MDT-USER-CONSENT_CONSENT_GIVEN'). +-define('MDT-USER-CONSENT_CONSENT_GIVEN', 1). +-endif. +-ifndef('SUBSCRIBED-VSRVCC_VSRVCC_SUBSCRIBED'). +-define('SUBSCRIBED-VSRVCC_VSRVCC_SUBSCRIBED', 0). +-endif. +-ifndef('SMS-REGISTER-REQUEST_SMS_REGISTRATION_REQUIRED'). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_REQUIRED', 0). +-endif. +-ifndef('SMS-REGISTER-REQUEST_SMS_REGISTRATION_NOT_PREFERRED'). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_NOT_PREFERRED', 1). +-endif. +-ifndef('SMS-REGISTER-REQUEST_NO_PREFERENCE'). +-define('SMS-REGISTER-REQUEST_NO_PREFERENCE', 2). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_NO_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_NO_ADJUSTMENT', 0). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_PLUS_ONE_HOUR_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_PLUS_ONE_HOUR_ADJUSTMENT', 1). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_PLUS_TWO_HOURS_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_PLUS_TWO_HOURS_ADJUSTMENT', 2). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_273: +%%% ------------------------------------------------------- + +-ifndef('AN-TRUSTED_TRUSTED'). +-define('AN-TRUSTED_TRUSTED', 0). +-endif. +-ifndef('AN-TRUSTED_UNTRUSTED'). +-define('AN-TRUSTED_UNTRUSTED', 1). +-endif. +-ifndef('TRANSPORT-ACCESS-TYPE_BBF'). +-define('TRANSPORT-ACCESS-TYPE_BBF', 0). +-endif. +-ifndef('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_ALLOWED'). +-define('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_ALLOWED', 0). +-endif. +-ifndef('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_BARRED'). +-define('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_BARRED', 1). +-endif. +-ifndef('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_ENABLE'). +-define('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_ENABLE', 0). +-endif. +-ifndef('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_DISABLE'). +-define('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_DISABLE', 1). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PS-DATA-OFF-STATUS_ACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_ACTIVE', 0). +-endif. +-ifndef('3GPP-PS-DATA-OFF-STATUS_INACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_INACTIVE', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER', 0). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER', 2). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER', 3). +-endif. +-ifndef('ADAPTATIONS_YES'). +-define('ADAPTATIONS_YES', 0). +-endif. +-ifndef('ADAPTATIONS_NO'). +-define('ADAPTATIONS_NO', 1). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED', 0). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED', 1). +-endif. +-ifndef('ADDRESS-TYPE_E-MAIL-ADDRESS'). +-define('ADDRESS-TYPE_E-MAIL-ADDRESS', 0). +-endif. +-ifndef('ADDRESS-TYPE_MSISDN'). +-define('ADDRESS-TYPE_MSISDN', 1). +-endif. +-ifndef('ADDRESS-TYPE_IPV4-ADDRESS'). +-define('ADDRESS-TYPE_IPV4-ADDRESS', 2). +-endif. +-ifndef('ADDRESS-TYPE_IPV6-ADDRESS'). +-define('ADDRESS-TYPE_IPV6-ADDRESS', 3). +-endif. +-ifndef('ADDRESS-TYPE_NUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_NUMERIC-SHORTCODE', 4). +-endif. +-ifndef('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE', 5). +-endif. +-ifndef('ADDRESS-TYPE_OTHER'). +-define('ADDRESS-TYPE_OTHER', 6). +-endif. +-ifndef('ADDRESS-TYPE_IMSI'). +-define('ADDRESS-TYPE_IMSI', 7). +-endif. +-ifndef('ADDRESSEE-TYPE_TO'). +-define('ADDRESSEE-TYPE_TO', 0). +-endif. +-ifndef('ADDRESSEE-TYPE_CC'). +-define('ADDRESSEE-TYPE_CC', 1). +-endif. +-ifndef('ADDRESSEE-TYPE_BCC'). +-define('ADDRESSEE-TYPE_BCC', 2). +-endif. +-ifndef('AOC-FORMAT_MONETARY'). +-define('AOC-FORMAT_MONETARY', 0). +-endif. +-ifndef('AOC-FORMAT_NON_MONETARY'). +-define('AOC-FORMAT_NON_MONETARY', 1). +-endif. +-ifndef('AOC-FORMAT_CAI'). +-define('AOC-FORMAT_CAI', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED'). +-define('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED', 0). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_FULL'). +-define('AOC-REQUEST-TYPE_AOC_FULL', 1). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_COST_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_COST_ONLY', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY', 3). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING', 0). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_BINDING', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_NONE'). +-define('AOC-SERVICE-TYPE_NONE', 0). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-S'). +-define('AOC-SERVICE-TYPE_AOC-S', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-D'). +-define('AOC-SERVICE-TYPE_AOC-D', 2). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-E'). +-define('AOC-SERVICE-TYPE_AOC-E', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_UNKNOWN'). +-define('CHARGE-REASON-CODE_UNKNOWN', 0). +-endif. +-ifndef('CHARGE-REASON-CODE_USAGE'). +-define('CHARGE-REASON-CODE_USAGE', 1). +-endif. +-ifndef('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE'). +-define('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE', 2). +-endif. +-ifndef('CHARGE-REASON-CODE_SETUP-CHARGE'). +-define('CHARGE-REASON-CODE_SETUP-CHARGE', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_ADD-ON-CHARGE'). +-define('CHARGE-REASON-CODE_ADD-ON-CHARGE', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED', 0). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC', 1). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC', 2). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT', 3). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT', 5). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE', 0). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_PERSONAL'). +-define('CLASS-IDENTIFIER_PERSONAL', 0). +-endif. +-ifndef('CLASS-IDENTIFIER_ADVERTISEMENT'). +-define('CLASS-IDENTIFIER_ADVERTISEMENT', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_INFORMATIONAL'). +-define('CLASS-IDENTIFIER_INFORMATIONAL', 2). +-endif. +-ifndef('CLASS-IDENTIFIER_AUTO'). +-define('CLASS-IDENTIFIER_AUTO', 3). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE', 0). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK', 1). +-endif. +-ifndef('CONTENT-CLASS_TEXT'). +-define('CONTENT-CLASS_TEXT', 0). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-BASIC'). +-define('CONTENT-CLASS_IMAGE-BASIC', 1). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-RICH'). +-define('CONTENT-CLASS_IMAGE-RICH', 2). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-BASIC'). +-define('CONTENT-CLASS_VIDEO-BASIC', 3). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-RICH'). +-define('CONTENT-CLASS_VIDEO-RICH', 4). +-endif. +-ifndef('CONTENT-CLASS_MEGAPIXEL'). +-define('CONTENT-CLASS_MEGAPIXEL', 5). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-BASIC'). +-define('CONTENT-CLASS_CONTENT-BASIC', 6). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-RICH'). +-define('CONTENT-CLASS_CONTENT-RICH', 7). +-endif. +-ifndef('COVERAGE-STATUS_OUT-OF-COVERAGE'). +-define('COVERAGE-STATUS_OUT-OF-COVERAGE', 0). +-endif. +-ifndef('COVERAGE-STATUS_IN-COVERAGE'). +-define('COVERAGE-STATUS_IN-COVERAGE', 1). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY', 0). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY', 1). +-endif. +-ifndef('CSG-ACCESS-MODE_CLOSED-MODE'). +-define('CSG-ACCESS-MODE_CLOSED-MODE', 0). +-endif. +-ifndef('CSG-ACCESS-MODE_HYBRID-MODE'). +-define('CSG-ACCESS-MODE_HYBRID-MODE', 1). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER', 0). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER', 1). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_NO'). +-define('DELIVERY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_YES'). +-define('DELIVERY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('DRM-CONTENT_NO'). +-define('DRM-CONTENT_NO', 0). +-endif. +-ifndef('DRM-CONTENT_YES'). +-define('DRM-CONTENT_YES', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG_DYNAMIC', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES', 0). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME', 2). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS', 3). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS', 4). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_SUPPORTED', 1). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED', 2). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-NOT-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-NOT-PENDING', 0). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-PENDING', 1). +-endif. +-ifndef('INTERFACE-TYPE_UNKNOWN'). +-define('INTERFACE-TYPE_UNKNOWN', 0). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_ORIGINATING'). +-define('INTERFACE-TYPE_MOBILE_ORIGINATING', 1). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_TERMINATING'). +-define('INTERFACE-TYPE_MOBILE_TERMINATING', 2). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_ORIGINATING'). +-define('INTERFACE-TYPE_APPLICATION_ORIGINATING', 3). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_TERMINATION'). +-define('INTERFACE-TYPE_APPLICATION_TERMINATION', 4). +-endif. +-ifndef('INTER-UE-TRANSFER_INTRA-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTRA-UE-TRANSFER', 0). +-endif. +-ifndef('INTER-UE-TRANSFER_INTER-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTER-UE-TRANSFER', 1). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY', 0). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_EMERGENCY', 1). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED', 0). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED', 1). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED', 0). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_EMERGENCY_SERVICES'). +-define('LCS-CLIENT-TYPE_EMERGENCY_SERVICES', 0). +-endif. +-ifndef('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES'). +-define('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES'). +-define('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES', 2). +-endif. +-ifndef('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES'). +-define('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_LOGICAL_NAME'). +-define('LCS-FORMAT-INDICATOR_LOGICAL_NAME', 0). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS'). +-define('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS', 1). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_MSISDN'). +-define('LCS-FORMAT-INDICATOR_MSISDN', 2). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_URL'). +-define('LCS-FORMAT-INDICATOR_URL', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_SIP_URL'). +-define('LCS-FORMAT-INDICATOR_SIP_URL', 4). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED', 0). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION', 0). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION', 2). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION', 3). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION', 4). +-endif. +-ifndef('LOW-BALANCE-INDICATION_NOT-APPLICABLE'). +-define('LOW-BALANCE-INDICATION_NOT-APPLICABLE', 0). +-endif. +-ifndef('LOW-BALANCE-INDICATION_YES'). +-define('LOW-BALANCE-INDICATION_YES', 1). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_NO'). +-define('LOW-PRIORITY-INDICATOR_NO', 0). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_YES'). +-define('LOW-PRIORITY-INDICATOR_YES', 1). +-endif. +-ifndef('MBMS-CHARGED-PARTY_CONTENT-PROVIDER'). +-define('MBMS-CHARGED-PARTY_CONTENT-PROVIDER', 0). +-endif. +-ifndef('MBMS-CHARGED-PARTY_SUBSCRIBER'). +-define('MBMS-CHARGED-PARTY_SUBSCRIBER', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_DOWNLOAD'). +-define('MBMS-USER-SERVICE-TYPE_DOWNLOAD', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_STREAMING'). +-define('MBMS-USER-SERVICE-TYPE_STREAMING', 2). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLED-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLED-PARTY', 0). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLING-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLING-PARTY', 1). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_UNKNOWN'). +-define('MEDIA-INITIATOR-FLAG_UNKNOWN', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-REQ'). +-define('MESSAGE-TYPE_M-SEND-REQ', 1). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-CONF'). +-define('MESSAGE-TYPE_M-SEND-CONF', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFICATION-IND'). +-define('MESSAGE-TYPE_M-NOTIFICATION-IND', 3). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFYRESP-IND'). +-define('MESSAGE-TYPE_M-NOTIFYRESP-IND', 4). +-endif. +-ifndef('MESSAGE-TYPE_M-RETRIEVE-CONF'). +-define('MESSAGE-TYPE_M-RETRIEVE-CONF', 5). +-endif. +-ifndef('MESSAGE-TYPE_M-ACKNOWLEDGE-IND'). +-define('MESSAGE-TYPE_M-ACKNOWLEDGE-IND', 6). +-endif. +-ifndef('MESSAGE-TYPE_M-DELIVERY-IND'). +-define('MESSAGE-TYPE_M-DELIVERY-IND', 7). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-REC-IND'). +-define('MESSAGE-TYPE_M-READ-REC-IND', 8). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-ORIG-IND'). +-define('MESSAGE-TYPE_M-READ-ORIG-IND', 9). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-REQ'). +-define('MESSAGE-TYPE_M-FORWARD-REQ', 10). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-CONF'). +-define('MESSAGE-TYPE_M-FORWARD-CONF', 11). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-STORE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-STORE-CONF', 12). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-VIEW-CONF'). +-define('MESSAGE-TYPE_M-MBOX-VIEW-CONF', 13). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF'). +-define('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF', 14). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-DELETE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-DELETE-CONF', 15). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_NO'). +-define('MMBOX-STORAGE-REQUESTED_NO', 0). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_YES'). +-define('MMBOX-STORAGE-REQUESTED_YES', 1). +-endif. +-ifndef('NNI-TYPE_NON-ROAMING'). +-define('NNI-TYPE_NON-ROAMING', 0). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK', 1). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITH-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITH-LOOPBACK', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-CSCF'). +-define('NODE-FUNCTIONALITY_S-CSCF', 0). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-CSCF'). +-define('NODE-FUNCTIONALITY_P-CSCF', 1). +-endif. +-ifndef('NODE-FUNCTIONALITY_I-CSCF'). +-define('NODE-FUNCTIONALITY_I-CSCF', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_MRFC'). +-define('NODE-FUNCTIONALITY_MRFC', 3). +-endif. +-ifndef('NODE-FUNCTIONALITY_MGCF'). +-define('NODE-FUNCTIONALITY_MGCF', 4). +-endif. +-ifndef('NODE-FUNCTIONALITY_BGCF'). +-define('NODE-FUNCTIONALITY_BGCF', 5). +-endif. +-ifndef('NODE-FUNCTIONALITY_AS'). +-define('NODE-FUNCTIONALITY_AS', 6). +-endif. +-ifndef('NODE-FUNCTIONALITY_IBCF'). +-define('NODE-FUNCTIONALITY_IBCF', 7). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-GW'). +-define('NODE-FUNCTIONALITY_S-GW', 8). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-GW'). +-define('NODE-FUNCTIONALITY_P-GW', 9). +-endif. +-ifndef('NODE-FUNCTIONALITY_HSGW'). +-define('NODE-FUNCTIONALITY_HSGW', 10). +-endif. +-ifndef('NODE-FUNCTIONALITY_E-CSCF'). +-define('NODE-FUNCTIONALITY_E-CSCF', 11). +-endif. +-ifndef('NODE-FUNCTIONALITY_MME'). +-define('NODE-FUNCTIONALITY_MME', 12). +-endif. +-ifndef('NODE-FUNCTIONALITY_TRF'). +-define('NODE-FUNCTIONALITY_TRF', 13). +-endif. +-ifndef('NODE-FUNCTIONALITY_TF'). +-define('NODE-FUNCTIONALITY_TF', 14). +-endif. +-ifndef('NODE-FUNCTIONALITY_ATCF'). +-define('NODE-FUNCTIONALITY_ATCF', 15). +-endif. +-ifndef('NODE-FUNCTIONALITY_PROXY-FUNCTION'). +-define('NODE-FUNCTIONALITY_PROXY-FUNCTION', 16). +-endif. +-ifndef('NODE-FUNCTIONALITY_EPDG'). +-define('NODE-FUNCTIONALITY_EPDG', 17). +-endif. +-ifndef('NODE-FUNCTIONALITY_TDF'). +-define('NODE-FUNCTIONALITY_TDF', 18). +-endif. +-ifndef('NODE-FUNCTIONALITY_TWAG'). +-define('NODE-FUNCTIONALITY_TWAG', 19). +-endif. +-ifndef('NODE-FUNCTIONALITY_SCEF'). +-define('NODE-FUNCTIONALITY_SCEF', 20). +-endif. +-ifndef('NODE-FUNCTIONALITY_IWK-SCEF'). +-define('NODE-FUNCTIONALITY_IWK-SCEF', 21). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED', 0). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED', 1). +-endif. +-ifndef('ORIGINATOR_CALLING-PARTY'). +-define('ORIGINATOR_CALLING-PARTY', 0). +-endif. +-ifndef('ORIGINATOR_CALLED-PARTY'). +-define('ORIGINATOR_CALLED-PARTY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY', 2). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY', 3). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY', 4). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_CREATE_CONF'). +-define('PARTICIPANT-ACTION-TYPE_CREATE_CONF', 0). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_JOIN_CONF'). +-define('PARTICIPANT-ACTION-TYPE_JOIN_CONF', 1). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF'). +-define('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF', 2). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_QUIT_CONF'). +-define('PARTICIPANT-ACTION-TYPE_QUIT_CONF', 3). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_EUTRA'). +-define('PC5-RADIO-TECHNOLOGY_EUTRA', 0). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_WLAN'). +-define('PC5-RADIO-TECHNOLOGY_WLAN', 1). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN'). +-define('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN', 2). +-endif. +-ifndef('PDP-CONTEXT-TYPE_PRIMARY'). +-define('PDP-CONTEXT-TYPE_PRIMARY', 0). +-endif. +-ifndef('PDP-CONTEXT-TYPE_SECONDARY'). +-define('PDP-CONTEXT-TYPE_SECONDARY', 1). +-endif. +-ifndef('PLAY-ALTERNATIVE_SERVED-PARTY'). +-define('PLAY-ALTERNATIVE_SERVED-PARTY', 0). +-endif. +-ifndef('PLAY-ALTERNATIVE_REMOTE-PARTY'). +-define('PLAY-ALTERNATIVE_REMOTE-PARTY', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_SERVICECHANGE'). +-define('POC-CHANGE-CONDITION_SERVICECHANGE', 0). +-endif. +-ifndef('POC-CHANGE-CONDITION_VOLUMELIMIT'). +-define('POC-CHANGE-CONDITION_VOLUMELIMIT', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_TIMELIMIT'). +-define('POC-CHANGE-CONDITION_TIMELIMIT', 2). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT'). +-define('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT', 3). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS'). +-define('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS', 4). +-endif. +-ifndef('POC-CHANGE-CONDITION_TARIFFTIME'). +-define('POC-CHANGE-CONDITION_TARIFFTIME', 5). +-endif. +-ifndef('POC-EVENT-TYPE_NORMAL'). +-define('POC-EVENT-TYPE_NORMAL', 0). +-endif. +-ifndef('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT'). +-define('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT', 1). +-endif. +-ifndef('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT'). +-define('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT', 2). +-endif. +-ifndef('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT'). +-define('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT', 3). +-endif. +-ifndef('POC-EVENT-TYPE_POC-TALK-BURST'). +-define('POC-EVENT-TYPE_POC-TALK-BURST', 4). +-endif. +-ifndef('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER'). +-define('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER', 0). +-endif. +-ifndef('POC-SERVER-ROLE_CONTROLLING-POC-SERVER'). +-define('POC-SERVER-ROLE_CONTROLLING-POC-SERVER', 1). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-FUNCTION', 2). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION', 3). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED'). +-define('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED', 0). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_ON-DEMAND'). +-define('POC-SESSION-INITIATION-TYPE_ON-DEMAND', 1). +-endif. +-ifndef('POC-SESSION-TYPE_1-TO-1-POC-SESSION'). +-define('POC-SESSION-TYPE_1-TO-1-POC-SESSION', 0). +-endif. +-ifndef('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION', 1). +-endif. +-ifndef('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION', 2). +-endif. +-ifndef('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_MODERATOR'). +-define('POC-USER-ROLE-INFO-UNITS_MODERATOR', 1). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_DISPATCHER'). +-define('POC-USER-ROLE-INFO-UNITS_DISPATCHER', 2). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT', 4). +-endif. +-ifndef('PRIORITY_LOW'). +-define('PRIORITY_LOW', 0). +-endif. +-ifndef('PRIORITY_NORMAL'). +-define('PRIORITY_NORMAL', 1). +-endif. +-ifndef('PRIORITY_HIGH'). +-define('PRIORITY_HIGH', 2). +-endif. +-ifndef('PRIVACY-INDICATOR_NOT_PRIVATE'). +-define('PRIVACY-INDICATOR_NOT_PRIVATE', 0). +-endif. +-ifndef('PRIVACY-INDICATOR_PRIVATE'). +-define('PRIVACY-INDICATOR_PRIVATE', 1). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A', 0). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_ANNOUCING'). +-define('PROSE-EVENT-TYPE_ANNOUCING', 0). +-endif. +-ifndef('PROSE-EVENT-TYPE_MONITORING'). +-define('PROSE-EVENT-TYPE_MONITORING', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_MATCH-REPORT'). +-define('PROSE-EVENT-TYPE_MATCH-REPORT', 2). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY', 0). +-endif. +-ifndef('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY', 1). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION'). +-define('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_RESERVED'). +-define('PROSE-RANGE-CLASS_RESERVED', 0). +-endif. +-ifndef('PROSE-RANGE-CLASS_50M'). +-define('PROSE-RANGE-CLASS_50M', 1). +-endif. +-ifndef('PROSE-RANGE-CLASS_100M'). +-define('PROSE-RANGE-CLASS_100M', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_200M'). +-define('PROSE-RANGE-CLASS_200M', 3). +-endif. +-ifndef('PROSE-RANGE-CLASS_500M'). +-define('PROSE-RANGE-CLASS_500M', 4). +-endif. +-ifndef('PROSE-RANGE-CLASS_1000M'). +-define('PROSE-RANGE-CLASS_1000M', 5). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT'). +-define('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT', 0). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL'). +-define('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL', 1). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION'). +-define('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_ANNOUNCING-UE'). +-define('PROSE-ROLE-OF-UE_ANNOUNCING-UE', 0). +-endif. +-ifndef('PROSE-ROLE-OF-UE_MONITORING-UE'). +-define('PROSE-ROLE-OF-UE_MONITORING-UE', 1). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTOR-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTOR-UE', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTED-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTED-UE', 3). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_ALERT'). +-define('PROXIMITY-ALERT-INDICATION_ALERT', 0). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_NO-ALERT'). +-define('PROXIMITY-ALERT-INDICATION_NO-ALERT', 1). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_APPEND'). +-define('PS-APPEND-FREE-FORMAT-DATA_APPEND', 0). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE'). +-define('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE', 1). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK', 0). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK', 1). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_NO'). +-define('READ-REPLY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_YES'). +-define('READ-REPLY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('RELATIONSHIP-MODE_TRUSTED'). +-define('RELATIONSHIP-MODE_TRUSTED', 0). +-endif. +-ifndef('RELATIONSHIP-MODE_NON-TRUSTED'). +-define('RELATIONSHIP-MODE_NON-TRUSTED', 1). +-endif. +-ifndef('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET', 0). +-endif. +-ifndef('REPLY-PATH-REQUESTED_REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_REPLY-PATH-SET', 1). +-endif. +-ifndef('REPORTING-REASON_THRESHOLD'). +-define('REPORTING-REASON_THRESHOLD', 0). +-endif. +-ifndef('REPORTING-REASON_QHT'). +-define('REPORTING-REASON_QHT', 1). +-endif. +-ifndef('REPORTING-REASON_FINAL'). +-define('REPORTING-REASON_FINAL', 2). +-endif. +-ifndef('REPORTING-REASON_QUOTA_EXHAUSTED'). +-define('REPORTING-REASON_QUOTA_EXHAUSTED', 3). +-endif. +-ifndef('REPORTING-REASON_VALIDITY_TIME'). +-define('REPORTING-REASON_VALIDITY_TIME', 4). +-endif. +-ifndef('REPORTING-REASON_OTHER_QUOTA_TYPE'). +-define('REPORTING-REASON_OTHER_QUOTA_TYPE', 5). +-endif. +-ifndef('REPORTING-REASON_RATING_CONDITION_CHANGE'). +-define('REPORTING-REASON_RATING_CONDITION_CHANGE', 6). +-endif. +-ifndef('REPORTING-REASON_FORCED_REAUTHORISATION'). +-define('REPORTING-REASON_FORCED_REAUTHORISATION', 7). +-endif. +-ifndef('REPORTING-REASON_POOL_EXHAUSTED'). +-define('REPORTING-REASON_POOL_EXHAUSTED', 8). +-endif. +-ifndef('REPORTING-REASON_UNUSED_QUOTA_TIMER'). +-define('REPORTING-REASON_UNUSED_QUOTA_TIMER', 9). +-endif. +-ifndef('ROLE-OF-NODE_ORIGINATING_ROLE'). +-define('ROLE-OF-NODE_ORIGINATING_ROLE', 0). +-endif. +-ifndef('ROLE-OF-NODE_TERMINATING_ROLE'). +-define('ROLE-OF-NODE_TERMINATING_ROLE', 1). +-endif. +-ifndef('ROLE-OF-NODE_FORWARDING_ROLE'). +-define('ROLE-OF-NODE_FORWARDING_ROLE', 2). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_HPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_HPLMN', 0). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_VPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_VPLMN', 1). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN'). +-define('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN', 2). +-endif. +-ifndef('SDP-TYPE_SDP-OFFER'). +-define('SDP-TYPE_SDP-OFFER', 0). +-endif. +-ifndef('SDP-TYPE_SDP-ANSWER'). +-define('SDP-TYPE_SDP-ANSWER', 1). +-endif. +-ifndef('SESSION-DIRECTION_INBOUND'). +-define('SESSION-DIRECTION_INBOUND', 0). +-endif. +-ifndef('SESSION-DIRECTION_OUTBOUND'). +-define('SESSION-DIRECTION_OUTBOUND', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_SGSN'). +-define('SERVING-NODE-TYPE_SGSN', 0). +-endif. +-ifndef('SERVING-NODE-TYPE_PMIPSGW'). +-define('SERVING-NODE-TYPE_PMIPSGW', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_GTPSGW'). +-define('SERVING-NODE-TYPE_GTPSGW', 2). +-endif. +-ifndef('SERVING-NODE-TYPE_EPDG'). +-define('SERVING-NODE-TYPE_EPDG', 3). +-endif. +-ifndef('SERVING-NODE-TYPE_HSGW'). +-define('SERVING-NODE-TYPE_HSGW', 4). +-endif. +-ifndef('SERVING-NODE-TYPE_MME'). +-define('SERVING-NODE-TYPE_MME', 5). +-endif. +-ifndef('SERVING-NODE-TYPE_TWAN'). +-define('SERVING-NODE-TYPE_TWAN', 6). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED'). +-define('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED', 0). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_OTHERS'). +-define('SGI-PTP-TUNNELLING-METHOD_OTHERS', 1). +-endif. +-ifndef('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE', 0). +-endif. +-ifndef('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER'). +-define('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER', 0). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE', 2). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SUBMISSION'). +-define('SM-MESSAGE-TYPE_SUBMISSION', 0). +-endif. +-ifndef('SM-MESSAGE-TYPE_DELIVERY_REPORT'). +-define('SM-MESSAGE-TYPE_DELIVERY_REPORT', 1). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST'). +-define('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST', 2). +-endif. +-ifndef('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER', 4). +-endif. +-ifndef('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION'). +-define('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION', 5). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER'). +-define('SMS-NODE_SMS-ROUTER', 0). +-endif. +-ifndef('SMS-NODE_IP-SM-GW'). +-define('SMS-NODE_IP-SM-GW', 1). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW'). +-define('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW', 2). +-endif. +-ifndef('SMS-NODE_SMS-SC'). +-define('SMS-NODE_SMS-SC', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING', 0). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING', 1). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS', 2). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT', 4). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE', 5). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS', 6). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK', 7). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY', 8). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE', 9). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY', 10). +-endif. +-ifndef('STATUS-AS-CODE_4XX'). +-define('STATUS-AS-CODE_4XX', 0). +-endif. +-ifndef('STATUS-AS-CODE_5XX'). +-define('STATUS-AS-CODE_5XX', 1). +-endif. +-ifndef('STATUS-AS-CODE_TIMEOUT'). +-define('STATUS-AS-CODE_TIMEOUT', 2). +-endif. +-ifndef('SUBSCRIBER-ROLE_ORIGINATING'). +-define('SUBSCRIBER-ROLE_ORIGINATING', 0). +-endif. +-ifndef('SUBSCRIBER-ROLE_TERMINATING'). +-define('SUBSCRIBER-ROLE_TERMINATING', 1). +-endif. +-ifndef('TAD-IDENTIFIER_CS'). +-define('TAD-IDENTIFIER_CS', 0). +-endif. +-ifndef('TAD-IDENTIFIER_PS'). +-define('TAD-IDENTIFIER_PS', 1). +-endif. +-ifndef('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD', 0). +-endif. +-ifndef('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD', 1). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED', 0). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS'). +-define('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_QOS'). +-define('TRIGGER-TYPE_CHANGE_IN_QOS', 2). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_LOCATION'). +-define('TRIGGER-TYPE_CHANGE_IN_LOCATION', 3). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_RAT'). +-define('TRIGGER-TYPE_CHANGE_IN_RAT', 4). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE'). +-define('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE', 5). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS', 10). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS', 11). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS', 12). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT', 13). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS', 14). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT', 15). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK', 16). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK', 17). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER'). +-define('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER', 18). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO'). +-define('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO', 19). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY', 20). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY', 21). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK', 22). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK', 23). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE'). +-define('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE', 24). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MCC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MCC', 30). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MNC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MNC', 31). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_RAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_RAC', 32). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_LAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_LAC', 33). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_CELLID'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_CELLID', 34). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_TAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_TAC', 35). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_ECGI'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_ECGI', 36). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION'). +-define('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION', 40). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB', 50). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB', 51). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE', 52). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION', 60). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE', 61). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW'). +-define('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW', 62). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION', 70). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION', 71). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION', 72). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA'). +-define('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA', 73). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL'). +-define('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL', 75). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF'). +-define('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF', 76). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP', 0). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NORMAL'). +-define('USER-PARTICIPATING-TYPE_NORMAL', 0). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NW-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_NW-POC-BOX', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_UE-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_UE-POC-BOX', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_INTEGER'). +-define('VARIABLE-PART-TYPE_INTEGER', 0). +-endif. +-ifndef('VARIABLE-PART-TYPE_NUMBER'). +-define('VARIABLE-PART-TYPE_NUMBER', 1). +-endif. +-ifndef('VARIABLE-PART-TYPE_TIME'). +-define('VARIABLE-PART-TYPE_TIME', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_DATE'). +-define('VARIABLE-PART-TYPE_DATE', 3). +-endif. +-ifndef('VARIABLE-PART-TYPE_CURRENCY'). +-define('VARIABLE-PART-TYPE_CURRENCY', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-ifndef('CC-REQUEST-TYPE_INITIAL_REQUEST'). +-define('CC-REQUEST-TYPE_INITIAL_REQUEST', 1). +-endif. +-ifndef('CC-REQUEST-TYPE_UPDATE_REQUEST'). +-define('CC-REQUEST-TYPE_UPDATE_REQUEST', 2). +-endif. +-ifndef('CC-REQUEST-TYPE_TERMINATION_REQUEST'). +-define('CC-REQUEST-TYPE_TERMINATION_REQUEST', 3). +-endif. +-ifndef('CC-REQUEST-TYPE_EVENT_REQUEST'). +-define('CC-REQUEST-TYPE_EVENT_REQUEST', 4). +-endif. +-ifndef('CC-SESSION-FAILOVER_NOT_SUPPORTED'). +-define('CC-SESSION-FAILOVER_NOT_SUPPORTED', 0). +-endif. +-ifndef('CC-SESSION-FAILOVER_SUPPORTED'). +-define('CC-SESSION-FAILOVER_SUPPORTED', 1). +-endif. +-ifndef('CHECK-BALANCE-RESULT_ENOUGH_CREDIT'). +-define('CHECK-BALANCE-RESULT_ENOUGH_CREDIT', 0). +-endif. +-ifndef('CHECK-BALANCE-RESULT_NO_CREDIT'). +-define('CHECK-BALANCE-RESULT_NO_CREDIT', 1). +-endif. +-ifndef('CREDIT-CONTROL_AUTHORIZATION'). +-define('CREDIT-CONTROL_AUTHORIZATION', 0). +-endif. +-ifndef('CREDIT-CONTROL_RE_AUTHORIZATION'). +-define('CREDIT-CONTROL_RE_AUTHORIZATION', 1). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE', 0). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE', 2). +-endif. +-ifndef('DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER'). +-define('DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER', 0). +-endif. +-ifndef('DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE'). +-define('DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE'). +-define('TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE', 0). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE'). +-define('TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE', 1). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE'). +-define('TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE', 2). +-endif. +-ifndef('CC-UNIT-TYPE_TIME'). +-define('CC-UNIT-TYPE_TIME', 0). +-endif. +-ifndef('CC-UNIT-TYPE_MONEY'). +-define('CC-UNIT-TYPE_MONEY', 1). +-endif. +-ifndef('CC-UNIT-TYPE_TOTAL-OCTETS'). +-define('CC-UNIT-TYPE_TOTAL-OCTETS', 2). +-endif. +-ifndef('CC-UNIT-TYPE_INPUT-OCTETS'). +-define('CC-UNIT-TYPE_INPUT-OCTETS', 3). +-endif. +-ifndef('CC-UNIT-TYPE_OUTPUT-OCTETS'). +-define('CC-UNIT-TYPE_OUTPUT-OCTETS', 4). +-endif. +-ifndef('CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS'). +-define('CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS', 5). +-endif. +-ifndef('FINAL-UNIT-ACTION_TERMINATE'). +-define('FINAL-UNIT-ACTION_TERMINATE', 0). +-endif. +-ifndef('FINAL-UNIT-ACTION_REDIRECT'). +-define('FINAL-UNIT-ACTION_REDIRECT', 1). +-endif. +-ifndef('FINAL-UNIT-ACTION_RESTRICT_ACCESS'). +-define('FINAL-UNIT-ACTION_RESTRICT_ACCESS', 2). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_IPV4'). +-define('REDIRECT-ADDRESS-TYPE_IPV4', 0). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_IPV6'). +-define('REDIRECT-ADDRESS-TYPE_IPV6', 1). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_URL'). +-define('REDIRECT-ADDRESS-TYPE_URL', 2). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_SIP_URI'). +-define('REDIRECT-ADDRESS-TYPE_SIP_URI', 3). +-endif. +-ifndef('MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED'). +-define('MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED', 0). +-endif. +-ifndef('MULTIPLE-SERVICES-INDICATOR_SUPPORTED'). +-define('MULTIPLE-SERVICES-INDICATOR_SUPPORTED', 1). +-endif. +-ifndef('REQUESTED-ACTION_DIRECT_DEBITING'). +-define('REQUESTED-ACTION_DIRECT_DEBITING', 0). +-endif. +-ifndef('REQUESTED-ACTION_REFUND_ACCOUNT'). +-define('REQUESTED-ACTION_REFUND_ACCOUNT', 1). +-endif. +-ifndef('REQUESTED-ACTION_CHECK_BALANCE'). +-define('REQUESTED-ACTION_CHECK_BALANCE', 2). +-endif. +-ifndef('REQUESTED-ACTION_PRICE_ENQUIRY'). +-define('REQUESTED-ACTION_PRICE_ENQUIRY', 3). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_E164'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_E164', 0). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_IMSI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_IMSI', 1). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI', 2). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_NAI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_NAI', 3). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE', 4). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_IMEISV'). +-define('USER-EQUIPMENT-INFO-TYPE_IMEISV', 0). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_MAC'). +-define('USER-EQUIPMENT-INFO-TYPE_MAC', 1). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_EUI64'). +-define('USER-EQUIPMENT-INFO-TYPE_EUI64', 2). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64'). +-define('USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc5777: +%%% ------------------------------------------------------- + +-ifndef('PROTOCOL_PROTOCOL_TODO_CHECK_RFC2780'). +-define('PROTOCOL_PROTOCOL_TODO_CHECK_RFC2780', 0). +-endif. +-ifndef('DIRECTION_DIRECTION_IN'). +-define('DIRECTION_DIRECTION_IN', 0). +-endif. +-ifndef('DIRECTION_DIRECTION_OUT'). +-define('DIRECTION_DIRECTION_OUT', 1). +-endif. +-ifndef('DIRECTION_DIRECTION_BOTH'). +-define('DIRECTION_DIRECTION_BOTH', 2). +-endif. +-ifndef('NEGATED_NEGATED_FALSE'). +-define('NEGATED_NEGATED_FALSE', 0). +-endif. +-ifndef('NEGATED_NEGATED_TRUE'). +-define('NEGATED_NEGATED_TRUE', 1). +-endif. +-ifndef('USE-ASSIGNED-ADDRESS_USE_ASSIGNED_ADDRESS_FALSE'). +-define('USE-ASSIGNED-ADDRESS_USE_ASSIGNED_ADDRESS_FALSE', 0). +-endif. +-ifndef('USE-ASSIGNED-ADDRESS_USE_ASSIGNED_ADDRESS_TRUE'). +-define('USE-ASSIGNED-ADDRESS_USE_ASSIGNED_ADDRESS_TRUE', 1). +-endif. +-ifndef('DIFFSERV-CODE-POINT_DIFFSERV_CODE_POINT_TODO_CHECK_RFC2474'). +-define('DIFFSERV-CODE-POINT_DIFFSERV_CODE_POINT_TODO_CHECK_RFC2474', 0). +-endif. +-ifndef('FRAGMENTATION-FLAG_FRAGMENTATION_FLAG_DF'). +-define('FRAGMENTATION-FLAG_FRAGMENTATION_FLAG_DF', 0). +-endif. +-ifndef('FRAGMENTATION-FLAG_FRAGMENTATION_FLAG_MF'). +-define('FRAGMENTATION-FLAG_FRAGMENTATION_FLAG_MF', 1). +-endif. +-ifndef('IP-OPTION-TYPE_IP_OPTION_TYPE_TODO_CHECK_RFC2780'). +-define('IP-OPTION-TYPE_IP_OPTION_TYPE_TODO_CHECK_RFC2780', 0). +-endif. +-ifndef('TCP-OPTION-TYPE_TCP_OPTION_TYPE_TODO_CHECK_RFC2780'). +-define('TCP-OPTION-TYPE_TCP_OPTION_TYPE_TODO_CHECK_RFC2780', 0). +-endif. +-ifndef('ICMP-TYPE-NUMBER_ICMP_TYPE_NUMBER_TODO_CHECK_RFC2780'). +-define('ICMP-TYPE-NUMBER_ICMP_TYPE_NUMBER_TODO_CHECK_RFC2780', 0). +-endif. +-ifndef('ICMP-CODE_ICMP_CODE_TODO_CHECK_RFC2780'). +-define('ICMP-CODE_ICMP_CODE_TODO_CHECK_RFC2780', 0). +-endif. +-ifndef('TIMEZONE-FLAG_TIMEZOME_FLAG_UTC'). +-define('TIMEZONE-FLAG_TIMEZOME_FLAG_UTC', 0). +-endif. +-ifndef('TIMEZONE-FLAG_TIMEZOME_FLAG_LOCAL'). +-define('TIMEZONE-FLAG_TIMEZOME_FLAG_LOCAL', 1). +-endif. +-ifndef('TIMEZONE-FLAG_TIMEZOME_FLAG_OFFSET'). +-define('TIMEZONE-FLAG_TIMEZOME_FLAG_OFFSET', 2). +-endif. +-ifndef('TREATMENT-ACTION_TREATMENT_ACTION_DROP'). +-define('TREATMENT-ACTION_TREATMENT_ACTION_DROP', 0). +-endif. +-ifndef('TREATMENT-ACTION_TREATMENT_ACTION_SHAPE'). +-define('TREATMENT-ACTION_TREATMENT_ACTION_SHAPE', 1). +-endif. +-ifndef('TREATMENT-ACTION_TREATMENT_ACTION_MARK'). +-define('TREATMENT-ACTION_TREATMENT_ACTION_MARK', 2). +-endif. +-ifndef('TREATMENT-ACTION_TREATMENT_ACTION_PERMIT'). +-define('TREATMENT-ACTION_TREATMENT_ACTION_PERMIT', 3). +-endif. +-ifndef('QOS-SEMANTICS_QOS_SEMANTICS_DESIRED'). +-define('QOS-SEMANTICS_QOS_SEMANTICS_DESIRED', 0). +-endif. +-ifndef('QOS-SEMANTICS_QOS_SEMANTICS_AVAILABLE'). +-define('QOS-SEMANTICS_QOS_SEMANTICS_AVAILABLE', 1). +-endif. +-ifndef('QOS-SEMANTICS_QOS_SEMANTICS_DELIVERED'). +-define('QOS-SEMANTICS_QOS_SEMANTICS_DELIVERED', 2). +-endif. +-ifndef('QOS-SEMANTICS_QOS_SEMANTICS_MINIMUM'). +-define('QOS-SEMANTICS_QOS_SEMANTICS_MINIMUM', 3). +-endif. +-ifndef('QOS-SEMANTICS_QOS_SEMANTICS_AUTHORIZE'). +-define('QOS-SEMANTICS_QOS_SEMANTICS_AUTHORIZE', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc7683: +%%% ------------------------------------------------------- + +-ifndef('OC-REPORT-TYPE_HOST_REPORT'). +-define('OC-REPORT-TYPE_HOST_REPORT', 0). +-endif. +-ifndef('OC-REPORT-TYPE_REALM_REPORT'). +-define('OC-REPORT-TYPE_REALM_REPORT', 1). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc7944: +%%% ------------------------------------------------------- + +-ifndef('DRMP_PRIORITY_15'). +-define('DRMP_PRIORITY_15', 15). +-endif. +-ifndef('DRMP_PRIORITY_14'). +-define('DRMP_PRIORITY_14', 14). +-endif. +-ifndef('DRMP_PRIORITY_13'). +-define('DRMP_PRIORITY_13', 13). +-endif. +-ifndef('DRMP_PRIORITY_12'). +-define('DRMP_PRIORITY_12', 12). +-endif. +-ifndef('DRMP_PRIORITY_11'). +-define('DRMP_PRIORITY_11', 11). +-endif. +-ifndef('DRMP_PRIORITY_10'). +-define('DRMP_PRIORITY_10', 10). +-endif. +-ifndef('DRMP_PRIORITY_9'). +-define('DRMP_PRIORITY_9', 9). +-endif. +-ifndef('DRMP_PRIORITY_8'). +-define('DRMP_PRIORITY_8', 8). +-endif. +-ifndef('DRMP_PRIORITY_7'). +-define('DRMP_PRIORITY_7', 7). +-endif. +-ifndef('DRMP_PRIORITY_6'). +-define('DRMP_PRIORITY_6', 6). +-endif. +-ifndef('DRMP_PRIORITY_5'). +-define('DRMP_PRIORITY_5', 5). +-endif. +-ifndef('DRMP_PRIORITY_4'). +-define('DRMP_PRIORITY_4', 4). +-endif. +-ifndef('DRMP_PRIORITY_3'). +-define('DRMP_PRIORITY_3', 3). +-endif. +-ifndef('DRMP_PRIORITY_2'). +-define('DRMP_PRIORITY_2', 2). +-endif. +-ifndef('DRMP_PRIORITY_1'). +-define('DRMP_PRIORITY_1', 1). +-endif. +-ifndef('DRMP_PRIORITY_0'). +-define('DRMP_PRIORITY_0', 0). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc8583: +%%% ------------------------------------------------------- + +-ifndef('LOAD-TYPE_HOST'). +-define('LOAD-TYPE_HOST', 0). +-endif. +-ifndef('LOAD-TYPE_PEER'). +-define('LOAD-TYPE_PEER', 1). +-endif. + diff --git a/include/diameter_3gpp_ts29_273_swx.hrl b/include/diameter_3gpp_ts29_273_swx.hrl new file mode 100644 index 0000000..59de772 --- /dev/null +++ b/include/diameter_3gpp_ts29_273_swx.hrl @@ -0,0 +1,3898 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_273_swx.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('MAR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Vendor-Specific-Application-Id', + 'SIP-Auth-Data-Item', + 'SIP-Number-Auth-Items', + 'Destination-Host' = [], + 'RAT-Type' = [], + 'DRMP' = [], + 'ANID' = [], + 'Visited-Network-Identifier' = [], + 'Terminal-Information' = [], + 'AAA-Failure-Indication' = [], + 'OC-Supported-Features' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('MAA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id', + 'User-Name', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'SIP-Number-Auth-Items' = [], + 'SIP-Auth-Data-Item' = [], + '3GPP-AAA-Server-Name' = [], + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('PPR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'Vendor-Specific-Application-Id', + 'User-Name', + 'DRMP' = [], + 'Non-3GPP-User-Data' = [], + 'PPR-Flags' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('PPA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Access-Network-Info' = [], + 'Local-Time-Zone' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('SAR', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Server-Assignment-Type', + 'DRMP' = [], + 'Destination-Host' = [], + 'Service-Selection' = [], + 'Context-Identifier' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Active-APN' = [], + 'OC-Supported-Features' = [], + 'Supported-Features' = [], + 'Terminal-Information' = [], + 'Emergency-Services' = [], + 'AVP' = []}). + +-record('SAA', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'User-Name', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Non-3GPP-User-Data' = [], + '3GPP-AAA-Server-Name' = [], + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('RTR', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'Deregistration-Reason', + 'DRMP' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('RTA', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_break_circles: +%%% ------------------------------------------------------- + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_214: +%%% ------------------------------------------------------- + +-record('Flows', + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_272: +%%% ------------------------------------------------------- + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_273: +%%% ------------------------------------------------------- + +-record('WLAN-Identifier', + {'SSID' = [], 'HESSID' = [], 'AVP' = []}). + +-record('Access-Network-Info', + {'SSID' = [], + 'BSSID' = [], + 'Location-Information' = [], + 'Location-Data' = [], + 'Operator-Name' = [], + 'Logical-Access-ID' = [], + 'AVP' = []}). + +-record('TWAN-Connectivity-Parameters', + {'Connectivity-Flags' = [], + 'Service-Selection' = [], + 'PDN-Type' = [], + 'Served-Party-IP-Address' = [], + 'TWAN-PCO' = [], + 'TWAG-UP-Address' = [], + 'TWAN-S2a-Failure-Cause' = [], + 'SM-Back-Off-Timer' = [], + 'AVP' = []}). + +-record('Non-3GPP-User-Data', + {'Subscription-Id' = [], + 'Non-3GPP-IP-Access' = [], + 'Non-3GPP-IP-Access-APN' = [], + 'RAT-Type' = [], + 'Session-Timeout' = [], + 'MIP6-Feature-Vector' = [], + 'AMBR' = [], + '3GPP-Charging-Characteristics' = [], + 'Context-Identifier' = [], + 'APN-OI-Replacement' = [], + 'APN-Configuration' = [], + 'Trace-Info' = [], + 'TWAN-Default-APN-Context-Id' = [], + 'TWAN-Access-Info' = [], + 'UE-Usage-Type' = [], + 'Emergency-Info' = [], + 'ERP-Authorization' = [], + 'Core-Network-Restrictions' = [], + 'AVP' = []}). + +-record('Trace-Info', + {'Trace-Data' = [], + 'Trace-Reference' = [], + 'AVP' = []}). + +-record('TWAN-Access-Info', + {'Access-Authorization-Flags' = [], + 'WLAN-Identifier' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc5447: +%%% ------------------------------------------------------- + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc7683: +%%% ------------------------------------------------------- + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc8583: +%%% ------------------------------------------------------- + +-record('Load', + {'Load-Type' = [], + 'Load-Value' = [], + 'SourceID' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PDP-TYPE_IPV4'). +-define('3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('3GPP-PDP-TYPE_PPP'). +-define('3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV6'). +-define('3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('3GPP-PDP-TYPE_IPV4V6'). +-define('3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('3GPP-PDP-TYPE_NON-IP'). +-define('3GPP-PDP-TYPE_NON-IP', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-ifndef('AN-GW-STATUS_AN_GW_FAILED'). +-define('AN-GW-STATUS_AN_GW_FAILED', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_ONLY'). +-define('BEARER-CONTROL-MODE_UE_ONLY', 0). +-endif. +-ifndef('BEARER-CONTROL-MODE_RESERVED'). +-define('BEARER-CONTROL-MODE_RESERVED', 1). +-endif. +-ifndef('BEARER-CONTROL-MODE_UE_NW'). +-define('BEARER-CONTROL-MODE_UE_NW', 2). +-endif. +-ifndef('BEARER-OPERATION_TERMINATION'). +-define('BEARER-OPERATION_TERMINATION', 0). +-endif. +-ifndef('BEARER-OPERATION_ESTABLISHMENT'). +-define('BEARER-OPERATION_ESTABLISHMENT', 1). +-endif. +-ifndef('BEARER-OPERATION_MODIFICATION'). +-define('BEARER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('BEARER-USAGE_GENERAL'). +-define('BEARER-USAGE_GENERAL', 0). +-endif. +-ifndef('BEARER-USAGE_IMS_SIGNALLING'). +-define('BEARER-USAGE_IMS_SIGNALLING', 1). +-endif. +-ifndef('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED'). +-define('CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL', 0). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL', 1). +-endif. +-ifndef('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL'). +-define('CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL', 2). +-endif. +-ifndef('EVENT-TRIGGER_SGSN_CHANGE'). +-define('EVENT-TRIGGER_SGSN_CHANGE', 0). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE'). +-define('EVENT-TRIGGER_QOS_CHANGE', 1). +-endif. +-ifndef('EVENT-TRIGGER_RAT_CHANGE'). +-define('EVENT-TRIGGER_RAT_CHANGE', 2). +-endif. +-ifndef('EVENT-TRIGGER_TFT_CHANGE'). +-define('EVENT-TRIGGER_TFT_CHANGE', 3). +-endif. +-ifndef('EVENT-TRIGGER_PLMN_CHANGE'). +-define('EVENT-TRIGGER_PLMN_CHANGE', 4). +-endif. +-ifndef('EVENT-TRIGGER_LOSS_OF_BEARER'). +-define('EVENT-TRIGGER_LOSS_OF_BEARER', 5). +-endif. +-ifndef('EVENT-TRIGGER_RECOVERY_OF_BEARER'). +-define('EVENT-TRIGGER_RECOVERY_OF_BEARER', 6). +-endif. +-ifndef('EVENT-TRIGGER_IP-CAN_CHANGE'). +-define('EVENT-TRIGGER_IP-CAN_CHANGE', 7). +-endif. +-ifndef('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION'). +-define('EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION', 11). +-endif. +-ifndef('EVENT-TRIGGER_RAI_CHANGE'). +-define('EVENT-TRIGGER_RAI_CHANGE', 12). +-endif. +-ifndef('EVENT-TRIGGER_USER_LOCATION_CHANGE'). +-define('EVENT-TRIGGER_USER_LOCATION_CHANGE', 13). +-endif. +-ifndef('EVENT-TRIGGER_NO_EVENT_TRIGGERS'). +-define('EVENT-TRIGGER_NO_EVENT_TRIGGERS', 14). +-endif. +-ifndef('EVENT-TRIGGER_OUT_OF_CREDIT'). +-define('EVENT-TRIGGER_OUT_OF_CREDIT', 15). +-endif. +-ifndef('EVENT-TRIGGER_REALLOCATION_OF_CREDIT'). +-define('EVENT-TRIGGER_REALLOCATION_OF_CREDIT', 16). +-endif. +-ifndef('EVENT-TRIGGER_REVALIDATION_TIMEOUT'). +-define('EVENT-TRIGGER_REVALIDATION_TIMEOUT', 17). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE', 18). +-endif. +-ifndef('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE'). +-define('EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE', 19). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE', 20). +-endif. +-ifndef('EVENT-TRIGGER_AN_GW_CHANGE'). +-define('EVENT-TRIGGER_AN_GW_CHANGE', 21). +-endif. +-ifndef('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION'). +-define('EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION', 22). +-endif. +-ifndef('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST'). +-define('EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST', 23). +-endif. +-ifndef('EVENT-TRIGGER_PGW_TRACE_CONTROL'). +-define('EVENT-TRIGGER_PGW_TRACE_CONTROL', 24). +-endif. +-ifndef('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE'). +-define('EVENT-TRIGGER_UE_TIME_ZONE_CHANGE', 25). +-endif. +-ifndef('EVENT-TRIGGER_TAI_CHANGE'). +-define('EVENT-TRIGGER_TAI_CHANGE', 26). +-endif. +-ifndef('EVENT-TRIGGER_ECGI_CHANGE'). +-define('EVENT-TRIGGER_ECGI_CHANGE', 27). +-endif. +-ifndef('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE'). +-define('EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE', 28). +-endif. +-ifndef('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE', 29). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE', 30). +-endif. +-ifndef('EVENT-TRIGGER_USAGE_REPORT'). +-define('EVENT-TRIGGER_USAGE_REPORT', 33). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE'). +-define('EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE', 34). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE', 35). +-endif. +-ifndef('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE'). +-define('EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE', 36). +-endif. +-ifndef('EVENT-TRIGGER_ROUTING_RULE_CHANGE'). +-define('EVENT-TRIGGER_ROUTING_RULE_CHANGE', 37). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_START'). +-define('EVENT-TRIGGER_APPLICATION_START', 39). +-endif. +-ifndef('EVENT-TRIGGER_APPLICATION_STOP'). +-define('EVENT-TRIGGER_APPLICATION_STOP', 40). +-endif. +-ifndef('EVENT-TRIGGER_CS_TO_PS_HANDOVER'). +-define('EVENT-TRIGGER_CS_TO_PS_HANDOVER', 42). +-endif. +-ifndef('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE', 43). +-endif. +-ifndef('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE'). +-define('EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE', 44). +-endif. +-ifndef('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT'). +-define('EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT', 45). +-endif. +-ifndef('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE'). +-define('EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE', 46). +-endif. +-ifndef('EVENT-TRIGGER_DEFAULT_QOS_CHANGE'). +-define('EVENT-TRIGGER_DEFAULT_QOS_CHANGE', 47). +-endif. +-ifndef('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT'). +-define('EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT', 48). +-endif. +-ifndef('FLOW-DIRECTION_UNSPECIFIED'). +-define('FLOW-DIRECTION_UNSPECIFIED', 0). +-endif. +-ifndef('FLOW-DIRECTION_DOWNLINK'). +-define('FLOW-DIRECTION_DOWNLINK', 1). +-endif. +-ifndef('FLOW-DIRECTION_UPLINK'). +-define('FLOW-DIRECTION_UPLINK', 2). +-endif. +-ifndef('FLOW-DIRECTION_BIDIRECTIONAL'). +-define('FLOW-DIRECTION_BIDIRECTIONAL', 3). +-endif. +-ifndef('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE'). +-define('IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE', 0). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-GPRS'). +-define('IP-CAN-TYPE_3GPP-GPRS', 0). +-endif. +-ifndef('IP-CAN-TYPE_DOCSIS'). +-define('IP-CAN-TYPE_DOCSIS', 1). +-endif. +-ifndef('IP-CAN-TYPE_XDSL'). +-define('IP-CAN-TYPE_XDSL', 2). +-endif. +-ifndef('IP-CAN-TYPE_WIMAX'). +-define('IP-CAN-TYPE_WIMAX', 3). +-endif. +-ifndef('IP-CAN-TYPE_3GPP2'). +-define('IP-CAN-TYPE_3GPP2', 4). +-endif. +-ifndef('IP-CAN-TYPE_3GPP-EPS'). +-define('IP-CAN-TYPE_3GPP-EPS', 5). +-endif. +-ifndef('IP-CAN-TYPE_NON-3GPP-EPS'). +-define('IP-CAN-TYPE_NON-3GPP-EPS', 6). +-endif. +-ifndef('IP-CAN-TYPE_FBA'). +-define('IP-CAN-TYPE_FBA', 7). +-endif. +-ifndef('METERING-METHOD_DURATION'). +-define('METERING-METHOD_DURATION', 0). +-endif. +-ifndef('METERING-METHOD_VOLUME'). +-define('METERING-METHOD_VOLUME', 1). +-endif. +-ifndef('METERING-METHOD_DURATION_VOLUME'). +-define('METERING-METHOD_DURATION_VOLUME', 2). +-endif. +-ifndef('METERING-METHOD_EVENT'). +-define('METERING-METHOD_EVENT', 3). +-endif. +-ifndef('MUTE-NOTIFICATION_MUTE_REQUIRED'). +-define('MUTE-NOTIFICATION_MUTE_REQUIRED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED', 0). +-endif. +-ifndef('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED'). +-define('NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED', 1). +-endif. +-ifndef('OFFLINE_DISABLE_OFFLINE'). +-define('OFFLINE_DISABLE_OFFLINE', 0). +-endif. +-ifndef('OFFLINE_ENABLE_OFFLINE'). +-define('OFFLINE_ENABLE_OFFLINE', 1). +-endif. +-ifndef('ONLINE_DISABLE_ONLINE'). +-define('ONLINE_DISABLE_ONLINE', 0). +-endif. +-ifndef('ONLINE_ENABLE_ONLINE'). +-define('ONLINE_ENABLE_ONLINE', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_DELETION'). +-define('PACKET-FILTER-OPERATION_DELETION', 0). +-endif. +-ifndef('PACKET-FILTER-OPERATION_ADDITION'). +-define('PACKET-FILTER-OPERATION_ADDITION', 1). +-endif. +-ifndef('PACKET-FILTER-OPERATION_MODIFICATION'). +-define('PACKET-FILTER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('PACKET-FILTER-USAGE_SEND_TO_UE'). +-define('PACKET-FILTER-USAGE_SEND_TO_UE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_ACTIVE'). +-define('PCC-RULE-STATUS_ACTIVE', 0). +-endif. +-ifndef('PCC-RULE-STATUS_INACTIVE'). +-define('PCC-RULE-STATUS_INACTIVE', 1). +-endif. +-ifndef('PCC-RULE-STATUS_TEMPORARILY_INACTIVE'). +-define('PCC-RULE-STATUS_TEMPORARILY_INACTIVE', 2). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED'). +-define('PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED', 1). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED', 0). +-endif. +-ifndef('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED'). +-define('PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED', 1). +-endif. +-ifndef('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE'). +-define('PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE', 0). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_1'). +-define('QOS-CLASS-IDENTIFIER_QCI_1', 1). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_2'). +-define('QOS-CLASS-IDENTIFIER_QCI_2', 2). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_3'). +-define('QOS-CLASS-IDENTIFIER_QCI_3', 3). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_4'). +-define('QOS-CLASS-IDENTIFIER_QCI_4', 4). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_5'). +-define('QOS-CLASS-IDENTIFIER_QCI_5', 5). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_6'). +-define('QOS-CLASS-IDENTIFIER_QCI_6', 6). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_7'). +-define('QOS-CLASS-IDENTIFIER_QCI_7', 7). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_8'). +-define('QOS-CLASS-IDENTIFIER_QCI_8', 8). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_9'). +-define('QOS-CLASS-IDENTIFIER_QCI_9', 9). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_65'). +-define('QOS-CLASS-IDENTIFIER_QCI_65', 65). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_66'). +-define('QOS-CLASS-IDENTIFIER_QCI_66', 66). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_69'). +-define('QOS-CLASS-IDENTIFIER_QCI_69', 69). +-endif. +-ifndef('QOS-CLASS-IDENTIFIER_QCI_70'). +-define('QOS-CLASS-IDENTIFIER_QCI_70', 70). +-endif. +-ifndef('QOS-NEGOTIATION_NO_QOS_NEGOTIATION'). +-define('QOS-NEGOTIATION_NO_QOS_NEGOTIATION', 0). +-endif. +-ifndef('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED'). +-define('QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED', 1). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED', 0). +-endif. +-ifndef('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED'). +-define('QOS-UPGRADE_QOS_UPGRADE_SUPPORTED', 1). +-endif. +-ifndef('RAT-TYPE_WLAN'). +-define('RAT-TYPE_WLAN', 0). +-endif. +-ifndef('RAT-TYPE_VIRTUAL'). +-define('RAT-TYPE_VIRTUAL', 1). +-endif. +-ifndef('RAT-TYPE_UTRAN'). +-define('RAT-TYPE_UTRAN', 1000). +-endif. +-ifndef('RAT-TYPE_GERAN'). +-define('RAT-TYPE_GERAN', 1001). +-endif. +-ifndef('RAT-TYPE_GAN'). +-define('RAT-TYPE_GAN', 1002). +-endif. +-ifndef('RAT-TYPE_HSPA_EVOLUTION'). +-define('RAT-TYPE_HSPA_EVOLUTION', 1003). +-endif. +-ifndef('RAT-TYPE_EUTRAN'). +-define('RAT-TYPE_EUTRAN', 1004). +-endif. +-ifndef('RAT-TYPE_CDMA2000_1X'). +-define('RAT-TYPE_CDMA2000_1X', 2000). +-endif. +-ifndef('RAT-TYPE_HRPD'). +-define('RAT-TYPE_HRPD', 2001). +-endif. +-ifndef('RAT-TYPE_UMB'). +-define('RAT-TYPE_UMB', 2002). +-endif. +-ifndef('RAT-TYPE_EHRPD'). +-define('RAT-TYPE_EHRPD', 2003). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_DISABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_DISABLED', 0). +-endif. +-ifndef('REDIRECT-SUPPORT_REDIRECTION_ENABLED'). +-define('REDIRECT-SUPPORT_REDIRECTION_ENABLED', 1). +-endif. +-ifndef('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL'). +-define('REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL', 0). +-endif. +-ifndef('REPORTING-LEVEL_RATING_GROUP_LEVEL'). +-define('REPORTING-LEVEL_RATING_GROUP_LEVEL', 1). +-endif. +-ifndef('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL'). +-define('REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL', 2). +-endif. +-ifndef('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION'). +-define('RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION', 0). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME'). +-define('RULE-FAILURE-CODE_UNKNOWN_RULE_NAME', 1). +-endif. +-ifndef('RULE-FAILURE-CODE_RATING_GROUP_ERROR'). +-define('RULE-FAILURE-CODE_RATING_GROUP_ERROR', 2). +-endif. +-ifndef('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR', 3). +-endif. +-ifndef('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION'). +-define('RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION', 4). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCES_LIMITATION'). +-define('RULE-FAILURE-CODE_RESOURCES_LIMITATION', 5). +-endif. +-ifndef('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED'). +-define('RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED', 6). +-endif. +-ifndef('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID'). +-define('RULE-FAILURE-CODE_UNKNOWN_BEARER_ID', 7). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_BEARER_ID'). +-define('RULE-FAILURE-CODE_MISSING_BEARER_ID', 8). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION', 9). +-endif. +-ifndef('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE'). +-define('RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE', 10). +-endif. +-ifndef('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION'). +-define('RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION', 11). +-endif. +-ifndef('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION'). +-define('RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION', 12). +-endif. +-ifndef('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER'). +-define('RULE-FAILURE-CODE_PS_TO_CS_HANDOVER', 13). +-endif. +-ifndef('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR'). +-define('RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR', 14). +-endif. +-ifndef('RULE-FAILURE-CODE_NO_BEARER_BOUND'). +-define('RULE-FAILURE-CODE_NO_BEARER_BOUND', 15). +-endif. +-ifndef('RULE-FAILURE-CODE_FILTER_RESTRICTIONS'). +-define('RULE-FAILURE-CODE_FILTER_RESTRICTIONS', 16). +-endif. +-ifndef('RULE-FAILURE-CODE_AN_GW_FAILED'). +-define('RULE-FAILURE-CODE_AN_GW_FAILED', 17). +-endif. +-ifndef('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS'). +-define('RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS', 18). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED'). +-define('RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED', 19). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE'). +-define('RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE', 20). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED'). +-define('RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED', 21). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_USER_UNKNOWN'). +-define('RULE-FAILURE-CODE_CM_USER_UNKNOWN', 22). +-endif. +-ifndef('RULE-FAILURE-CODE_CM_RATING_FAILED'). +-define('RULE-FAILURE-CODE_CM_RATING_FAILED', 23). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON'). +-define('SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON', 0). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON'). +-define('SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON', 1). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES'). +-define('SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES', 2). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION'). +-define('SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION', 3). +-endif. +-ifndef('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE'). +-define('SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE', 4). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_SESSION_LEVEL'). +-define('USAGE-MONITORING-LEVEL_SESSION_LEVEL', 0). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL', 1). +-endif. +-ifndef('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL'). +-define('USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL', 2). +-endif. +-ifndef('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED'). +-define('USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED', 0). +-endif. +-ifndef('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED'). +-define('USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED', 0). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-ifndef('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT'). +-define('SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT', 0). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_REGISTRATION', 1). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION', 2). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER'). +-define('SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER', 3). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION', 4). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION', 5). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME', 6). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME'). +-define('SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME', 7). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION'). +-define('SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION', 8). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE', 9). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT'). +-define('SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT', 10). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA'). +-define('SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA', 11). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST'). +-define('SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST', 12). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE'). +-define('SERVER-ASSIGNMENT-TYPE_PGW_UPDATE', 13). +-endif. +-ifndef('SERVER-ASSIGNMENT-TYPE_RESTORATION'). +-define('SERVER-ASSIGNMENT-TYPE_RESTORATION', 14). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_272: +%%% ------------------------------------------------------- + +-ifndef('NETWORK-ACCESS-MODE_PACKET_AND_CIRCUIT'). +-define('NETWORK-ACCESS-MODE_PACKET_AND_CIRCUIT', 0). +-endif. +-ifndef('NETWORK-ACCESS-MODE_RESERVED'). +-define('NETWORK-ACCESS-MODE_RESERVED', 1). +-endif. +-ifndef('NETWORK-ACCESS-MODE_ONLY_PACKET'). +-define('NETWORK-ACCESS-MODE_ONLY_PACKET', 2). +-endif. +-ifndef('CANCELLATION-TYPE_MME_UPDATE_PROCEDURE'). +-define('CANCELLATION-TYPE_MME_UPDATE_PROCEDURE', 0). +-endif. +-ifndef('CANCELLATION-TYPE_SGSN_UPDATE_PROCEDURE'). +-define('CANCELLATION-TYPE_SGSN_UPDATE_PROCEDURE', 1). +-endif. +-ifndef('CANCELLATION-TYPE_SUBSCRIPTION_WITHDRAWAL'). +-define('CANCELLATION-TYPE_SUBSCRIPTION_WITHDRAWAL', 2). +-endif. +-ifndef('CANCELLATION-TYPE_UPDATE_PROCEDURE_IWF'). +-define('CANCELLATION-TYPE_UPDATE_PROCEDURE_IWF', 3). +-endif. +-ifndef('CANCELLATION-TYPE_INITIAL_ATTACH_PROCEDURE'). +-define('CANCELLATION-TYPE_INITIAL_ATTACH_PROCEDURE', 4). +-endif. +-ifndef('SUBSCRIBER-STATUS_SERVICE_GRANTED'). +-define('SUBSCRIBER-STATUS_SERVICE_GRANTED', 0). +-endif. +-ifndef('SUBSCRIBER-STATUS_OPERATOR_DETERMINED_BARRING'). +-define('SUBSCRIBER-STATUS_OPERATOR_DETERMINED_BARRING', 1). +-endif. +-ifndef('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_ALL_APN_CONFIGURATIONS_INCLUDED'). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_ALL_APN_CONFIGURATIONS_INCLUDED', 0). +-endif. +-ifndef('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED'). +-define('ALL-APN-CONFIGURATIONS-INCLUDED-INDICATOR_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED', 1). +-endif. +-ifndef('VPLMN-DYNAMIC-ADDRESS-ALLOWED_NOTALLOWED'). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_NOTALLOWED', 0). +-endif. +-ifndef('VPLMN-DYNAMIC-ADDRESS-ALLOWED_ALLOWED'). +-define('VPLMN-DYNAMIC-ADDRESS-ALLOWED_ALLOWED', 1). +-endif. +-ifndef('PDN-GW-ALLOCATION-TYPE_STATIC'). +-define('PDN-GW-ALLOCATION-TYPE_STATIC', 0). +-endif. +-ifndef('PDN-GW-ALLOCATION-TYPE_DYNAMIC'). +-define('PDN-GW-ALLOCATION-TYPE_DYNAMIC', 1). +-endif. +-ifndef('EQUIPMENT-STATUS_WHITELISTED'). +-define('EQUIPMENT-STATUS_WHITELISTED', 0). +-endif. +-ifndef('EQUIPMENT-STATUS_BLACKLISTED'). +-define('EQUIPMENT-STATUS_BLACKLISTED', 1). +-endif. +-ifndef('EQUIPMENT-STATUS_GREYLISTED'). +-define('EQUIPMENT-STATUS_GREYLISTED', 2). +-endif. +-ifndef('PDN-TYPE_IPV4'). +-define('PDN-TYPE_IPV4', 0). +-endif. +-ifndef('PDN-TYPE_IPV6'). +-define('PDN-TYPE_IPV6', 1). +-endif. +-ifndef('PDN-TYPE_IPV4V6'). +-define('PDN-TYPE_IPV4V6', 2). +-endif. +-ifndef('PDN-TYPE_IPV4_OR_IPV6'). +-define('PDN-TYPE_IPV4_OR_IPV6', 3). +-endif. +-ifndef('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_ALL_PDP_CONTEXTS_INCLUDED'). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_ALL_PDP_CONTEXTS_INCLUDED', 0). +-endif. +-ifndef('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED'). +-define('COMPLETE-DATA-LIST-INCLUDED-INDICATOR_MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED', 1). +-endif. +-ifndef('ROAMING-RESTRICTED-DUE-TO-UNSUPPORTED-FEATURE_ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE'). +-define('ROAMING-RESTRICTED-DUE-TO-UNSUPPORTED-FEATURE_ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE', 0). +-endif. +-ifndef('ALERT-REASON_UE_PRESENT'). +-define('ALERT-REASON_UE_PRESENT', 0). +-endif. +-ifndef('ALERT-REASON_UE_MEMORY_AVAILABLE'). +-define('ALERT-REASON_UE_MEMORY_AVAILABLE', 1). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFY_LOCATION_ALLOWED'). +-define('NOTIFICATION-TO-UE-USER_NOTIFY_LOCATION_ALLOWED', 0). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE'). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE', 1). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE'). +-define('NOTIFICATION-TO-UE-USER_NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE', 2). +-endif. +-ifndef('NOTIFICATION-TO-UE-USER_LOCATION_NOT_ALLOWED'). +-define('NOTIFICATION-TO-UE-USER_LOCATION_NOT_ALLOWED', 3). +-endif. +-ifndef('GMLC-RESTRICTION_GMLC_LIST'). +-define('GMLC-RESTRICTION_GMLC_LIST', 0). +-endif. +-ifndef('GMLC-RESTRICTION_HOME_COUNTRY'). +-define('GMLC-RESTRICTION_HOME_COUNTRY', 1). +-endif. +-ifndef('PLMN-CLIENT_BROADCAST_SERVICE'). +-define('PLMN-CLIENT_BROADCAST_SERVICE', 0). +-endif. +-ifndef('PLMN-CLIENT_O_AND_M_HPLMN'). +-define('PLMN-CLIENT_O_AND_M_HPLMN', 1). +-endif. +-ifndef('PLMN-CLIENT_O_AND_M_VPLMN'). +-define('PLMN-CLIENT_O_AND_M_VPLMN', 2). +-endif. +-ifndef('PLMN-CLIENT_ANONYMOUS_LOCATION'). +-define('PLMN-CLIENT_ANONYMOUS_LOCATION', 3). +-endif. +-ifndef('PLMN-CLIENT_TARGET_UE_SUBSCRIBED_SERVICE'). +-define('PLMN-CLIENT_TARGET_UE_SUBSCRIBED_SERVICE', 4). +-endif. +-ifndef('ICS-INDICATOR_FALSE'). +-define('ICS-INDICATOR_FALSE', 0). +-endif. +-ifndef('ICS-INDICATOR_TRUE'). +-define('ICS-INDICATOR_TRUE', 1). +-endif. +-ifndef('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_NOT_SUPPORTED'). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_NOT_SUPPORTED', 0). +-endif. +-ifndef('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_SUPPORTED'). +-define('IMS-VOICE-OVER-PS-SESSIONS-SUPPORTED_SUPPORTED', 1). +-endif. +-ifndef('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_NOT_SUPPORTED'). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_NOT_SUPPORTED', 0). +-endif. +-ifndef('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_SUPPORTED'). +-define('HOMOGENEOUS-SUPPORT-OF-IMS-VOICE-OVER-PS-SESSIONS_SUPPORTED', 1). +-endif. +-ifndef('USER-STATE_DETACHED'). +-define('USER-STATE_DETACHED', 0). +-endif. +-ifndef('USER-STATE_ATTACHED_NOT_REACHABLE_FOR_PAGING'). +-define('USER-STATE_ATTACHED_NOT_REACHABLE_FOR_PAGING', 1). +-endif. +-ifndef('USER-STATE_ATTACHED_REACHABLE_FOR_PAGING'). +-define('USER-STATE_ATTACHED_REACHABLE_FOR_PAGING', 2). +-endif. +-ifndef('USER-STATE_CONNECTED_NOT_REACHABLE_FOR_PAGING'). +-define('USER-STATE_CONNECTED_NOT_REACHABLE_FOR_PAGING', 3). +-endif. +-ifndef('USER-STATE_CONNECTED_REACHABLE_FOR_PAGING'). +-define('USER-STATE_CONNECTED_REACHABLE_FOR_PAGING', 4). +-endif. +-ifndef('USER-STATE_NETWORK_DETERMINED_NOT_REACHABLE'). +-define('USER-STATE_NETWORK_DETERMINED_NOT_REACHABLE', 5). +-endif. +-ifndef('CURRENT-LOCATION-RETRIEVED_ACTIVE-LOCATION-RETRIEVAL'). +-define('CURRENT-LOCATION-RETRIEVED_ACTIVE-LOCATION-RETRIEVAL', 0). +-endif. +-ifndef('ERROR-DIAGNOSTIC_GPRS_DATA_SUBSCRIBED'). +-define('ERROR-DIAGNOSTIC_GPRS_DATA_SUBSCRIBED', 0). +-endif. +-ifndef('ERROR-DIAGNOSTIC_NO_GPRS_DATA_SUBSCRIBED'). +-define('ERROR-DIAGNOSTIC_NO_GPRS_DATA_SUBSCRIBED', 1). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-ALL-APN'). +-define('ERROR-DIAGNOSTIC_ODB-ALL-APN', 2). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-HPLMN-APN'). +-define('ERROR-DIAGNOSTIC_ODB-HPLMN-APN', 3). +-endif. +-ifndef('ERROR-DIAGNOSTIC_ODB-VPLMN-APN'). +-define('ERROR-DIAGNOSTIC_ODB-VPLMN-APN', 4). +-endif. +-ifndef('UE-SRVCC-CAPABILITY_UE-SRVCC-NOT-SUPPORTED'). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-NOT-SUPPORTED', 0). +-endif. +-ifndef('UE-SRVCC-CAPABILITY_UE-SRVCC-SUPPORTED'). +-define('UE-SRVCC-CAPABILITY_UE-SRVCC-SUPPORTED', 1). +-endif. +-ifndef('VPLMN-LIPA-ALLOWED_LIPA-NOTALLOWED'). +-define('VPLMN-LIPA-ALLOWED_LIPA-NOTALLOWED', 0). +-endif. +-ifndef('VPLMN-LIPA-ALLOWED_LIPA-ALLOWED'). +-define('VPLMN-LIPA-ALLOWED_LIPA-ALLOWED', 1). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-PROHIBITED'). +-define('LIPA-PERMISSION_LIPA-PROHIBITED', 0). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-ONLY'). +-define('LIPA-PERMISSION_LIPA-ONLY', 1). +-endif. +-ifndef('LIPA-PERMISSION_LIPA-CONDITIONAL'). +-define('LIPA-PERMISSION_LIPA-CONDITIONAL', 2). +-endif. +-ifndef('SIPTO-PERMISSION_SIPTO_ALLOWED'). +-define('SIPTO-PERMISSION_SIPTO_ALLOWED', 0). +-endif. +-ifndef('SIPTO-PERMISSION_SIPTO_NOTALLOWED'). +-define('SIPTO-PERMISSION_SIPTO_NOTALLOWED', 1). +-endif. +-ifndef('RELAY-NODE-INDICATOR_NOT_RELAY_NODE'). +-define('RELAY-NODE-INDICATOR_NOT_RELAY_NODE', 0). +-endif. +-ifndef('RELAY-NODE-INDICATOR_RELAY_NODE'). +-define('RELAY-NODE-INDICATOR_RELAY_NODE', 1). +-endif. +-ifndef('MDT-USER-CONSENT_CONSENT_NOT_GIVEN'). +-define('MDT-USER-CONSENT_CONSENT_NOT_GIVEN', 0). +-endif. +-ifndef('MDT-USER-CONSENT_CONSENT_GIVEN'). +-define('MDT-USER-CONSENT_CONSENT_GIVEN', 1). +-endif. +-ifndef('SUBSCRIBED-VSRVCC_VSRVCC_SUBSCRIBED'). +-define('SUBSCRIBED-VSRVCC_VSRVCC_SUBSCRIBED', 0). +-endif. +-ifndef('SMS-REGISTER-REQUEST_SMS_REGISTRATION_REQUIRED'). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_REQUIRED', 0). +-endif. +-ifndef('SMS-REGISTER-REQUEST_SMS_REGISTRATION_NOT_PREFERRED'). +-define('SMS-REGISTER-REQUEST_SMS_REGISTRATION_NOT_PREFERRED', 1). +-endif. +-ifndef('SMS-REGISTER-REQUEST_NO_PREFERENCE'). +-define('SMS-REGISTER-REQUEST_NO_PREFERENCE', 2). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_NO_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_NO_ADJUSTMENT', 0). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_PLUS_ONE_HOUR_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_PLUS_ONE_HOUR_ADJUSTMENT', 1). +-endif. +-ifndef('DAYLIGHT-SAVING-TIME_PLUS_TWO_HOURS_ADJUSTMENT'). +-define('DAYLIGHT-SAVING-TIME_PLUS_TWO_HOURS_ADJUSTMENT', 2). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_273: +%%% ------------------------------------------------------- + +-ifndef('AN-TRUSTED_TRUSTED'). +-define('AN-TRUSTED_TRUSTED', 0). +-endif. +-ifndef('AN-TRUSTED_UNTRUSTED'). +-define('AN-TRUSTED_UNTRUSTED', 1). +-endif. +-ifndef('TRANSPORT-ACCESS-TYPE_BBF'). +-define('TRANSPORT-ACCESS-TYPE_BBF', 0). +-endif. +-ifndef('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_ALLOWED'). +-define('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_ALLOWED', 0). +-endif. +-ifndef('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_BARRED'). +-define('NON-3GPP-IP-ACCESS_NON_3GPP_SUBSCRIPTION_BARRED', 1). +-endif. +-ifndef('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_ENABLE'). +-define('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_ENABLE', 0). +-endif. +-ifndef('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_DISABLE'). +-define('NON-3GPP-IP-ACCESS-APN_NON_3GPP_APNS_DISABLE', 1). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts32_299: +%%% ------------------------------------------------------- + +-ifndef('3GPP-PS-DATA-OFF-STATUS_ACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_ACTIVE', 0). +-endif. +-ifndef('3GPP-PS-DATA-OFF-STATUS_INACTIVE'). +-define('3GPP-PS-DATA-OFF-STATUS_INACTIVE', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER', 0). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER', 1). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER', 2). +-endif. +-ifndef('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER'). +-define('ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER', 3). +-endif. +-ifndef('ADAPTATIONS_YES'). +-define('ADAPTATIONS_YES', 0). +-endif. +-ifndef('ADAPTATIONS_NO'). +-define('ADAPTATIONS_NO', 1). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED', 0). +-endif. +-ifndef('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED'). +-define('ADDITIONAL-EXCEPTION-REPORTS_ALLOWED', 1). +-endif. +-ifndef('ADDRESS-TYPE_E-MAIL-ADDRESS'). +-define('ADDRESS-TYPE_E-MAIL-ADDRESS', 0). +-endif. +-ifndef('ADDRESS-TYPE_MSISDN'). +-define('ADDRESS-TYPE_MSISDN', 1). +-endif. +-ifndef('ADDRESS-TYPE_IPV4-ADDRESS'). +-define('ADDRESS-TYPE_IPV4-ADDRESS', 2). +-endif. +-ifndef('ADDRESS-TYPE_IPV6-ADDRESS'). +-define('ADDRESS-TYPE_IPV6-ADDRESS', 3). +-endif. +-ifndef('ADDRESS-TYPE_NUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_NUMERIC-SHORTCODE', 4). +-endif. +-ifndef('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE'). +-define('ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE', 5). +-endif. +-ifndef('ADDRESS-TYPE_OTHER'). +-define('ADDRESS-TYPE_OTHER', 6). +-endif. +-ifndef('ADDRESS-TYPE_IMSI'). +-define('ADDRESS-TYPE_IMSI', 7). +-endif. +-ifndef('ADDRESSEE-TYPE_TO'). +-define('ADDRESSEE-TYPE_TO', 0). +-endif. +-ifndef('ADDRESSEE-TYPE_CC'). +-define('ADDRESSEE-TYPE_CC', 1). +-endif. +-ifndef('ADDRESSEE-TYPE_BCC'). +-define('ADDRESSEE-TYPE_BCC', 2). +-endif. +-ifndef('AOC-FORMAT_MONETARY'). +-define('AOC-FORMAT_MONETARY', 0). +-endif. +-ifndef('AOC-FORMAT_NON_MONETARY'). +-define('AOC-FORMAT_NON_MONETARY', 1). +-endif. +-ifndef('AOC-FORMAT_CAI'). +-define('AOC-FORMAT_CAI', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED'). +-define('AOC-REQUEST-TYPE_AOC_NOT_REQUESTED', 0). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_FULL'). +-define('AOC-REQUEST-TYPE_AOC_FULL', 1). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_COST_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_COST_ONLY', 2). +-endif. +-ifndef('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY'). +-define('AOC-REQUEST-TYPE_AOC_TARIFF_ONLY', 3). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING', 0). +-endif. +-ifndef('AOC-SERVICE-OBLIGATORY-TYPE_BINDING'). +-define('AOC-SERVICE-OBLIGATORY-TYPE_BINDING', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_NONE'). +-define('AOC-SERVICE-TYPE_NONE', 0). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-S'). +-define('AOC-SERVICE-TYPE_AOC-S', 1). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-D'). +-define('AOC-SERVICE-TYPE_AOC-D', 2). +-endif. +-ifndef('AOC-SERVICE-TYPE_AOC-E'). +-define('AOC-SERVICE-TYPE_AOC-E', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_UNKNOWN'). +-define('CHARGE-REASON-CODE_UNKNOWN', 0). +-endif. +-ifndef('CHARGE-REASON-CODE_USAGE'). +-define('CHARGE-REASON-CODE_USAGE', 1). +-endif. +-ifndef('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE'). +-define('CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE', 2). +-endif. +-ifndef('CHARGE-REASON-CODE_SETUP-CHARGE'). +-define('CHARGE-REASON-CODE_SETUP-CHARGE', 3). +-endif. +-ifndef('CHARGE-REASON-CODE_ADD-ON-CHARGE'). +-define('CHARGE-REASON-CODE_ADD-ON-CHARGE', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED', 0). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC', 1). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC', 2). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT', 3). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT', 4). +-endif. +-ifndef('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT'). +-define('CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT', 5). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE', 0). +-endif. +-ifndef('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE'). +-define('CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_PERSONAL'). +-define('CLASS-IDENTIFIER_PERSONAL', 0). +-endif. +-ifndef('CLASS-IDENTIFIER_ADVERTISEMENT'). +-define('CLASS-IDENTIFIER_ADVERTISEMENT', 1). +-endif. +-ifndef('CLASS-IDENTIFIER_INFORMATIONAL'). +-define('CLASS-IDENTIFIER_INFORMATIONAL', 2). +-endif. +-ifndef('CLASS-IDENTIFIER_AUTO'). +-define('CLASS-IDENTIFIER_AUTO', 3). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE', 0). +-endif. +-ifndef('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK'). +-define('CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK', 1). +-endif. +-ifndef('CONTENT-CLASS_TEXT'). +-define('CONTENT-CLASS_TEXT', 0). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-BASIC'). +-define('CONTENT-CLASS_IMAGE-BASIC', 1). +-endif. +-ifndef('CONTENT-CLASS_IMAGE-RICH'). +-define('CONTENT-CLASS_IMAGE-RICH', 2). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-BASIC'). +-define('CONTENT-CLASS_VIDEO-BASIC', 3). +-endif. +-ifndef('CONTENT-CLASS_VIDEO-RICH'). +-define('CONTENT-CLASS_VIDEO-RICH', 4). +-endif. +-ifndef('CONTENT-CLASS_MEGAPIXEL'). +-define('CONTENT-CLASS_MEGAPIXEL', 5). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-BASIC'). +-define('CONTENT-CLASS_CONTENT-BASIC', 6). +-endif. +-ifndef('CONTENT-CLASS_CONTENT-RICH'). +-define('CONTENT-CLASS_CONTENT-RICH', 7). +-endif. +-ifndef('COVERAGE-STATUS_OUT-OF-COVERAGE'). +-define('COVERAGE-STATUS_OUT-OF-COVERAGE', 0). +-endif. +-ifndef('COVERAGE-STATUS_IN-COVERAGE'). +-define('COVERAGE-STATUS_IN-COVERAGE', 1). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY', 0). +-endif. +-ifndef('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY'). +-define('CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY', 1). +-endif. +-ifndef('CSG-ACCESS-MODE_CLOSED-MODE'). +-define('CSG-ACCESS-MODE_CLOSED-MODE', 0). +-endif. +-ifndef('CSG-ACCESS-MODE_HYBRID-MODE'). +-define('CSG-ACCESS-MODE_HYBRID-MODE', 1). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER', 0). +-endif. +-ifndef('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER'). +-define('CSG-MEMBERSHIP-INDICATION_CSG-MEMBER', 1). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_NO'). +-define('DELIVERY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('DELIVERY-REPORT-REQUESTED_YES'). +-define('DELIVERY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('DRM-CONTENT_NO'). +-define('DRM-CONTENT_NO', 0). +-endif. +-ifndef('DRM-CONTENT_YES'). +-define('DRM-CONTENT_YES', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG_DYNAMIC', 1). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC', 0). +-endif. +-ifndef('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC'). +-define('DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES', 0). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES', 1). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME', 2). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS', 3). +-endif. +-ifndef('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS'). +-define('ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS', 4). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_SUPPORTED', 1). +-endif. +-ifndef('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED'). +-define('FILE-REPAIR-SUPPORTED_NOT_SUPPORTED', 2). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-NOT-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-NOT-PENDING', 0). +-endif. +-ifndef('FORWARDING-PENDING_FORWARDING-PENDING'). +-define('FORWARDING-PENDING_FORWARDING-PENDING', 1). +-endif. +-ifndef('INTERFACE-TYPE_UNKNOWN'). +-define('INTERFACE-TYPE_UNKNOWN', 0). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_ORIGINATING'). +-define('INTERFACE-TYPE_MOBILE_ORIGINATING', 1). +-endif. +-ifndef('INTERFACE-TYPE_MOBILE_TERMINATING'). +-define('INTERFACE-TYPE_MOBILE_TERMINATING', 2). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_ORIGINATING'). +-define('INTERFACE-TYPE_APPLICATION_ORIGINATING', 3). +-endif. +-ifndef('INTERFACE-TYPE_APPLICATION_TERMINATION'). +-define('INTERFACE-TYPE_APPLICATION_TERMINATION', 4). +-endif. +-ifndef('INTER-UE-TRANSFER_INTRA-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTRA-UE-TRANSFER', 0). +-endif. +-ifndef('INTER-UE-TRANSFER_INTER-UE-TRANSFER'). +-define('INTER-UE-TRANSFER_INTER-UE-TRANSFER', 1). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_NON-EMERGENCY', 0). +-endif. +-ifndef('IMS-EMERGENCY-INDICATOR_EMERGENCY'). +-define('IMS-EMERGENCY-INDICATOR_EMERGENCY', 1). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED', 0). +-endif. +-ifndef('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED'). +-define('IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED', 1). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED', 0). +-endif. +-ifndef('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED'). +-define('IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_EMERGENCY_SERVICES'). +-define('LCS-CLIENT-TYPE_EMERGENCY_SERVICES', 0). +-endif. +-ifndef('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES'). +-define('LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES', 1). +-endif. +-ifndef('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES'). +-define('LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES', 2). +-endif. +-ifndef('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES'). +-define('LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_LOGICAL_NAME'). +-define('LCS-FORMAT-INDICATOR_LOGICAL_NAME', 0). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS'). +-define('LCS-FORMAT-INDICATOR_EMAIL_ADDRESS', 1). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_MSISDN'). +-define('LCS-FORMAT-INDICATOR_MSISDN', 2). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_URL'). +-define('LCS-FORMAT-INDICATOR_URL', 3). +-endif. +-ifndef('LCS-FORMAT-INDICATOR_SIP_URL'). +-define('LCS-FORMAT-INDICATOR_SIP_URL', 4). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED', 0). +-endif. +-ifndef('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED'). +-define('LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION', 0). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION', 1). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION', 2). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION', 3). +-endif. +-ifndef('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION'). +-define('LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION', 4). +-endif. +-ifndef('LOW-BALANCE-INDICATION_NOT-APPLICABLE'). +-define('LOW-BALANCE-INDICATION_NOT-APPLICABLE', 0). +-endif. +-ifndef('LOW-BALANCE-INDICATION_YES'). +-define('LOW-BALANCE-INDICATION_YES', 1). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_NO'). +-define('LOW-PRIORITY-INDICATOR_NO', 0). +-endif. +-ifndef('LOW-PRIORITY-INDICATOR_YES'). +-define('LOW-PRIORITY-INDICATOR_YES', 1). +-endif. +-ifndef('MBMS-CHARGED-PARTY_CONTENT-PROVIDER'). +-define('MBMS-CHARGED-PARTY_CONTENT-PROVIDER', 0). +-endif. +-ifndef('MBMS-CHARGED-PARTY_SUBSCRIBER'). +-define('MBMS-CHARGED-PARTY_SUBSCRIBER', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_DOWNLOAD'). +-define('MBMS-USER-SERVICE-TYPE_DOWNLOAD', 1). +-endif. +-ifndef('MBMS-USER-SERVICE-TYPE_STREAMING'). +-define('MBMS-USER-SERVICE-TYPE_STREAMING', 2). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLED-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLED-PARTY', 0). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_CALLING-PARTY'). +-define('MEDIA-INITIATOR-FLAG_CALLING-PARTY', 1). +-endif. +-ifndef('MEDIA-INITIATOR-FLAG_UNKNOWN'). +-define('MEDIA-INITIATOR-FLAG_UNKNOWN', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-REQ'). +-define('MESSAGE-TYPE_M-SEND-REQ', 1). +-endif. +-ifndef('MESSAGE-TYPE_M-SEND-CONF'). +-define('MESSAGE-TYPE_M-SEND-CONF', 2). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFICATION-IND'). +-define('MESSAGE-TYPE_M-NOTIFICATION-IND', 3). +-endif. +-ifndef('MESSAGE-TYPE_M-NOTIFYRESP-IND'). +-define('MESSAGE-TYPE_M-NOTIFYRESP-IND', 4). +-endif. +-ifndef('MESSAGE-TYPE_M-RETRIEVE-CONF'). +-define('MESSAGE-TYPE_M-RETRIEVE-CONF', 5). +-endif. +-ifndef('MESSAGE-TYPE_M-ACKNOWLEDGE-IND'). +-define('MESSAGE-TYPE_M-ACKNOWLEDGE-IND', 6). +-endif. +-ifndef('MESSAGE-TYPE_M-DELIVERY-IND'). +-define('MESSAGE-TYPE_M-DELIVERY-IND', 7). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-REC-IND'). +-define('MESSAGE-TYPE_M-READ-REC-IND', 8). +-endif. +-ifndef('MESSAGE-TYPE_M-READ-ORIG-IND'). +-define('MESSAGE-TYPE_M-READ-ORIG-IND', 9). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-REQ'). +-define('MESSAGE-TYPE_M-FORWARD-REQ', 10). +-endif. +-ifndef('MESSAGE-TYPE_M-FORWARD-CONF'). +-define('MESSAGE-TYPE_M-FORWARD-CONF', 11). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-STORE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-STORE-CONF', 12). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-VIEW-CONF'). +-define('MESSAGE-TYPE_M-MBOX-VIEW-CONF', 13). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF'). +-define('MESSAGE-TYPE_M-MBOX-UPLOAD-CONF', 14). +-endif. +-ifndef('MESSAGE-TYPE_M-MBOX-DELETE-CONF'). +-define('MESSAGE-TYPE_M-MBOX-DELETE-CONF', 15). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_NO'). +-define('MMBOX-STORAGE-REQUESTED_NO', 0). +-endif. +-ifndef('MMBOX-STORAGE-REQUESTED_YES'). +-define('MMBOX-STORAGE-REQUESTED_YES', 1). +-endif. +-ifndef('NNI-TYPE_NON-ROAMING'). +-define('NNI-TYPE_NON-ROAMING', 0). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITHOUT-LOOPBACK', 1). +-endif. +-ifndef('NNI-TYPE_ROAMING-WITH-LOOPBACK'). +-define('NNI-TYPE_ROAMING-WITH-LOOPBACK', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-CSCF'). +-define('NODE-FUNCTIONALITY_S-CSCF', 0). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-CSCF'). +-define('NODE-FUNCTIONALITY_P-CSCF', 1). +-endif. +-ifndef('NODE-FUNCTIONALITY_I-CSCF'). +-define('NODE-FUNCTIONALITY_I-CSCF', 2). +-endif. +-ifndef('NODE-FUNCTIONALITY_MRFC'). +-define('NODE-FUNCTIONALITY_MRFC', 3). +-endif. +-ifndef('NODE-FUNCTIONALITY_MGCF'). +-define('NODE-FUNCTIONALITY_MGCF', 4). +-endif. +-ifndef('NODE-FUNCTIONALITY_BGCF'). +-define('NODE-FUNCTIONALITY_BGCF', 5). +-endif. +-ifndef('NODE-FUNCTIONALITY_AS'). +-define('NODE-FUNCTIONALITY_AS', 6). +-endif. +-ifndef('NODE-FUNCTIONALITY_IBCF'). +-define('NODE-FUNCTIONALITY_IBCF', 7). +-endif. +-ifndef('NODE-FUNCTIONALITY_S-GW'). +-define('NODE-FUNCTIONALITY_S-GW', 8). +-endif. +-ifndef('NODE-FUNCTIONALITY_P-GW'). +-define('NODE-FUNCTIONALITY_P-GW', 9). +-endif. +-ifndef('NODE-FUNCTIONALITY_HSGW'). +-define('NODE-FUNCTIONALITY_HSGW', 10). +-endif. +-ifndef('NODE-FUNCTIONALITY_E-CSCF'). +-define('NODE-FUNCTIONALITY_E-CSCF', 11). +-endif. +-ifndef('NODE-FUNCTIONALITY_MME'). +-define('NODE-FUNCTIONALITY_MME', 12). +-endif. +-ifndef('NODE-FUNCTIONALITY_TRF'). +-define('NODE-FUNCTIONALITY_TRF', 13). +-endif. +-ifndef('NODE-FUNCTIONALITY_TF'). +-define('NODE-FUNCTIONALITY_TF', 14). +-endif. +-ifndef('NODE-FUNCTIONALITY_ATCF'). +-define('NODE-FUNCTIONALITY_ATCF', 15). +-endif. +-ifndef('NODE-FUNCTIONALITY_PROXY-FUNCTION'). +-define('NODE-FUNCTIONALITY_PROXY-FUNCTION', 16). +-endif. +-ifndef('NODE-FUNCTIONALITY_EPDG'). +-define('NODE-FUNCTIONALITY_EPDG', 17). +-endif. +-ifndef('NODE-FUNCTIONALITY_TDF'). +-define('NODE-FUNCTIONALITY_TDF', 18). +-endif. +-ifndef('NODE-FUNCTIONALITY_TWAG'). +-define('NODE-FUNCTIONALITY_TWAG', 19). +-endif. +-ifndef('NODE-FUNCTIONALITY_SCEF'). +-define('NODE-FUNCTIONALITY_SCEF', 20). +-endif. +-ifndef('NODE-FUNCTIONALITY_IWK-SCEF'). +-define('NODE-FUNCTIONALITY_IWK-SCEF', 21). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED', 0). +-endif. +-ifndef('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED'). +-define('ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED', 1). +-endif. +-ifndef('ORIGINATOR_CALLING-PARTY'). +-define('ORIGINATOR_CALLING-PARTY', 0). +-endif. +-ifndef('ORIGINATOR_CALLED-PARTY'). +-define('ORIGINATOR_CALLED-PARTY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY', 1). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY', 2). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY', 3). +-endif. +-ifndef('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY'). +-define('PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY', 4). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_CREATE_CONF'). +-define('PARTICIPANT-ACTION-TYPE_CREATE_CONF', 0). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_JOIN_CONF'). +-define('PARTICIPANT-ACTION-TYPE_JOIN_CONF', 1). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF'). +-define('PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF', 2). +-endif. +-ifndef('PARTICIPANT-ACTION-TYPE_QUIT_CONF'). +-define('PARTICIPANT-ACTION-TYPE_QUIT_CONF', 3). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_EUTRA'). +-define('PC5-RADIO-TECHNOLOGY_EUTRA', 0). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_WLAN'). +-define('PC5-RADIO-TECHNOLOGY_WLAN', 1). +-endif. +-ifndef('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN'). +-define('PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN', 2). +-endif. +-ifndef('PDP-CONTEXT-TYPE_PRIMARY'). +-define('PDP-CONTEXT-TYPE_PRIMARY', 0). +-endif. +-ifndef('PDP-CONTEXT-TYPE_SECONDARY'). +-define('PDP-CONTEXT-TYPE_SECONDARY', 1). +-endif. +-ifndef('PLAY-ALTERNATIVE_SERVED-PARTY'). +-define('PLAY-ALTERNATIVE_SERVED-PARTY', 0). +-endif. +-ifndef('PLAY-ALTERNATIVE_REMOTE-PARTY'). +-define('PLAY-ALTERNATIVE_REMOTE-PARTY', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_SERVICECHANGE'). +-define('POC-CHANGE-CONDITION_SERVICECHANGE', 0). +-endif. +-ifndef('POC-CHANGE-CONDITION_VOLUMELIMIT'). +-define('POC-CHANGE-CONDITION_VOLUMELIMIT', 1). +-endif. +-ifndef('POC-CHANGE-CONDITION_TIMELIMIT'). +-define('POC-CHANGE-CONDITION_TIMELIMIT', 2). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT'). +-define('POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT', 3). +-endif. +-ifndef('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS'). +-define('POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS', 4). +-endif. +-ifndef('POC-CHANGE-CONDITION_TARIFFTIME'). +-define('POC-CHANGE-CONDITION_TARIFFTIME', 5). +-endif. +-ifndef('POC-EVENT-TYPE_NORMAL'). +-define('POC-EVENT-TYPE_NORMAL', 0). +-endif. +-ifndef('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT'). +-define('POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT', 1). +-endif. +-ifndef('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT'). +-define('POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT', 2). +-endif. +-ifndef('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT'). +-define('POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT', 3). +-endif. +-ifndef('POC-EVENT-TYPE_POC-TALK-BURST'). +-define('POC-EVENT-TYPE_POC-TALK-BURST', 4). +-endif. +-ifndef('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER'). +-define('POC-SERVER-ROLE_PARTICIPATING-POC-SERVER', 0). +-endif. +-ifndef('POC-SERVER-ROLE_CONTROLLING-POC-SERVER'). +-define('POC-SERVER-ROLE_CONTROLLING-POC-SERVER', 1). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-FUNCTION', 2). +-endif. +-ifndef('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION'). +-define('POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION', 3). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED'). +-define('POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED', 0). +-endif. +-ifndef('POC-SESSION-INITIATION-TYPE_ON-DEMAND'). +-define('POC-SESSION-INITIATION-TYPE_ON-DEMAND', 1). +-endif. +-ifndef('POC-SESSION-TYPE_1-TO-1-POC-SESSION'). +-define('POC-SESSION-TYPE_1-TO-1-POC-SESSION', 0). +-endif. +-ifndef('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION', 1). +-endif. +-ifndef('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION', 2). +-endif. +-ifndef('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION'). +-define('POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_MODERATOR'). +-define('POC-USER-ROLE-INFO-UNITS_MODERATOR', 1). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_DISPATCHER'). +-define('POC-USER-ROLE-INFO-UNITS_DISPATCHER', 2). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-OWNER', 3). +-endif. +-ifndef('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT'). +-define('POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT', 4). +-endif. +-ifndef('PRIORITY_LOW'). +-define('PRIORITY_LOW', 0). +-endif. +-ifndef('PRIORITY_NORMAL'). +-define('PRIORITY_NORMAL', 1). +-endif. +-ifndef('PRIORITY_HIGH'). +-define('PRIORITY_HIGH', 2). +-endif. +-ifndef('PRIVACY-INDICATOR_NOT_PRIVATE'). +-define('PRIVACY-INDICATOR_NOT_PRIVATE', 0). +-endif. +-ifndef('PRIVACY-INDICATOR_PRIVATE'). +-define('PRIVACY-INDICATOR_PRIVATE', 1). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A', 0). +-endif. +-ifndef('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B'). +-define('PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_ANNOUCING'). +-define('PROSE-EVENT-TYPE_ANNOUCING', 0). +-endif. +-ifndef('PROSE-EVENT-TYPE_MONITORING'). +-define('PROSE-EVENT-TYPE_MONITORING', 1). +-endif. +-ifndef('PROSE-EVENT-TYPE_MATCH-REPORT'). +-define('PROSE-EVENT-TYPE_MATCH-REPORT', 2). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_DIRECT-DISCOVERY', 0). +-endif. +-ifndef('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY'). +-define('PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY', 1). +-endif. +-ifndef('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION'). +-define('PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_RESERVED'). +-define('PROSE-RANGE-CLASS_RESERVED', 0). +-endif. +-ifndef('PROSE-RANGE-CLASS_50M'). +-define('PROSE-RANGE-CLASS_50M', 1). +-endif. +-ifndef('PROSE-RANGE-CLASS_100M'). +-define('PROSE-RANGE-CLASS_100M', 2). +-endif. +-ifndef('PROSE-RANGE-CLASS_200M'). +-define('PROSE-RANGE-CLASS_200M', 3). +-endif. +-ifndef('PROSE-RANGE-CLASS_500M'). +-define('PROSE-RANGE-CLASS_500M', 4). +-endif. +-ifndef('PROSE-RANGE-CLASS_1000M'). +-define('PROSE-RANGE-CLASS_1000M', 5). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT'). +-define('PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT', 0). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL'). +-define('PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL', 1). +-endif. +-ifndef('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION'). +-define('PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_ANNOUNCING-UE'). +-define('PROSE-ROLE-OF-UE_ANNOUNCING-UE', 0). +-endif. +-ifndef('PROSE-ROLE-OF-UE_MONITORING-UE'). +-define('PROSE-ROLE-OF-UE_MONITORING-UE', 1). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTOR-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTOR-UE', 2). +-endif. +-ifndef('PROSE-ROLE-OF-UE_REQUESTED-UE'). +-define('PROSE-ROLE-OF-UE_REQUESTED-UE', 3). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_ALERT'). +-define('PROXIMITY-ALERT-INDICATION_ALERT', 0). +-endif. +-ifndef('PROXIMITY-ALERT-INDICATION_NO-ALERT'). +-define('PROXIMITY-ALERT-INDICATION_NO-ALERT', 1). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_APPEND'). +-define('PS-APPEND-FREE-FORMAT-DATA_APPEND', 0). +-endif. +-ifndef('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE'). +-define('PS-APPEND-FREE-FORMAT-DATA_OVERWRITE', 1). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK', 0). +-endif. +-ifndef('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK'). +-define('QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK', 1). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_NO'). +-define('READ-REPLY-REPORT-REQUESTED_NO', 0). +-endif. +-ifndef('READ-REPLY-REPORT-REQUESTED_YES'). +-define('READ-REPLY-REPORT-REQUESTED_YES', 1). +-endif. +-ifndef('RELATIONSHIP-MODE_TRUSTED'). +-define('RELATIONSHIP-MODE_TRUSTED', 0). +-endif. +-ifndef('RELATIONSHIP-MODE_NON-TRUSTED'). +-define('RELATIONSHIP-MODE_NON-TRUSTED', 1). +-endif. +-ifndef('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET', 0). +-endif. +-ifndef('REPLY-PATH-REQUESTED_REPLY-PATH-SET'). +-define('REPLY-PATH-REQUESTED_REPLY-PATH-SET', 1). +-endif. +-ifndef('REPORTING-REASON_THRESHOLD'). +-define('REPORTING-REASON_THRESHOLD', 0). +-endif. +-ifndef('REPORTING-REASON_QHT'). +-define('REPORTING-REASON_QHT', 1). +-endif. +-ifndef('REPORTING-REASON_FINAL'). +-define('REPORTING-REASON_FINAL', 2). +-endif. +-ifndef('REPORTING-REASON_QUOTA_EXHAUSTED'). +-define('REPORTING-REASON_QUOTA_EXHAUSTED', 3). +-endif. +-ifndef('REPORTING-REASON_VALIDITY_TIME'). +-define('REPORTING-REASON_VALIDITY_TIME', 4). +-endif. +-ifndef('REPORTING-REASON_OTHER_QUOTA_TYPE'). +-define('REPORTING-REASON_OTHER_QUOTA_TYPE', 5). +-endif. +-ifndef('REPORTING-REASON_RATING_CONDITION_CHANGE'). +-define('REPORTING-REASON_RATING_CONDITION_CHANGE', 6). +-endif. +-ifndef('REPORTING-REASON_FORCED_REAUTHORISATION'). +-define('REPORTING-REASON_FORCED_REAUTHORISATION', 7). +-endif. +-ifndef('REPORTING-REASON_POOL_EXHAUSTED'). +-define('REPORTING-REASON_POOL_EXHAUSTED', 8). +-endif. +-ifndef('REPORTING-REASON_UNUSED_QUOTA_TIMER'). +-define('REPORTING-REASON_UNUSED_QUOTA_TIMER', 9). +-endif. +-ifndef('ROLE-OF-NODE_ORIGINATING_ROLE'). +-define('ROLE-OF-NODE_ORIGINATING_ROLE', 0). +-endif. +-ifndef('ROLE-OF-NODE_TERMINATING_ROLE'). +-define('ROLE-OF-NODE_TERMINATING_ROLE', 1). +-endif. +-ifndef('ROLE-OF-NODE_FORWARDING_ROLE'). +-define('ROLE-OF-NODE_FORWARDING_ROLE', 2). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_HPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_HPLMN', 0). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_VPLMN'). +-define('ROLE-OF-PROSE-FUNCTION_VPLMN', 1). +-endif. +-ifndef('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN'). +-define('ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN', 2). +-endif. +-ifndef('SDP-TYPE_SDP-OFFER'). +-define('SDP-TYPE_SDP-OFFER', 0). +-endif. +-ifndef('SDP-TYPE_SDP-ANSWER'). +-define('SDP-TYPE_SDP-ANSWER', 1). +-endif. +-ifndef('SESSION-DIRECTION_INBOUND'). +-define('SESSION-DIRECTION_INBOUND', 0). +-endif. +-ifndef('SESSION-DIRECTION_OUTBOUND'). +-define('SESSION-DIRECTION_OUTBOUND', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_SGSN'). +-define('SERVING-NODE-TYPE_SGSN', 0). +-endif. +-ifndef('SERVING-NODE-TYPE_PMIPSGW'). +-define('SERVING-NODE-TYPE_PMIPSGW', 1). +-endif. +-ifndef('SERVING-NODE-TYPE_GTPSGW'). +-define('SERVING-NODE-TYPE_GTPSGW', 2). +-endif. +-ifndef('SERVING-NODE-TYPE_EPDG'). +-define('SERVING-NODE-TYPE_EPDG', 3). +-endif. +-ifndef('SERVING-NODE-TYPE_HSGW'). +-define('SERVING-NODE-TYPE_HSGW', 4). +-endif. +-ifndef('SERVING-NODE-TYPE_MME'). +-define('SERVING-NODE-TYPE_MME', 5). +-endif. +-ifndef('SERVING-NODE-TYPE_TWAN'). +-define('SERVING-NODE-TYPE_TWAN', 6). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED'). +-define('SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED', 0). +-endif. +-ifndef('SGI-PTP-TUNNELLING-METHOD_OTHERS'). +-define('SGI-PTP-TUNNELLING-METHOD_OTHERS', 1). +-endif. +-ifndef('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE', 0). +-endif. +-ifndef('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE'). +-define('SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER'). +-define('SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER', 0). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST', 1). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE', 2). +-endif. +-ifndef('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL'). +-define('SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SUBMISSION'). +-define('SM-MESSAGE-TYPE_SUBMISSION', 0). +-endif. +-ifndef('SM-MESSAGE-TYPE_DELIVERY_REPORT'). +-define('SM-MESSAGE-TYPE_DELIVERY_REPORT', 1). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST'). +-define('SM-MESSAGE-TYPE_SM-SERVICE-REQUEST', 2). +-endif. +-ifndef('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER', 3). +-endif. +-ifndef('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER'). +-define('SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER', 4). +-endif. +-ifndef('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION'). +-define('SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION', 5). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER'). +-define('SMS-NODE_SMS-ROUTER', 0). +-endif. +-ifndef('SMS-NODE_IP-SM-GW'). +-define('SMS-NODE_IP-SM-GW', 1). +-endif. +-ifndef('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW'). +-define('SMS-NODE_SMS-ROUTER-AND-IP-SM-GW', 2). +-endif. +-ifndef('SMS-NODE_SMS-SC'). +-define('SMS-NODE_SMS-SC', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING', 0). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING', 1). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS', 2). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING', 3). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT', 4). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE', 5). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS', 6). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK', 7). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY', 8). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE', 9). +-endif. +-ifndef('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY'). +-define('SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY', 10). +-endif. +-ifndef('STATUS-AS-CODE_4XX'). +-define('STATUS-AS-CODE_4XX', 0). +-endif. +-ifndef('STATUS-AS-CODE_5XX'). +-define('STATUS-AS-CODE_5XX', 1). +-endif. +-ifndef('STATUS-AS-CODE_TIMEOUT'). +-define('STATUS-AS-CODE_TIMEOUT', 2). +-endif. +-ifndef('SUBSCRIBER-ROLE_ORIGINATING'). +-define('SUBSCRIBER-ROLE_ORIGINATING', 0). +-endif. +-ifndef('SUBSCRIBER-ROLE_TERMINATING'). +-define('SUBSCRIBER-ROLE_TERMINATING', 1). +-endif. +-ifndef('TAD-IDENTIFIER_CS'). +-define('TAD-IDENTIFIER_CS', 0). +-endif. +-ifndef('TAD-IDENTIFIER_PS'). +-define('TAD-IDENTIFIER_PS', 1). +-endif. +-ifndef('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD', 0). +-endif. +-ifndef('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD'). +-define('TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD', 1). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED', 0). +-endif. +-ifndef('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED'). +-define('TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS'). +-define('TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS', 1). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_QOS'). +-define('TRIGGER-TYPE_CHANGE_IN_QOS', 2). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_LOCATION'). +-define('TRIGGER-TYPE_CHANGE_IN_LOCATION', 3). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_RAT'). +-define('TRIGGER-TYPE_CHANGE_IN_RAT', 4). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE'). +-define('TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE', 5). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS', 10). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS', 11). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS', 12). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT', 13). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS'). +-define('TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS', 14). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT'). +-define('TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT', 15). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK', 16). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK', 17). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER'). +-define('TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER', 18). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO'). +-define('TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO', 19). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY', 20). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY'). +-define('TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY', 21). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK', 22). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK'). +-define('TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK', 23). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE'). +-define('TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE', 24). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MCC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MCC', 30). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_MNC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_MNC', 31). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_RAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_RAC', 32). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_LAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_LAC', 33). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_CELLID'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_CELLID', 34). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_TAC'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_TAC', 35). +-endif. +-ifndef('TRIGGER-TYPE_CHANGEINLOCATION_ECGI'). +-define('TRIGGER-TYPE_CHANGEINLOCATION_ECGI', 36). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION'). +-define('TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION', 40). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB', 50). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB'). +-define('TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB', 51). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE', 52). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION', 60). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE'). +-define('TRIGGER-TYPE_CHANGE_IN_SERVING_NODE', 61). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW'). +-define('TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW', 62). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION', 70). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION', 71). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION'). +-define('TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION', 72). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA'). +-define('TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA', 73). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL'). +-define('TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL', 75). +-endif. +-ifndef('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF'). +-define('TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF', 76). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP', 0). +-endif. +-ifndef('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY'). +-define('UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NORMAL'). +-define('USER-PARTICIPATING-TYPE_NORMAL', 0). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_NW-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_NW-POC-BOX', 1). +-endif. +-ifndef('USER-PARTICIPATING-TYPE_UE-POC-BOX'). +-define('USER-PARTICIPATING-TYPE_UE-POC-BOX', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_INTEGER'). +-define('VARIABLE-PART-TYPE_INTEGER', 0). +-endif. +-ifndef('VARIABLE-PART-TYPE_NUMBER'). +-define('VARIABLE-PART-TYPE_NUMBER', 1). +-endif. +-ifndef('VARIABLE-PART-TYPE_TIME'). +-define('VARIABLE-PART-TYPE_TIME', 2). +-endif. +-ifndef('VARIABLE-PART-TYPE_DATE'). +-define('VARIABLE-PART-TYPE_DATE', 3). +-endif. +-ifndef('VARIABLE-PART-TYPE_CURRENCY'). +-define('VARIABLE-PART-TYPE_CURRENCY', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-ifndef('CC-REQUEST-TYPE_INITIAL_REQUEST'). +-define('CC-REQUEST-TYPE_INITIAL_REQUEST', 1). +-endif. +-ifndef('CC-REQUEST-TYPE_UPDATE_REQUEST'). +-define('CC-REQUEST-TYPE_UPDATE_REQUEST', 2). +-endif. +-ifndef('CC-REQUEST-TYPE_TERMINATION_REQUEST'). +-define('CC-REQUEST-TYPE_TERMINATION_REQUEST', 3). +-endif. +-ifndef('CC-REQUEST-TYPE_EVENT_REQUEST'). +-define('CC-REQUEST-TYPE_EVENT_REQUEST', 4). +-endif. +-ifndef('CC-SESSION-FAILOVER_NOT_SUPPORTED'). +-define('CC-SESSION-FAILOVER_NOT_SUPPORTED', 0). +-endif. +-ifndef('CC-SESSION-FAILOVER_SUPPORTED'). +-define('CC-SESSION-FAILOVER_SUPPORTED', 1). +-endif. +-ifndef('CHECK-BALANCE-RESULT_ENOUGH_CREDIT'). +-define('CHECK-BALANCE-RESULT_ENOUGH_CREDIT', 0). +-endif. +-ifndef('CHECK-BALANCE-RESULT_NO_CREDIT'). +-define('CHECK-BALANCE-RESULT_NO_CREDIT', 1). +-endif. +-ifndef('CREDIT-CONTROL_AUTHORIZATION'). +-define('CREDIT-CONTROL_AUTHORIZATION', 0). +-endif. +-ifndef('CREDIT-CONTROL_RE_AUTHORIZATION'). +-define('CREDIT-CONTROL_RE_AUTHORIZATION', 1). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE', 0). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE'). +-define('CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE', 2). +-endif. +-ifndef('DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER'). +-define('DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER', 0). +-endif. +-ifndef('DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE'). +-define('DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE'). +-define('TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE', 0). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE'). +-define('TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE', 1). +-endif. +-ifndef('TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE'). +-define('TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE', 2). +-endif. +-ifndef('CC-UNIT-TYPE_TIME'). +-define('CC-UNIT-TYPE_TIME', 0). +-endif. +-ifndef('CC-UNIT-TYPE_MONEY'). +-define('CC-UNIT-TYPE_MONEY', 1). +-endif. +-ifndef('CC-UNIT-TYPE_TOTAL-OCTETS'). +-define('CC-UNIT-TYPE_TOTAL-OCTETS', 2). +-endif. +-ifndef('CC-UNIT-TYPE_INPUT-OCTETS'). +-define('CC-UNIT-TYPE_INPUT-OCTETS', 3). +-endif. +-ifndef('CC-UNIT-TYPE_OUTPUT-OCTETS'). +-define('CC-UNIT-TYPE_OUTPUT-OCTETS', 4). +-endif. +-ifndef('CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS'). +-define('CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS', 5). +-endif. +-ifndef('FINAL-UNIT-ACTION_TERMINATE'). +-define('FINAL-UNIT-ACTION_TERMINATE', 0). +-endif. +-ifndef('FINAL-UNIT-ACTION_REDIRECT'). +-define('FINAL-UNIT-ACTION_REDIRECT', 1). +-endif. +-ifndef('FINAL-UNIT-ACTION_RESTRICT_ACCESS'). +-define('FINAL-UNIT-ACTION_RESTRICT_ACCESS', 2). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_IPV4'). +-define('REDIRECT-ADDRESS-TYPE_IPV4', 0). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_IPV6'). +-define('REDIRECT-ADDRESS-TYPE_IPV6', 1). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_URL'). +-define('REDIRECT-ADDRESS-TYPE_URL', 2). +-endif. +-ifndef('REDIRECT-ADDRESS-TYPE_SIP_URI'). +-define('REDIRECT-ADDRESS-TYPE_SIP_URI', 3). +-endif. +-ifndef('MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED'). +-define('MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED', 0). +-endif. +-ifndef('MULTIPLE-SERVICES-INDICATOR_SUPPORTED'). +-define('MULTIPLE-SERVICES-INDICATOR_SUPPORTED', 1). +-endif. +-ifndef('REQUESTED-ACTION_DIRECT_DEBITING'). +-define('REQUESTED-ACTION_DIRECT_DEBITING', 0). +-endif. +-ifndef('REQUESTED-ACTION_REFUND_ACCOUNT'). +-define('REQUESTED-ACTION_REFUND_ACCOUNT', 1). +-endif. +-ifndef('REQUESTED-ACTION_CHECK_BALANCE'). +-define('REQUESTED-ACTION_CHECK_BALANCE', 2). +-endif. +-ifndef('REQUESTED-ACTION_PRICE_ENQUIRY'). +-define('REQUESTED-ACTION_PRICE_ENQUIRY', 3). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_E164'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_E164', 0). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_IMSI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_IMSI', 1). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI', 2). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_NAI'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_NAI', 3). +-endif. +-ifndef('SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE'). +-define('SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE', 4). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_IMEISV'). +-define('USER-EQUIPMENT-INFO-TYPE_IMEISV', 0). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_MAC'). +-define('USER-EQUIPMENT-INFO-TYPE_MAC', 1). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_EUI64'). +-define('USER-EQUIPMENT-INFO-TYPE_EUI64', 2). +-endif. +-ifndef('USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64'). +-define('USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc7683: +%%% ------------------------------------------------------- + +-ifndef('OC-REPORT-TYPE_HOST_REPORT'). +-define('OC-REPORT-TYPE_HOST_REPORT', 0). +-endif. +-ifndef('OC-REPORT-TYPE_REALM_REPORT'). +-define('OC-REPORT-TYPE_REALM_REPORT', 1). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc7944: +%%% ------------------------------------------------------- + +-ifndef('DRMP_PRIORITY_15'). +-define('DRMP_PRIORITY_15', 15). +-endif. +-ifndef('DRMP_PRIORITY_14'). +-define('DRMP_PRIORITY_14', 14). +-endif. +-ifndef('DRMP_PRIORITY_13'). +-define('DRMP_PRIORITY_13', 13). +-endif. +-ifndef('DRMP_PRIORITY_12'). +-define('DRMP_PRIORITY_12', 12). +-endif. +-ifndef('DRMP_PRIORITY_11'). +-define('DRMP_PRIORITY_11', 11). +-endif. +-ifndef('DRMP_PRIORITY_10'). +-define('DRMP_PRIORITY_10', 10). +-endif. +-ifndef('DRMP_PRIORITY_9'). +-define('DRMP_PRIORITY_9', 9). +-endif. +-ifndef('DRMP_PRIORITY_8'). +-define('DRMP_PRIORITY_8', 8). +-endif. +-ifndef('DRMP_PRIORITY_7'). +-define('DRMP_PRIORITY_7', 7). +-endif. +-ifndef('DRMP_PRIORITY_6'). +-define('DRMP_PRIORITY_6', 6). +-endif. +-ifndef('DRMP_PRIORITY_5'). +-define('DRMP_PRIORITY_5', 5). +-endif. +-ifndef('DRMP_PRIORITY_4'). +-define('DRMP_PRIORITY_4', 4). +-endif. +-ifndef('DRMP_PRIORITY_3'). +-define('DRMP_PRIORITY_3', 3). +-endif. +-ifndef('DRMP_PRIORITY_2'). +-define('DRMP_PRIORITY_2', 2). +-endif. +-ifndef('DRMP_PRIORITY_1'). +-define('DRMP_PRIORITY_1', 1). +-endif. +-ifndef('DRMP_PRIORITY_0'). +-define('DRMP_PRIORITY_0', 0). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc8583: +%%% ------------------------------------------------------- + +-ifndef('LOAD-TYPE_HOST'). +-define('LOAD-TYPE_HOST', 0). +-endif. +-ifndef('LOAD-TYPE_PEER'). +-define('LOAD-TYPE_PEER', 1). +-endif. + diff --git a/include/diameter_3gpp_ts29_329.hrl b/include/diameter_3gpp_ts29_329.hrl new file mode 100644 index 0000000..c90d519 --- /dev/null +++ b/include/diameter_3gpp_ts29_329.hrl @@ -0,0 +1,5 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts29_329.hrl'). diff --git a/include/diameter_3gpp_ts32_299.hrl b/include/diameter_3gpp_ts32_299.hrl new file mode 100644 index 0000000..0679a22 --- /dev/null +++ b/include/diameter_3gpp_ts32_299.hrl @@ -0,0 +1,2632 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_3gpp_ts32_299.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('diameter_3gpp_charging_Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('diameter_3gpp_charging_Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('diameter_3gpp_charging_AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('diameter_3gpp_charging_Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('diameter_3gpp_charging_AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('diameter_3gpp_charging_AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('diameter_3gpp_charging_AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('diameter_3gpp_charging_AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('diameter_3gpp_charging_APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('diameter_3gpp_charging_APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('diameter_3gpp_charging_APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('diameter_3gpp_charging_Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('diameter_3gpp_charging_Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('diameter_3gpp_charging_Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('diameter_3gpp_charging_CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('diameter_3gpp_charging_Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('diameter_3gpp_charging_Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('diameter_3gpp_charging_Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('diameter_3gpp_charging_Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record(diameter_3gpp_charging_Envelope, + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('diameter_3gpp_charging_Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('diameter_3gpp_charging_Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('diameter_3gpp_charging_Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('diameter_3gpp_charging_ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('diameter_3gpp_charging_LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('diameter_3gpp_charging_LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('diameter_3gpp_charging_LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('diameter_3gpp_charging_LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('diameter_3gpp_charging_Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('diameter_3gpp_charging_MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('diameter_3gpp_charging_Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('diameter_3gpp_charging_Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('diameter_3gpp_charging_MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('diameter_3gpp_charging_MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('diameter_3gpp_charging_MMTel-Information', + {'Supplementary-Service' = []}). + +-record('diameter_3gpp_charging_Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('diameter_3gpp_charging_Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('diameter_3gpp_charging_Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('diameter_3gpp_charging_NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('diameter_3gpp_charging_NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('diameter_3gpp_charging_Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('diameter_3gpp_charging_Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('diameter_3gpp_charging_Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('diameter_3gpp_charging_Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('diameter_3gpp_charging_PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('diameter_3gpp_charging_PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('diameter_3gpp_charging_ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('diameter_3gpp_charging_ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('diameter_3gpp_charging_ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('diameter_3gpp_charging_PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('diameter_3gpp_charging_PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('diameter_3gpp_charging_RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('diameter_3gpp_charging_Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('diameter_3gpp_charging_Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('diameter_3gpp_charging_Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('diameter_3gpp_charging_Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('diameter_3gpp_charging_Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('diameter_3gpp_charging_Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('diameter_3gpp_charging_Related-Trigger', + {'Trigger-Type' = []}). + +-record('diameter_3gpp_charging_Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('diameter_3gpp_charging_Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('diameter_3gpp_charging_SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('diameter_3gpp_charging_SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('diameter_3gpp_charging_Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('diameter_3gpp_charging_Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('diameter_3gpp_charging_Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('diameter_3gpp_charging_SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('diameter_3gpp_charging_SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('diameter_3gpp_charging_Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('diameter_3gpp_charging_Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('diameter_3gpp_charging_Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('diameter_3gpp_charging_Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('diameter_3gpp_charging_Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('diameter_3gpp_charging_Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('diameter_3gpp_charging_Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record(diameter_3gpp_charging_Trigger, + {'Trigger-Type' = []}). + +-record('diameter_3gpp_charging_Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('diameter_3gpp_charging_TWAN-User-Location-Info', + {'BSSID' = []}). + +-record('diameter_3gpp_charging_Unit-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('diameter_3gpp_charging_UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('diameter_3gpp_charging_Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('diameter_3gpp_charging_VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_3gpp_charging_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_3gpp_charging_Failed-AVP', + {'AVP' = []}). + +-record('diameter_3gpp_charging_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_3gpp_charging_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc7155_nasreq: +%%% ------------------------------------------------------- + +-record(diameter_3gpp_charging_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-record('diameter_3gpp_charging_Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('diameter_3gpp_charging_Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('diameter_3gpp_charging_G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('diameter_3gpp_charging_Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('diameter_3gpp_charging_Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('diameter_3gpp_charging_Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('diameter_3gpp_charging_Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('diameter_3gpp_charging_User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-record('diameter_3gpp_charging_Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('diameter_3gpp_charging_Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('diameter_3gpp_charging_Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('diameter_3gpp_charging_TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('diameter_3gpp_charging_Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_214: +%%% ------------------------------------------------------- + +-record(diameter_3gpp_charging_Flows, + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-record('diameter_3gpp_charging_Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('diameter_3gpp_charging_Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('diameter_3gpp_charging_SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('DIAMETER_3GPP_CHARGING_3GPP-PS-DATA-OFF-STATUS_ACTIVE', 0). +-define('DIAMETER_3GPP_CHARGING_3GPP-PS-DATA-OFF-STATUS_INACTIVE', 1). +-define('DIAMETER_3GPP_CHARGING_ACCESS-TRANSFER-TYPE_PS-TO-CS-TRANSFER', 0). +-define('DIAMETER_3GPP_CHARGING_ACCESS-TRANSFER-TYPE_CS-TO-PS-TRANSFER', 1). +-define('DIAMETER_3GPP_CHARGING_ACCESS-TRANSFER-TYPE_PS-TO-PS-TRANSFER', 2). +-define('DIAMETER_3GPP_CHARGING_ACCESS-TRANSFER-TYPE_CS-TO-CS-TRANSFER', 3). +-define('DIAMETER_3GPP_CHARGING_ADAPTATIONS_YES', 0). +-define('DIAMETER_3GPP_CHARGING_ADAPTATIONS_NO', 1). +-define('DIAMETER_3GPP_CHARGING_ADDITIONAL-EXCEPTION-REPORTS_NOT-ALLOWED', 0). +-define('DIAMETER_3GPP_CHARGING_ADDITIONAL-EXCEPTION-REPORTS_ALLOWED', 1). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_E-MAIL-ADDRESS', 0). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_MSISDN', 1). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_IPV4-ADDRESS', 2). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_IPV6-ADDRESS', 3). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_NUMERIC-SHORTCODE', 4). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_ALPHANUMERIC-SHORTCODE', 5). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_OTHER', 6). +-define('DIAMETER_3GPP_CHARGING_ADDRESS-TYPE_IMSI', 7). +-define('DIAMETER_3GPP_CHARGING_ADDRESSEE-TYPE_TO', 0). +-define('DIAMETER_3GPP_CHARGING_ADDRESSEE-TYPE_CC', 1). +-define('DIAMETER_3GPP_CHARGING_ADDRESSEE-TYPE_BCC', 2). +-define('DIAMETER_3GPP_CHARGING_AOC-FORMAT_MONETARY', 0). +-define('DIAMETER_3GPP_CHARGING_AOC-FORMAT_NON_MONETARY', 1). +-define('DIAMETER_3GPP_CHARGING_AOC-FORMAT_CAI', 2). +-define('DIAMETER_3GPP_CHARGING_AOC-REQUEST-TYPE_AOC_NOT_REQUESTED', 0). +-define('DIAMETER_3GPP_CHARGING_AOC-REQUEST-TYPE_AOC_FULL', 1). +-define('DIAMETER_3GPP_CHARGING_AOC-REQUEST-TYPE_AOC_COST_ONLY', 2). +-define('DIAMETER_3GPP_CHARGING_AOC-REQUEST-TYPE_AOC_TARIFF_ONLY', 3). +-define('DIAMETER_3GPP_CHARGING_AOC-SERVICE-OBLIGATORY-TYPE_NON_BINDING', 0). +-define('DIAMETER_3GPP_CHARGING_AOC-SERVICE-OBLIGATORY-TYPE_BINDING', 1). +-define('DIAMETER_3GPP_CHARGING_AOC-SERVICE-TYPE_NONE', 0). +-define('DIAMETER_3GPP_CHARGING_AOC-SERVICE-TYPE_AOC-S', 1). +-define('DIAMETER_3GPP_CHARGING_AOC-SERVICE-TYPE_AOC-D', 2). +-define('DIAMETER_3GPP_CHARGING_AOC-SERVICE-TYPE_AOC-E', 3). +-define('DIAMETER_3GPP_CHARGING_CHARGE-REASON-CODE_UNKNOWN', 0). +-define('DIAMETER_3GPP_CHARGING_CHARGE-REASON-CODE_USAGE', 1). +-define('DIAMETER_3GPP_CHARGING_CHARGE-REASON-CODE_COMMUNICATION-ATTEMPT-CHARGE', 2). +-define('DIAMETER_3GPP_CHARGING_CHARGE-REASON-CODE_SETUP-CHARGE', 3). +-define('DIAMETER_3GPP_CHARGING_CHARGE-REASON-CODE_ADD-ON-CHARGE', 4). +-define('DIAMETER_3GPP_CHARGING_CHARGING-CHARACTERISTICS-SELECTION-MODE_SERVING-NODE-SUPPLIED', 0). +-define('DIAMETER_3GPP_CHARGING_CHARGING-CHARACTERISTICS-SELECTION-MODE_SUBSCRIPTION-SPECIFIC', 1). +-define('DIAMETER_3GPP_CHARGING_CHARGING-CHARACTERISTICS-SELECTION-MODE_APN-SPECIFIC', 2). +-define('DIAMETER_3GPP_CHARGING_CHARGING-CHARACTERISTICS-SELECTION-MODE_HOME-DEFAULT', 3). +-define('DIAMETER_3GPP_CHARGING_CHARGING-CHARACTERISTICS-SELECTION-MODE_ROAMING-DEFAULT', 4). +-define('DIAMETER_3GPP_CHARGING_CHARGING-CHARACTERISTICS-SELECTION-MODE_VISITING-DEFAULT', 5). +-define('DIAMETER_3GPP_CHARGING_CHARGING-PER-IP-CAN-SESSION-INDICATOR_INACTIVE', 0). +-define('DIAMETER_3GPP_CHARGING_CHARGING-PER-IP-CAN-SESSION-INDICATOR_ACTIVE', 1). +-define('DIAMETER_3GPP_CHARGING_CLASS-IDENTIFIER_PERSONAL', 0). +-define('DIAMETER_3GPP_CHARGING_CLASS-IDENTIFIER_ADVERTISEMENT', 1). +-define('DIAMETER_3GPP_CHARGING_CLASS-IDENTIFIER_INFORMATIONAL', 2). +-define('DIAMETER_3GPP_CHARGING_CLASS-IDENTIFIER_AUTO', 3). +-define('DIAMETER_3GPP_CHARGING_CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-UE', 0). +-define('DIAMETER_3GPP_CHARGING_CN-OPERATOR-SELECTION-ENTITY_THE-SERVING-NETWORK-HAS-BEEN-SELECTED-BY-THE-NETWORK', 1). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_TEXT', 0). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_IMAGE-BASIC', 1). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_IMAGE-RICH', 2). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_VIDEO-BASIC', 3). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_VIDEO-RICH', 4). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_MEGAPIXEL', 5). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_CONTENT-BASIC', 6). +-define('DIAMETER_3GPP_CHARGING_CONTENT-CLASS_CONTENT-RICH', 7). +-define('DIAMETER_3GPP_CHARGING_COVERAGE-STATUS_OUT-OF-COVERAGE', 0). +-define('DIAMETER_3GPP_CHARGING_COVERAGE-STATUS_IN-COVERAGE', 1). +-define('DIAMETER_3GPP_CHARGING_CP-CIOT-EPS-OPTIMISATION-INDICATOR_NOT-APPLY', 0). +-define('DIAMETER_3GPP_CHARGING_CP-CIOT-EPS-OPTIMISATION-INDICATOR_APPLY', 1). +-define('DIAMETER_3GPP_CHARGING_CSG-ACCESS-MODE_CLOSED-MODE', 0). +-define('DIAMETER_3GPP_CHARGING_CSG-ACCESS-MODE_HYBRID-MODE', 1). +-define('DIAMETER_3GPP_CHARGING_CSG-MEMBERSHIP-INDICATION_NOT-CSG-MEMBER', 0). +-define('DIAMETER_3GPP_CHARGING_CSG-MEMBERSHIP-INDICATION_CSG-MEMBER', 1). +-define('DIAMETER_3GPP_CHARGING_DELIVERY-REPORT-REQUESTED_NO', 0). +-define('DIAMETER_3GPP_CHARGING_DELIVERY-REPORT-REQUESTED_YES', 1). +-define('DIAMETER_3GPP_CHARGING_DRM-CONTENT_NO', 0). +-define('DIAMETER_3GPP_CHARGING_DRM-CONTENT_YES', 1). +-define('DIAMETER_3GPP_CHARGING_DYNAMIC-ADDRESS-FLAG_STATIC', 0). +-define('DIAMETER_3GPP_CHARGING_DYNAMIC-ADDRESS-FLAG_DYNAMIC', 1). +-define('DIAMETER_3GPP_CHARGING_DYNAMIC-ADDRESS-FLAG-EXTENSION_STATIC', 0). +-define('DIAMETER_3GPP_CHARGING_DYNAMIC-ADDRESS-FLAG-EXTENSION_DYNAMIC', 1). +-define('DIAMETER_3GPP_CHARGING_ENVELOPE-REPORTING_DO_NOT_REPORT_ENVELOPES', 0). +-define('DIAMETER_3GPP_CHARGING_ENVELOPE-REPORTING_REPORT_ENVELOPES', 1). +-define('DIAMETER_3GPP_CHARGING_ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME', 2). +-define('DIAMETER_3GPP_CHARGING_ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_EVENTS', 3). +-define('DIAMETER_3GPP_CHARGING_ENVELOPE-REPORTING_REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS', 4). +-define('DIAMETER_3GPP_CHARGING_FILE-REPAIR-SUPPORTED_SUPPORTED', 1). +-define('DIAMETER_3GPP_CHARGING_FILE-REPAIR-SUPPORTED_NOT_SUPPORTED', 2). +-define('DIAMETER_3GPP_CHARGING_FORWARDING-PENDING_FORWARDING-NOT-PENDING', 0). +-define('DIAMETER_3GPP_CHARGING_FORWARDING-PENDING_FORWARDING-PENDING', 1). +-define('DIAMETER_3GPP_CHARGING_INTERFACE-TYPE_UNKNOWN', 0). +-define('DIAMETER_3GPP_CHARGING_INTERFACE-TYPE_MOBILE_ORIGINATING', 1). +-define('DIAMETER_3GPP_CHARGING_INTERFACE-TYPE_MOBILE_TERMINATING', 2). +-define('DIAMETER_3GPP_CHARGING_INTERFACE-TYPE_APPLICATION_ORIGINATING', 3). +-define('DIAMETER_3GPP_CHARGING_INTERFACE-TYPE_APPLICATION_TERMINATION', 4). +-define('DIAMETER_3GPP_CHARGING_INTER-UE-TRANSFER_INTRA-UE-TRANSFER', 0). +-define('DIAMETER_3GPP_CHARGING_INTER-UE-TRANSFER_INTER-UE-TRANSFER', 1). +-define('DIAMETER_3GPP_CHARGING_IMS-EMERGENCY-INDICATOR_NON-EMERGENCY', 0). +-define('DIAMETER_3GPP_CHARGING_IMS-EMERGENCY-INDICATOR_EMERGENCY', 1). +-define('DIAMETER_3GPP_CHARGING_IMSI-UNAUTHENTICATED-FLAG_AUTHENTICATED', 0). +-define('DIAMETER_3GPP_CHARGING_IMSI-UNAUTHENTICATED-FLAG_UNAUTHENTICATED', 1). +-define('DIAMETER_3GPP_CHARGING_IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-NOT-USED', 0). +-define('DIAMETER_3GPP_CHARGING_IP-REALM-DEFAULT-INDICATION_DEFAULT-IP-REALM-USED', 1). +-define('DIAMETER_3GPP_CHARGING_LCS-CLIENT-TYPE_EMERGENCY_SERVICES', 0). +-define('DIAMETER_3GPP_CHARGING_LCS-CLIENT-TYPE_VALUE_ADDED_SERVICES', 1). +-define('DIAMETER_3GPP_CHARGING_LCS-CLIENT-TYPE_PLMN_OPERATOR_SERVICES', 2). +-define('DIAMETER_3GPP_CHARGING_LCS-CLIENT-TYPE_LAWFUL_INTERCEPT_SERVICES', 3). +-define('DIAMETER_3GPP_CHARGING_LCS-FORMAT-INDICATOR_LOGICAL_NAME', 0). +-define('DIAMETER_3GPP_CHARGING_LCS-FORMAT-INDICATOR_EMAIL_ADDRESS', 1). +-define('DIAMETER_3GPP_CHARGING_LCS-FORMAT-INDICATOR_MSISDN', 2). +-define('DIAMETER_3GPP_CHARGING_LCS-FORMAT-INDICATOR_URL', 3). +-define('DIAMETER_3GPP_CHARGING_LCS-FORMAT-INDICATOR_SIP_URL', 4). +-define('DIAMETER_3GPP_CHARGING_LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-NOT-INSERTED', 0). +-define('DIAMETER_3GPP_CHARGING_LOCAL-GW-INSERTED-INDICATION_LOCAL-GW-INSERTED', 1). +-define('DIAMETER_3GPP_CHARGING_LOCATION-ESTIMATE-TYPE_CURRENT_LOCATION', 0). +-define('DIAMETER_3GPP_CHARGING_LOCATION-ESTIMATE-TYPE_CURRENT_LAST_KNOWN_LOCATION', 1). +-define('DIAMETER_3GPP_CHARGING_LOCATION-ESTIMATE-TYPE_INITIAL_LOCATION', 2). +-define('DIAMETER_3GPP_CHARGING_LOCATION-ESTIMATE-TYPE_ACTIVATE_DEFERRED_LOCATION', 3). +-define('DIAMETER_3GPP_CHARGING_LOCATION-ESTIMATE-TYPE_CANCEL_DEFERRED_LOCATION', 4). +-define('DIAMETER_3GPP_CHARGING_LOW-BALANCE-INDICATION_NOT-APPLICABLE', 0). +-define('DIAMETER_3GPP_CHARGING_LOW-BALANCE-INDICATION_YES', 1). +-define('DIAMETER_3GPP_CHARGING_LOW-PRIORITY-INDICATOR_NO', 0). +-define('DIAMETER_3GPP_CHARGING_LOW-PRIORITY-INDICATOR_YES', 1). +-define('DIAMETER_3GPP_CHARGING_MBMS-CHARGED-PARTY_CONTENT-PROVIDER', 0). +-define('DIAMETER_3GPP_CHARGING_MBMS-CHARGED-PARTY_SUBSCRIBER', 1). +-define('DIAMETER_3GPP_CHARGING_MBMS-USER-SERVICE-TYPE_DOWNLOAD', 1). +-define('DIAMETER_3GPP_CHARGING_MBMS-USER-SERVICE-TYPE_STREAMING', 2). +-define('DIAMETER_3GPP_CHARGING_MEDIA-INITIATOR-FLAG_CALLED-PARTY', 0). +-define('DIAMETER_3GPP_CHARGING_MEDIA-INITIATOR-FLAG_CALLING-PARTY', 1). +-define('DIAMETER_3GPP_CHARGING_MEDIA-INITIATOR-FLAG_UNKNOWN', 2). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-SEND-REQ', 1). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-SEND-CONF', 2). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-NOTIFICATION-IND', 3). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-NOTIFYRESP-IND', 4). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-RETRIEVE-CONF', 5). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-ACKNOWLEDGE-IND', 6). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-DELIVERY-IND', 7). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-READ-REC-IND', 8). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-READ-ORIG-IND', 9). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-FORWARD-REQ', 10). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-FORWARD-CONF', 11). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-MBOX-STORE-CONF', 12). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-MBOX-VIEW-CONF', 13). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-MBOX-UPLOAD-CONF', 14). +-define('DIAMETER_3GPP_CHARGING_MESSAGE-TYPE_M-MBOX-DELETE-CONF', 15). +-define('DIAMETER_3GPP_CHARGING_MMBOX-STORAGE-REQUESTED_NO', 0). +-define('DIAMETER_3GPP_CHARGING_MMBOX-STORAGE-REQUESTED_YES', 1). +-define('DIAMETER_3GPP_CHARGING_NNI-TYPE_NON-ROAMING', 0). +-define('DIAMETER_3GPP_CHARGING_NNI-TYPE_ROAMING-WITHOUT-LOOPBACK', 1). +-define('DIAMETER_3GPP_CHARGING_NNI-TYPE_ROAMING-WITH-LOOPBACK', 2). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_S-CSCF', 0). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_P-CSCF', 1). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_I-CSCF', 2). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_MRFC', 3). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_MGCF', 4). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_BGCF', 5). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_AS', 6). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_IBCF', 7). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_S-GW', 8). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_P-GW', 9). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_HSGW', 10). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_E-CSCF', 11). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_MME', 12). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_TRF', 13). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_TF', 14). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_ATCF', 15). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_PROXY-FUNCTION', 16). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_EPDG', 17). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_TDF', 18). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_TWAG', 19). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_SCEF', 20). +-define('DIAMETER_3GPP_CHARGING_NODE-FUNCTIONALITY_IWK-SCEF', 21). +-define('DIAMETER_3GPP_CHARGING_ONLINE-CHARGING-FLAG_ECF-ADDRESS-NOT-PROVIDED', 0). +-define('DIAMETER_3GPP_CHARGING_ONLINE-CHARGING-FLAG_ECF-ADDRESS-PROVIDED', 1). +-define('DIAMETER_3GPP_CHARGING_ORIGINATOR_CALLING-PARTY', 0). +-define('DIAMETER_3GPP_CHARGING_ORIGINATOR_CALLED-PARTY', 1). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACCESS-PRIORITY_PRE-EMPTIVE-PRIORITY', 1). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACCESS-PRIORITY_HIGH-PRIORITY', 2). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACCESS-PRIORITY_NORMAL-PRIORITY', 3). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACCESS-PRIORITY_LOW-PRIORITY', 4). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACTION-TYPE_CREATE_CONF', 0). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACTION-TYPE_JOIN_CONF', 1). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACTION-TYPE_INVITE_INTO_CONF', 2). +-define('DIAMETER_3GPP_CHARGING_PARTICIPANT-ACTION-TYPE_QUIT_CONF', 3). +-define('DIAMETER_3GPP_CHARGING_PC5-RADIO-TECHNOLOGY_EUTRA', 0). +-define('DIAMETER_3GPP_CHARGING_PC5-RADIO-TECHNOLOGY_WLAN', 1). +-define('DIAMETER_3GPP_CHARGING_PC5-RADIO-TECHNOLOGY_BOTH-EUTRA-AND-WLAN', 2). +-define('DIAMETER_3GPP_CHARGING_PDP-CONTEXT-TYPE_PRIMARY', 0). +-define('DIAMETER_3GPP_CHARGING_PDP-CONTEXT-TYPE_SECONDARY', 1). +-define('DIAMETER_3GPP_CHARGING_PLAY-ALTERNATIVE_SERVED-PARTY', 0). +-define('DIAMETER_3GPP_CHARGING_PLAY-ALTERNATIVE_REMOTE-PARTY', 1). +-define('DIAMETER_3GPP_CHARGING_POC-CHANGE-CONDITION_SERVICECHANGE', 0). +-define('DIAMETER_3GPP_CHARGING_POC-CHANGE-CONDITION_VOLUMELIMIT', 1). +-define('DIAMETER_3GPP_CHARGING_POC-CHANGE-CONDITION_TIMELIMIT', 2). +-define('DIAMETER_3GPP_CHARGING_POC-CHANGE-CONDITION_NUMBEROFTALKBURSTLIMIT', 3). +-define('DIAMETER_3GPP_CHARGING_POC-CHANGE-CONDITION_NUMBEROFACTIVEPARTICIPANTS', 4). +-define('DIAMETER_3GPP_CHARGING_POC-CHANGE-CONDITION_TARIFFTIME', 5). +-define('DIAMETER_3GPP_CHARGING_POC-EVENT-TYPE_NORMAL', 0). +-define('DIAMETER_3GPP_CHARGING_POC-EVENT-TYPE_INSTANT-PERSONAL-ALERT-EVENT', 1). +-define('DIAMETER_3GPP_CHARGING_POC-EVENT-TYPE_POC-GROUP-ADVERTISEMENT-EVENT', 2). +-define('DIAMETER_3GPP_CHARGING_POC-EVENT-TYPE_EARLY-SSESSION-SETTING-UP-EVENT', 3). +-define('DIAMETER_3GPP_CHARGING_POC-EVENT-TYPE_POC-TALK-BURST', 4). +-define('DIAMETER_3GPP_CHARGING_POC-SERVER-ROLE_PARTICIPATING-POC-SERVER', 0). +-define('DIAMETER_3GPP_CHARGING_POC-SERVER-ROLE_CONTROLLING-POC-SERVER', 1). +-define('DIAMETER_3GPP_CHARGING_POC-SERVER-ROLE_INTERWORKING-FUNCTION', 2). +-define('DIAMETER_3GPP_CHARGING_POC-SERVER-ROLE_INTERWORKING-SELECTION-FUNCTION', 3). +-define('DIAMETER_3GPP_CHARGING_POC-SESSION-INITIATION-TYPE_PRE-ESTABLISHED', 0). +-define('DIAMETER_3GPP_CHARGING_POC-SESSION-INITIATION-TYPE_ON-DEMAND', 1). +-define('DIAMETER_3GPP_CHARGING_POC-SESSION-TYPE_1-TO-1-POC-SESSION', 0). +-define('DIAMETER_3GPP_CHARGING_POC-SESSION-TYPE_CHAT-POC-GROUP-SESSION', 1). +-define('DIAMETER_3GPP_CHARGING_POC-SESSION-TYPE_PRE-ARRANGED-POC-GROUP-SESSION', 2). +-define('DIAMETER_3GPP_CHARGING_POC-SESSION-TYPE_AD-HOC-POC-GROUP-SESSION', 3). +-define('DIAMETER_3GPP_CHARGING_POC-USER-ROLE-INFO-UNITS_MODERATOR', 1). +-define('DIAMETER_3GPP_CHARGING_POC-USER-ROLE-INFO-UNITS_DISPATCHER', 2). +-define('DIAMETER_3GPP_CHARGING_POC-USER-ROLE-INFO-UNITS_SESSION-OWNER', 3). +-define('DIAMETER_3GPP_CHARGING_POC-USER-ROLE-INFO-UNITS_SESSION-PARTICIPANT', 4). +-define('DIAMETER_3GPP_CHARGING_PRIORITY_LOW', 0). +-define('DIAMETER_3GPP_CHARGING_PRIORITY_NORMAL', 1). +-define('DIAMETER_3GPP_CHARGING_PRIORITY_HIGH', 2). +-define('DIAMETER_3GPP_CHARGING_PRIVACY-INDICATOR_NOT_PRIVATE', 0). +-define('DIAMETER_3GPP_CHARGING_PRIVACY-INDICATOR_PRIVATE', 1). +-define('DIAMETER_3GPP_CHARGING_PROSE-DIRECT-DISCOVERY-MODEL_MODEL-A', 0). +-define('DIAMETER_3GPP_CHARGING_PROSE-DIRECT-DISCOVERY-MODEL_MODEL-B', 1). +-define('DIAMETER_3GPP_CHARGING_PROSE-EVENT-TYPE_ANNOUCING', 0). +-define('DIAMETER_3GPP_CHARGING_PROSE-EVENT-TYPE_MONITORING', 1). +-define('DIAMETER_3GPP_CHARGING_PROSE-EVENT-TYPE_MATCH-REPORT', 2). +-define('DIAMETER_3GPP_CHARGING_PROSE-FUNCTIONALITY_DIRECT-DISCOVERY', 0). +-define('DIAMETER_3GPP_CHARGING_PROSE-FUNCTIONALITY_EPC-LEVEL-DISCOVERY', 1). +-define('DIAMETER_3GPP_CHARGING_PROSE-FUNCTIONALITY_DIRECT-COMMUNICATION', 2). +-define('DIAMETER_3GPP_CHARGING_PROSE-RANGE-CLASS_RESERVED', 0). +-define('DIAMETER_3GPP_CHARGING_PROSE-RANGE-CLASS_50M', 1). +-define('DIAMETER_3GPP_CHARGING_PROSE-RANGE-CLASS_100M', 2). +-define('DIAMETER_3GPP_CHARGING_PROSE-RANGE-CLASS_200M', 3). +-define('DIAMETER_3GPP_CHARGING_PROSE-RANGE-CLASS_500M', 4). +-define('DIAMETER_3GPP_CHARGING_PROSE-RANGE-CLASS_1000M', 5). +-define('DIAMETER_3GPP_CHARGING_PROSE-REASON-FOR-CANCELLATION_PROXIMITY-ALERT-SENT', 0). +-define('DIAMETER_3GPP_CHARGING_PROSE-REASON-FOR-CANCELLATION_TIME-EXPIRED-WITH-NO-RENEWAL', 1). +-define('DIAMETER_3GPP_CHARGING_PROSE-REASON-FOR-CANCELLATION_REQUESTOR-CANCELLATION', 2). +-define('DIAMETER_3GPP_CHARGING_PROSE-ROLE-OF-UE_ANNOUNCING-UE', 0). +-define('DIAMETER_3GPP_CHARGING_PROSE-ROLE-OF-UE_MONITORING-UE', 1). +-define('DIAMETER_3GPP_CHARGING_PROSE-ROLE-OF-UE_REQUESTOR-UE', 2). +-define('DIAMETER_3GPP_CHARGING_PROSE-ROLE-OF-UE_REQUESTED-UE', 3). +-define('DIAMETER_3GPP_CHARGING_PROXIMITY-ALERT-INDICATION_ALERT', 0). +-define('DIAMETER_3GPP_CHARGING_PROXIMITY-ALERT-INDICATION_NO-ALERT', 1). +-define('DIAMETER_3GPP_CHARGING_PS-APPEND-FREE-FORMAT-DATA_APPEND', 0). +-define('DIAMETER_3GPP_CHARGING_PS-APPEND-FREE-FORMAT-DATA_OVERWRITE', 1). +-define('DIAMETER_3GPP_CHARGING_QUOTA-INDICATOR_QUOTA_IS_NOT_USED_DURING_PLAYBACK', 0). +-define('DIAMETER_3GPP_CHARGING_QUOTA-INDICATOR_QUOTA_IS_USED_DURING_PLAYBACK', 1). +-define('DIAMETER_3GPP_CHARGING_READ-REPLY-REPORT-REQUESTED_NO', 0). +-define('DIAMETER_3GPP_CHARGING_READ-REPLY-REPORT-REQUESTED_YES', 1). +-define('DIAMETER_3GPP_CHARGING_RELATIONSHIP-MODE_TRUSTED', 0). +-define('DIAMETER_3GPP_CHARGING_RELATIONSHIP-MODE_NON-TRUSTED', 1). +-define('DIAMETER_3GPP_CHARGING_REPLY-PATH-REQUESTED_NO-REPLY-PATH-SET', 0). +-define('DIAMETER_3GPP_CHARGING_REPLY-PATH-REQUESTED_REPLY-PATH-SET', 1). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_THRESHOLD', 0). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_QHT', 1). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_FINAL', 2). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_QUOTA_EXHAUSTED', 3). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_VALIDITY_TIME', 4). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_OTHER_QUOTA_TYPE', 5). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_RATING_CONDITION_CHANGE', 6). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_FORCED_REAUTHORISATION', 7). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_POOL_EXHAUSTED', 8). +-define('DIAMETER_3GPP_CHARGING_REPORTING-REASON_UNUSED_QUOTA_TIMER', 9). +-define('DIAMETER_3GPP_CHARGING_ROLE-OF-NODE_ORIGINATING_ROLE', 0). +-define('DIAMETER_3GPP_CHARGING_ROLE-OF-NODE_TERMINATING_ROLE', 1). +-define('DIAMETER_3GPP_CHARGING_ROLE-OF-NODE_FORWARDING_ROLE', 2). +-define('DIAMETER_3GPP_CHARGING_ROLE-OF-PROSE-FUNCTION_HPLMN', 0). +-define('DIAMETER_3GPP_CHARGING_ROLE-OF-PROSE-FUNCTION_VPLMN', 1). +-define('DIAMETER_3GPP_CHARGING_ROLE-OF-PROSE-FUNCTION_LOCAL-PLMN', 2). +-define('DIAMETER_3GPP_CHARGING_SDP-TYPE_SDP-OFFER', 0). +-define('DIAMETER_3GPP_CHARGING_SDP-TYPE_SDP-ANSWER', 1). +-define('DIAMETER_3GPP_CHARGING_SESSION-DIRECTION_INBOUND', 0). +-define('DIAMETER_3GPP_CHARGING_SESSION-DIRECTION_OUTBOUND', 1). +-define('DIAMETER_3GPP_CHARGING_SERVING-NODE-TYPE_SGSN', 0). +-define('DIAMETER_3GPP_CHARGING_SERVING-NODE-TYPE_PMIPSGW', 1). +-define('DIAMETER_3GPP_CHARGING_SERVING-NODE-TYPE_GTPSGW', 2). +-define('DIAMETER_3GPP_CHARGING_SERVING-NODE-TYPE_EPDG', 3). +-define('DIAMETER_3GPP_CHARGING_SERVING-NODE-TYPE_HSGW', 4). +-define('DIAMETER_3GPP_CHARGING_SERVING-NODE-TYPE_MME', 5). +-define('DIAMETER_3GPP_CHARGING_SERVING-NODE-TYPE_TWAN', 6). +-define('DIAMETER_3GPP_CHARGING_SGI-PTP-TUNNELLING-METHOD_UDP_IP_BASED', 0). +-define('DIAMETER_3GPP_CHARGING_SGI-PTP-TUNNELLING-METHOD_OTHERS', 1). +-define('DIAMETER_3GPP_CHARGING_SGW-CHANGE_ACR_START_NOT_DUE_TO_SGW_CHANGE', 0). +-define('DIAMETER_3GPP_CHARGING_SGW-CHANGE_ACR_START_DUE_TO_SGW_CHANGE', 1). +-define('DIAMETER_3GPP_CHARGING_SM-DEVICE-TRIGGER-INDICATOR_NOT-DEVICETRIGGER', 0). +-define('DIAMETER_3GPP_CHARGING_SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REQUEST', 1). +-define('DIAMETER_3GPP_CHARGING_SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-REPLACE', 2). +-define('DIAMETER_3GPP_CHARGING_SM-DEVICE-TRIGGER-INDICATOR_DEVICE-TRIGGER-RECALL', 3). +-define('DIAMETER_3GPP_CHARGING_SM-MESSAGE-TYPE_SUBMISSION', 0). +-define('DIAMETER_3GPP_CHARGING_SM-MESSAGE-TYPE_DELIVERY_REPORT', 1). +-define('DIAMETER_3GPP_CHARGING_SM-MESSAGE-TYPE_SM-SERVICE-REQUEST', 2). +-define('DIAMETER_3GPP_CHARGING_SM-MESSAGE-TYPE_T4-DEVICE-TRIGGER', 3). +-define('DIAMETER_3GPP_CHARGING_SM-MESSAGE-TYPE_SM-DEVICE-TRIGGER', 4). +-define('DIAMETER_3GPP_CHARGING_SM-MESSAGE-TYPE_MO-SMS-T4-SUBMISSION', 5). +-define('DIAMETER_3GPP_CHARGING_SMS-NODE_SMS-ROUTER', 0). +-define('DIAMETER_3GPP_CHARGING_SMS-NODE_IP-SM-GW', 1). +-define('DIAMETER_3GPP_CHARGING_SMS-NODE_SMS-ROUTER-AND-IP-SM-GW', 2). +-define('DIAMETER_3GPP_CHARGING_SMS-NODE_SMS-SC', 3). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-CONTENT-PROCESSING', 0). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING', 1). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FORWARDING-MULTIPLE-SUBSCRIPTIONS', 2). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-FILTERING', 3). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-RECEIPT', 4). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-NETWORK-STORAGE', 5). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-TO-MULTIPLE-DESTINATIONS', 6). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-VIRTUAL-PRIVATE-NETWORK', 7). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-AUTO-REPLY', 8). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-PERSONAL-SIGNATURE', 9). +-define('DIAMETER_3GPP_CHARGING_SM-SERVICE-TYPE_VAS4SMS-SHORT-MESSAGE-DEFERRED-DELIVERY', 10). +-define('DIAMETER_3GPP_CHARGING_STATUS-AS-CODE_4XX', 0). +-define('DIAMETER_3GPP_CHARGING_STATUS-AS-CODE_5XX', 1). +-define('DIAMETER_3GPP_CHARGING_STATUS-AS-CODE_TIMEOUT', 2). +-define('DIAMETER_3GPP_CHARGING_SUBSCRIBER-ROLE_ORIGINATING', 0). +-define('DIAMETER_3GPP_CHARGING_SUBSCRIBER-ROLE_TERMINATING', 1). +-define('DIAMETER_3GPP_CHARGING_TAD-IDENTIFIER_CS', 0). +-define('DIAMETER_3GPP_CHARGING_TAD-IDENTIFIER_PS', 1). +-define('DIAMETER_3GPP_CHARGING_TIME-QUOTA-TYPE_DISCRETE_TIME_PERIOD', 0). +-define('DIAMETER_3GPP_CHARGING_TIME-QUOTA-TYPE_CONTINUOUS_TIME_PERIOD', 1). +-define('DIAMETER_3GPP_CHARGING_TRANSCODER-INSERTED-INDICATION_TRANSCODER-NOT-INSERTED', 0). +-define('DIAMETER_3GPP_CHARGING_TRANSCODER-INSERTED-INDICATION_TRANSCODER-INSERTED', 1). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_SGSN_IP_ADDRESS', 1). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_QOS', 2). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_LOCATION', 3). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_RAT', 4). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_UE_TIMEZONE', 5). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_CLASS', 10). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_RELIABILITY_CLASS', 11). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_DELAY_CLASS', 12). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_PEAK_THROUGHPUT', 13). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_PRECEDENCE_CLASS', 14). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_MEAN_THROUGHPUT', 15). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK', 16). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK', 17). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_RESIDUAL_BER', 18). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_SDU_ERROR_RATIO', 19). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_TRANSFER_DELAY', 20). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY', 21). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK', 22). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK', 23). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE', 24). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINLOCATION_MCC', 30). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINLOCATION_MNC', 31). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINLOCATION_RAC', 32). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINLOCATION_LAC', 33). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINLOCATION_CELLID', 34). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINLOCATION_TAC', 35). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGEINLOCATION_ECGI', 36). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_MEDIA_COMPOSITION', 40). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_PARTICIPANTS_NMB', 50). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB', 51). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_USER_PARTICIPATING_TYPE', 52). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_SERVICE_CONDITION', 60). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_SERVING_NODE', 61). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW', 62). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_USER_CSG_INFORMATION', 70). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION', 71). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION', 72). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA', 73). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_APN_RATE_CONTROL', 75). +-define('DIAMETER_3GPP_CHARGING_TRIGGER-TYPE_CHANGE_IN_3GPP_PS_DATA_OFF', 76). +-define('DIAMETER_3GPP_CHARGING_UNI-PDU-CP-ONLY-FLAG_UNI-PDU-BOTH-UP-CP', 0). +-define('DIAMETER_3GPP_CHARGING_UNI-PDU-CP-ONLY-FLAG_UNI-PDU-CP-ONLY', 1). +-define('DIAMETER_3GPP_CHARGING_USER-PARTICIPATING-TYPE_NORMAL', 0). +-define('DIAMETER_3GPP_CHARGING_USER-PARTICIPATING-TYPE_NW-POC-BOX', 1). +-define('DIAMETER_3GPP_CHARGING_USER-PARTICIPATING-TYPE_UE-POC-BOX', 2). +-define('DIAMETER_3GPP_CHARGING_VARIABLE-PART-TYPE_INTEGER', 0). +-define('DIAMETER_3GPP_CHARGING_VARIABLE-PART-TYPE_NUMBER', 1). +-define('DIAMETER_3GPP_CHARGING_VARIABLE-PART-TYPE_TIME', 2). +-define('DIAMETER_3GPP_CHARGING_VARIABLE-PART-TYPE_DATE', 3). +-define('DIAMETER_3GPP_CHARGING_VARIABLE-PART-TYPE_CURRENCY', 4). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_3GPP_CHARGING_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_3GPP_CHARGING_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_3GPP_CHARGING_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_3GPP_CHARGING_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_3GPP_CHARGING_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_3GPP_CHARGING_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_3GPP_CHARGING_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_3GPP_CHARGING_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_3GPP_CHARGING_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_3GPP_CHARGING_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_3GPP_CHARGING_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_3GPP_CHARGING_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_3GPP_CHARGING_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc7155_nasreq: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_UNKNOWN'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_UNKNOWN', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_LOGIN'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_LOGIN', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_FRAMED'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_FRAMED', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_LOGIN'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_LOGIN', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_FRAMED'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_FRAMED', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_OUTBOUND'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_OUTBOUND', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_ADMINISTRATIVE'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_ADMINISTRATIVE', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_NAS_PROMPT'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_NAS_PROMPT', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_AUTHENTICATE_ONLY', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_NAS_PROMPT'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_NAS_PROMPT', 9). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALL_CHECK'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALL_CHECK', 10). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_ADMINISTRATIVE'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_CALLBACK_ADMINISTRATIVE', 11). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_VOICE'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_VOICE', 12). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_FAX'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_FAX', 13). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_MODEM_RELAY'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_MODEM_RELAY', 14). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_IAPP_REGISTER'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_IAPP_REGISTER', 15). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_IAPP_AP_CHECK'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_IAPP_AP_CHECK', 16). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_AUTHORIZE_ONLY', 17). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_FRAMED_MANAGEMENT'). +-define('DIAMETER_3GPP_CHARGING_SERVICE-TYPE_FRAMED_MANAGEMENT', 18). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_TELNET'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_TELNET', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_RLOGIN'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_RLOGIN', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_TCP_CLEAR'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_TCP_CLEAR', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_PORTMASTER'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_PORTMASTER', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_LAT'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_LAT', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_X25_PAD'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_X25_PAD', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_X25_T3POS'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_X25_T3POS', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_UNASSIGNED'). +-define('DIAMETER_3GPP_CHARGING_LOGIN-SERVICE_UNASSIGNED', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_NONE'). +-define('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_NONE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_RADIUS'). +-define('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_RADIUS', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_LOCAL'). +-define('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_LOCAL', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_REMOTE'). +-define('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_REMOTE', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_DIAMETER'). +-define('DIAMETER_3GPP_CHARGING_ACCT-AUTHENTIC_DIAMETER', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ASYNC'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ASYNC', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_SYNC'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_SYNC', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ISDN_SYNC'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ISDN_SYNC', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ISDN_ASYNC_V120'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ISDN_ASYNC_V120', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ISDN_ASYNC_V110'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ISDN_ASYNC_V110', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_VIRTUAL'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_VIRTUAL', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PIAFS'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PIAFS', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_X25'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_X25', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_X75'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_X75', 9). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_G_3_FAX'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_G_3_FAX', 10). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_SDSL_SYMMETRIC_DSL'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_SDSL_SYMMETRIC_DSL', 11). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_IDSL_ISDN_DIGITAL_SUBSCRIBER_LINE'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_IDSL_ISDN_DIGITAL_SUBSCRIBER_LINE', 14). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ETHERNET'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_ETHERNET', 15). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_XDSL_DIGITAL_SUBSCRIBER_LINE_OF_UNKNOWN_TYPE'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_XDSL_DIGITAL_SUBSCRIBER_LINE_OF_UNKNOWN_TYPE', 16). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_CABLE'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_CABLE', 17). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_OTHER'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_OTHER', 18). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_11'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_11', 19). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_TOKEN_RING'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_TOKEN_RING', 20). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_FDDI'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_FDDI', 21). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_CDMA2000'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_CDMA2000', 22). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_UMTS'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_UMTS', 23). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_1X_EV'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_1X_EV', 24). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_IAPP'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_IAPP', 25). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_FTTP_FIBER_TO_THE_PREMISES'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_FTTP_FIBER_TO_THE_PREMISES', 26). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_16'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_16', 27). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_20'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_20', 28). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_22'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_IEEE_802_22', 29). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOA_PPP_OVER_ATM'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOA_PPP_OVER_ATM', 30). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOA_PPP_OVER_ETHERNET_OVER_ATM'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOA_PPP_OVER_ETHERNET_OVER_ATM', 31). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOE_PPP_OVER_ETHERNET_OVER_ETHERNET'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOE_PPP_OVER_ETHERNET_OVER_ETHERNET', 32). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOVLAN_PPP_OVER_ETHERNET_OVER_VLAN'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOVLAN_PPP_OVER_ETHERNET_OVER_VLAN', 33). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOQINQ_PPP_OVER_ETHERNET_OVER_IEEE_802_1QINQ'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_PPPOEOQINQ_PPP_OVER_ETHERNET_OVER_IEEE_802_1QINQ', 34). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_XPON_PASSIVE_OPTICAL_NETWORK'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_XPON_PASSIVE_OPTICAL_NETWORK', 35). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_XGP'). +-define('DIAMETER_3GPP_CHARGING_NAS-PORT-TYPE_WIRELESS_XGP', 36). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_PPTP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_PPTP', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_L2F'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_L2F', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_L2TP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_L2TP', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_ATMP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_ATMP', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_VTP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_VTP', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_AH'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_AH', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_IP_IP_ENCAP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_IP_IP_ENCAP', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_MIN_IP_IP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_MIN_IP_IP', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_ESP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_ESP', 9). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_GRE'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_GRE', 10). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_DVS'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_DVS', 11). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_IP_IN_IP_TUNNELING'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_IP_IN_IP_TUNNELING', 12). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_VLAN'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-TYPE_VLAN', 13). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IPV4'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IPV4', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IPV6'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IPV6', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_NSAP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_NSAP', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_HDLC'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_HDLC', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_BBN'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_BBN', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IEEE_802'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IEEE_802', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_E_163'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_E_163', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_E_164'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_E_164', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_F_69'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_F_69', 9). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_X_121'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_X_121', 10). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IPX'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_IPX', 11). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_APPLETALK_802'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_APPLETALK_802', 12). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_DECNET4'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_DECNET4', 13). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_VINES'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_VINES', 14). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_E_164_NSAP'). +-define('DIAMETER_3GPP_CHARGING_TUNNEL-MEDIUM-TYPE_E_164_NSAP', 15). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_PAP'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_PAP', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_CHAP'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_CHAP', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_MS_CHAP_1'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_MS_CHAP_1', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_MS_CHAP_2'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_MS_CHAP_2', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_EAP'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_EAP', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_UNDEFINED'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_UNDEFINED', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_NONE'). +-define('DIAMETER_3GPP_CHARGING_ACCOUNTING-AUTH-METHOD_NONE', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ORIGIN-AAA-PROTOCOL_RADIUS'). +-define('DIAMETER_3GPP_CHARGING_ORIGIN-AAA-PROTOCOL_RADIUS', 1). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4006_cc: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_INITIAL_REQUEST'). +-define('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_INITIAL_REQUEST', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_UPDATE_REQUEST'). +-define('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_UPDATE_REQUEST', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_TERMINATION_REQUEST'). +-define('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_TERMINATION_REQUEST', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_EVENT_REQUEST'). +-define('DIAMETER_3GPP_CHARGING_CC-REQUEST-TYPE_EVENT_REQUEST', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-SESSION-FAILOVER_NOT_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_CC-SESSION-FAILOVER_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-SESSION-FAILOVER_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_CC-SESSION-FAILOVER_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CHECK-BALANCE-RESULT_ENOUGH_CREDIT'). +-define('DIAMETER_3GPP_CHARGING_CHECK-BALANCE-RESULT_ENOUGH_CREDIT', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CHECK-BALANCE-RESULT_NO_CREDIT'). +-define('DIAMETER_3GPP_CHARGING_CHECK-BALANCE-RESULT_NO_CREDIT', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL_AUTHORIZATION'). +-define('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL_AUTHORIZATION', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL_RE_AUTHORIZATION'). +-define('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL_RE_AUTHORIZATION', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE'). +-define('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE'). +-define('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE'). +-define('DIAMETER_3GPP_CHARGING_CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER'). +-define('DIAMETER_3GPP_CHARGING_DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE'). +-define('DIAMETER_3GPP_CHARGING_DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE'). +-define('DIAMETER_3GPP_CHARGING_TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_TIME'). +-define('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_TIME', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_MONEY'). +-define('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_MONEY', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_TOTAL-OCTETS'). +-define('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_TOTAL-OCTETS', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_INPUT-OCTETS'). +-define('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_INPUT-OCTETS', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_OUTPUT-OCTETS'). +-define('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_OUTPUT-OCTETS', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS'). +-define('DIAMETER_3GPP_CHARGING_CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_FINAL-UNIT-ACTION_TERMINATE'). +-define('DIAMETER_3GPP_CHARGING_FINAL-UNIT-ACTION_TERMINATE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_FINAL-UNIT-ACTION_REDIRECT'). +-define('DIAMETER_3GPP_CHARGING_FINAL-UNIT-ACTION_REDIRECT', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_FINAL-UNIT-ACTION_RESTRICT_ACCESS'). +-define('DIAMETER_3GPP_CHARGING_FINAL-UNIT-ACTION_RESTRICT_ACCESS', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_IPV4'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_IPV4', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_IPV6'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_IPV6', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_URL'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_URL', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_SIP_URI'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-ADDRESS-TYPE_SIP_URI', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_MULTIPLE-SERVICES-INDICATOR_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_MULTIPLE-SERVICES-INDICATOR_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_DIRECT_DEBITING'). +-define('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_DIRECT_DEBITING', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_REFUND_ACCOUNT'). +-define('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_REFUND_ACCOUNT', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_CHECK_BALANCE'). +-define('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_CHECK_BALANCE', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_PRICE_ENQUIRY'). +-define('DIAMETER_3GPP_CHARGING_REQUESTED-ACTION_PRICE_ENQUIRY', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_E164'). +-define('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_E164', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_IMSI'). +-define('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_IMSI', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI'). +-define('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_NAI'). +-define('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_NAI', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE'). +-define('DIAMETER_3GPP_CHARGING_SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_IMEISV'). +-define('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_IMEISV', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_MAC'). +-define('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_MAC', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_EUI64'). +-define('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_EUI64', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64'). +-define('DIAMETER_3GPP_CHARGING_USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_base: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_IPV4'). +-define('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_IPV4', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_PPP'). +-define('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_PPP', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_IPV6'). +-define('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_IPV6', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_IPV4V6'). +-define('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_IPV4V6', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_NON-IP'). +-define('DIAMETER_3GPP_CHARGING_3GPP-PDP-TYPE_NON-IP', 4). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_212: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_3GPP_CHARGING_AN-GW-STATUS_AN_GW_FAILED'). +-define('DIAMETER_3GPP_CHARGING_AN-GW-STATUS_AN_GW_FAILED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-CONTROL-MODE_UE_ONLY'). +-define('DIAMETER_3GPP_CHARGING_BEARER-CONTROL-MODE_UE_ONLY', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-CONTROL-MODE_RESERVED'). +-define('DIAMETER_3GPP_CHARGING_BEARER-CONTROL-MODE_RESERVED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-CONTROL-MODE_UE_NW'). +-define('DIAMETER_3GPP_CHARGING_BEARER-CONTROL-MODE_UE_NW', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-OPERATION_TERMINATION'). +-define('DIAMETER_3GPP_CHARGING_BEARER-OPERATION_TERMINATION', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-OPERATION_ESTABLISHMENT'). +-define('DIAMETER_3GPP_CHARGING_BEARER-OPERATION_ESTABLISHMENT', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-OPERATION_MODIFICATION'). +-define('DIAMETER_3GPP_CHARGING_BEARER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-USAGE_GENERAL'). +-define('DIAMETER_3GPP_CHARGING_BEARER-USAGE_GENERAL', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_BEARER-USAGE_IMS_SIGNALLING'). +-define('DIAMETER_3GPP_CHARGING_BEARER-USAGE_IMS_SIGNALLING', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED'). +-define('DIAMETER_3GPP_CHARGING_CHARGING-CORRELATION-INDICATOR_CHARGING_IDENTIFIER_REQUIRED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL'). +-define('DIAMETER_3GPP_CHARGING_CSG-INFORMATION-REPORTING_CHANGE_CSG_CELL', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL'). +-define('DIAMETER_3GPP_CHARGING_CSG-INFORMATION-REPORTING_CHANGE_CSG_SUBSCRIBED_HYBRID_CELL', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL'). +-define('DIAMETER_3GPP_CHARGING_CSG-INFORMATION-REPORTING_CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_SGSN_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_SGSN_CHANGE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_QOS_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_QOS_CHANGE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RAT_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RAT_CHANGE', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_TFT_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_TFT_CHANGE', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_PLMN_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_PLMN_CHANGE', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_LOSS_OF_BEARER'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_LOSS_OF_BEARER', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RECOVERY_OF_BEARER'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RECOVERY_OF_BEARER', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_IP-CAN_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_IP-CAN_CHANGE', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_QOS_CHANGE_EXCEEDING_AUTHORIZATION', 11). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RAI_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RAI_CHANGE', 12). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_LOCATION_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_LOCATION_CHANGE', 13). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_NO_EVENT_TRIGGERS'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_NO_EVENT_TRIGGERS', 14). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_OUT_OF_CREDIT'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_OUT_OF_CREDIT', 15). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_REALLOCATION_OF_CREDIT'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_REALLOCATION_OF_CREDIT', 16). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_REVALIDATION_TIMEOUT'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_REVALIDATION_TIMEOUT', 17). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_IP_ADDRESS_ALLOCATE', 18). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_IP_ADDRESS_RELEASE', 19). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_DEFAULT_EPS_BEARER_QOS_CHANGE', 20). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_AN_GW_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_AN_GW_CHANGE', 21). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_SUCCESSFUL_RESOURCE_ALLOCATION', 22). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_RESOURCE_MODIFICATION_REQUEST', 23). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_PGW_TRACE_CONTROL'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_PGW_TRACE_CONTROL', 24). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_TIME_ZONE_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_TIME_ZONE_CHANGE', 25). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_TAI_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_TAI_CHANGE', 26). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_ECGI_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_ECGI_CHANGE', 27). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CHARGING_CORRELATION_EXCHANGE', 28). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_APN-AMBR_MODIFICATION_FAILURE', 29). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_CSG_INFORMATION_CHANGE', 30). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USAGE_REPORT'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USAGE_REPORT', 33). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE', 34). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE', 35). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE', 36). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_ROUTING_RULE_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_ROUTING_RULE_CHANGE', 37). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_APPLICATION_START'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_APPLICATION_START', 39). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_APPLICATION_STOP'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_APPLICATION_STOP', 40). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CS_TO_PS_HANDOVER'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CS_TO_PS_HANDOVER', 42). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_UE_LOCAL_IP_ADDRESS_CHANGE', 43). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_HNB_LOCAL_IP_ADDRESS_CHANGE', 44). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_ACCESS_NETWORK_INFO_REPORT', 45). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CREDIT_MANAGEMENT_SESSION_FAILURE', 46). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_DEFAULT_QOS_CHANGE'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_DEFAULT_QOS_CHANGE', 47). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT'). +-define('DIAMETER_3GPP_CHARGING_EVENT-TRIGGER_CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA_REPORT', 48). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_UNSPECIFIED'). +-define('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_UNSPECIFIED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_DOWNLINK'). +-define('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_DOWNLINK', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_UPLINK'). +-define('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_UPLINK', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_BIDIRECTIONAL'). +-define('DIAMETER_3GPP_CHARGING_FLOW-DIRECTION_BIDIRECTIONAL', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-SESSION-CHARGING-SCOPE_IP-CAN_SESSION_SCOPE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_3GPP-GPRS'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_3GPP-GPRS', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_DOCSIS'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_DOCSIS', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_XDSL'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_XDSL', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_WIMAX'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_WIMAX', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_3GPP2'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_3GPP2', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_3GPP-EPS'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_3GPP-EPS', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_NON-3GPP-EPS'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_NON-3GPP-EPS', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_FBA'). +-define('DIAMETER_3GPP_CHARGING_IP-CAN-TYPE_FBA', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_METERING-METHOD_DURATION'). +-define('DIAMETER_3GPP_CHARGING_METERING-METHOD_DURATION', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_METERING-METHOD_VOLUME'). +-define('DIAMETER_3GPP_CHARGING_METERING-METHOD_VOLUME', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_METERING-METHOD_DURATION_VOLUME'). +-define('DIAMETER_3GPP_CHARGING_METERING-METHOD_DURATION_VOLUME', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_METERING-METHOD_EVENT'). +-define('DIAMETER_3GPP_CHARGING_METERING-METHOD_EVENT', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_MUTE-NOTIFICATION_MUTE_REQUIRED'). +-define('DIAMETER_3GPP_CHARGING_MUTE-NOTIFICATION_MUTE_REQUIRED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_NETWORK-REQUEST-SUPPORT_NETWORK_REQUEST_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_OFFLINE_DISABLE_OFFLINE'). +-define('DIAMETER_3GPP_CHARGING_OFFLINE_DISABLE_OFFLINE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_OFFLINE_ENABLE_OFFLINE'). +-define('DIAMETER_3GPP_CHARGING_OFFLINE_ENABLE_OFFLINE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ONLINE_DISABLE_ONLINE'). +-define('DIAMETER_3GPP_CHARGING_ONLINE_DISABLE_ONLINE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_ONLINE_ENABLE_ONLINE'). +-define('DIAMETER_3GPP_CHARGING_ONLINE_ENABLE_ONLINE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PACKET-FILTER-OPERATION_DELETION'). +-define('DIAMETER_3GPP_CHARGING_PACKET-FILTER-OPERATION_DELETION', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PACKET-FILTER-OPERATION_ADDITION'). +-define('DIAMETER_3GPP_CHARGING_PACKET-FILTER-OPERATION_ADDITION', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PACKET-FILTER-OPERATION_MODIFICATION'). +-define('DIAMETER_3GPP_CHARGING_PACKET-FILTER-OPERATION_MODIFICATION', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PACKET-FILTER-USAGE_SEND_TO_UE'). +-define('DIAMETER_3GPP_CHARGING_PACKET-FILTER-USAGE_SEND_TO_UE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PCC-RULE-STATUS_ACTIVE'). +-define('DIAMETER_3GPP_CHARGING_PCC-RULE-STATUS_ACTIVE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PCC-RULE-STATUS_INACTIVE'). +-define('DIAMETER_3GPP_CHARGING_PCC-RULE-STATUS_INACTIVE', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PCC-RULE-STATUS_TEMPORARILY_INACTIVE'). +-define('DIAMETER_3GPP_CHARGING_PCC-RULE-STATUS_TEMPORARILY_INACTIVE', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED'). +-define('DIAMETER_3GPP_CHARGING_PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_ENABLED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED'). +-define('DIAMETER_3GPP_CHARGING_PRE-EMPTION-CAPABILITY_PRE-EMPTION_CAPABILITY_DISABLED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED'). +-define('DIAMETER_3GPP_CHARGING_PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_ENABLED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED'). +-define('DIAMETER_3GPP_CHARGING_PRE-EMPTION-VULNERABILITY_PRE-EMPTION_VULNERABILITY_DISABLED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE'). +-define('DIAMETER_3GPP_CHARGING_PS-TO-CS-SESSION-CONTINUITY_VIDEO_PS2CS_CONT_CANDIDATE', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_1'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_1', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_2'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_2', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_3'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_3', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_4'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_4', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_5'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_5', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_6'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_6', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_7'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_7', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_8'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_8', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_9'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_9', 9). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_65'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_65', 65). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_66'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_66', 66). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_69'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_69', 69). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_70'). +-define('DIAMETER_3GPP_CHARGING_QOS-CLASS-IDENTIFIER_QCI_70', 70). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-NEGOTIATION_NO_QOS_NEGOTIATION'). +-define('DIAMETER_3GPP_CHARGING_QOS-NEGOTIATION_NO_QOS_NEGOTIATION', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_QOS-NEGOTIATION_QOS_NEGOTIATION_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_QOS-UPGRADE_QOS_UPGRADE_NOT_SUPPORTED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_QOS-UPGRADE_QOS_UPGRADE_SUPPORTED'). +-define('DIAMETER_3GPP_CHARGING_QOS-UPGRADE_QOS_UPGRADE_SUPPORTED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_WLAN'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_WLAN', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_VIRTUAL'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_VIRTUAL', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_UTRAN'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_UTRAN', 1000). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_GERAN'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_GERAN', 1001). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_GAN'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_GAN', 1002). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_HSPA_EVOLUTION'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_HSPA_EVOLUTION', 1003). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_EUTRAN'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_EUTRAN', 1004). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_CDMA2000_1X'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_CDMA2000_1X', 2000). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_HRPD'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_HRPD', 2001). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_UMB'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_UMB', 2002). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RAT-TYPE_EHRPD'). +-define('DIAMETER_3GPP_CHARGING_RAT-TYPE_EHRPD', 2003). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-SUPPORT_REDIRECTION_DISABLED'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-SUPPORT_REDIRECTION_DISABLED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REDIRECT-SUPPORT_REDIRECTION_ENABLED'). +-define('DIAMETER_3GPP_CHARGING_REDIRECT-SUPPORT_REDIRECTION_ENABLED', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL'). +-define('DIAMETER_3GPP_CHARGING_REPORTING-LEVEL_SERVICE_IDENTIFIER_LEVEL', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REPORTING-LEVEL_RATING_GROUP_LEVEL'). +-define('DIAMETER_3GPP_CHARGING_REPORTING-LEVEL_RATING_GROUP_LEVEL', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL'). +-define('DIAMETER_3GPP_CHARGING_REPORTING-LEVEL_SPONSORED_CONNECTIVITY_LEVEL', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION'). +-define('DIAMETER_3GPP_CHARGING_RESOURCE-ALLOCATION-NOTIFICATION_ENABLE_NOTIFICATION', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_UNKNOWN_RULE_NAME'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_UNKNOWN_RULE_NAME', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_RATING_GROUP_ERROR'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_RATING_GROUP_ERROR', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_SERVICE_IDENTIFIER_ERROR', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_GW_PCEF_MALFUNCTION', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_RESOURCES_LIMITATION'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_RESOURCES_LIMITATION', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MAX_NR_BEARERS_REACHED', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_UNKNOWN_BEARER_ID'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_UNKNOWN_BEARER_ID', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MISSING_BEARER_ID'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MISSING_BEARER_ID', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MISSING_FLOW_INFORMATION', 9). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_RESOURCE_ALLOCATION_FAILURE', 10). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_UNSUCCESSFUL_QOS_VALIDATION', 11). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_INCORRECT_FLOW_INFORMATION', 12). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_PS_TO_CS_HANDOVER'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_PS_TO_CS_HANDOVER', 13). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_TDF_APPLICATION_IDENTIFIER_ERROR', 14). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_NO_BEARER_BOUND'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_NO_BEARER_BOUND', 15). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_FILTER_RESTRICTIONS'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_FILTER_RESTRICTIONS', 16). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_AN_GW_FAILED'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_AN_GW_FAILED', 17). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_MISSING_REDIRECT_SERVER_ADDRESS', 18). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_END_USER_SERVICE_DENIED', 19). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_CREDIT_CONTROL_NOT_APPLICABLE', 20). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED', 21). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_USER_UNKNOWN'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_USER_UNKNOWN', 22). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_RATING_FAILED'). +-define('DIAMETER_3GPP_CHARGING_RULE-FAILURE-CODE_CM_RATING_FAILED', 23). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON'). +-define('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_UNSPECIFIED_REASON', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON'). +-define('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_UE_SUBSCRIPTION_REASON', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES'). +-define('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_INSUFFICIENT_SERVER_RESOURCES', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION'). +-define('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_IP_CAN_SESSION_TERMINATION', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE'). +-define('DIAMETER_3GPP_CHARGING_SESSION-RELEASE-CAUSE_UE_IP_ADDRESS_RELEASE', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-LEVEL_SESSION_LEVEL'). +-define('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-LEVEL_SESSION_LEVEL', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL'). +-define('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-LEVEL_PCC_RULE_LEVEL', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL'). +-define('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-LEVEL_ADC_RULE_LEVEL', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED'). +-define('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-REPORT_USAGE_MONITORING_REPORT_REQUIRED', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED'). +-define('DIAMETER_3GPP_CHARGING_USAGE-MONITORING-SUPPORT_USAGE_MONITORING_DISABLED', 0). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_3gpp_ts29_229: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_NO_ASSIGNMENT', 0). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_REGISTRATION'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_REGISTRATION', 1). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_RE_REGISTRATION', 2). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_UNREGISTERED_USER', 3). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION', 4). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION', 5). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME', 6). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_USER_DEREGISTRATION_STORE_SERVER_NAME', 7). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_ADMINISTRATIVE_DEREGISTRATION', 8). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_FAILURE', 9). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_AUTHENTICATION_TIMEOUT', 10). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_DEREGISTRATION_TOO_MUCH_DATA', 11). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_AAA_USER_DATA_REQUEST', 12). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_PGW_UPDATE'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_PGW_UPDATE', 13). +-endif. +-ifndef('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_RESTORATION'). +-define('DIAMETER_3GPP_CHARGING_SERVER-ASSIGNMENT-TYPE_RESTORATION', 14). +-endif. + diff --git a/include/diameter_etsi_es283_034.hrl b/include/diameter_etsi_es283_034.hrl new file mode 100644 index 0000000..366604c --- /dev/null +++ b/include/diameter_etsi_es283_034.hrl @@ -0,0 +1,138 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_etsi_es283_034.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_e4_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_e4_Failed-AVP', {'AVP' = []}). + +-record('diameter_e4_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_e4_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_E4_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_E4_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_E4_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_E4_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_E4_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_E4_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_E4_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_E4_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_E4_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_E4_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_E4_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_E4_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_E4_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_E4_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_E4_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_E4_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_E4_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_E4_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_etsi_es283_035.hrl b/include/diameter_etsi_es283_035.hrl new file mode 100644 index 0000000..460d368 --- /dev/null +++ b/include/diameter_etsi_es283_035.hrl @@ -0,0 +1,174 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_etsi_es283_035.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('diameter_e4_Location-Information', + {'Line-Identifier' = [], + 'Civic-Location' = [], + 'Geospatial-Location' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_e4_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_e4_Failed-AVP', {'AVP' = []}). + +-record('diameter_e4_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_e4_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('DIAMETER_E4_REQUESTED-INFORMATION_IP-CONNECTIVITY-USER-ID', 0). +-define('DIAMETER_E4_REQUESTED-INFORMATION_LOCATION-INFORMATION', 1). +-define('DIAMETER_E4_REQUESTED-INFORMATION_POLICY-CONTROL-CONTACT-POINT', 2). +-define('DIAMETER_E4_REQUESTED-INFORMATION_ACCESS-NETWORK-TYPE', 3). +-define('DIAMETER_E4_REQUESTED-INFORMATION_TERMINAL-TYPE', 4). +-define('DIAMETER_E4_REQUESTED-INFORMATION_LOGICAL-ACCESS-ID', 5). +-define('DIAMETER_E4_REQUESTED-INFORMATION_PHYSICAL-ACCESS-ID', 6). +-define('DIAMETER_E4_EVENT-TYPE_USER-LOGON', 0). +-define('DIAMETER_E4_EVENT-TYPE_LOCATION-INFORMATION-CHANGED', 1). +-define('DIAMETER_E4_EVENT-TYPE_POLICY-CONTROL-CONTACT-POINT-CHANGED', 2). +-define('DIAMETER_E4_EVENT-TYPE_ACCESS-NETWORK-TYPE-CHANGED', 3). +-define('DIAMETER_E4_EVENT-TYPE_TERMINAL-TYPE-CHANGED', 4). +-define('DIAMETER_E4_EVENT-TYPE_LOGICAL-ACCESS-ID-CHANGED', 5). +-define('DIAMETER_E4_EVENT-TYPE_PHYSICAL-ACCESS-ID-CHANGED', 6). +-define('DIAMETER_E4_EVENT-TYPE_IP-ADDRESS-CHANGED', 7). +-define('DIAMETER_E4_EVENT-TYPE_INITIAL-GATE-SETTING-CHANGED', 8). +-define('DIAMETER_E4_EVENT-TYPE_QOS-PROFILE-CHANGED', 9). +-define('DIAMETER_E4_EVENT-TYPE_USER-LOGOFF', 10). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_E4_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_E4_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_E4_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_E4_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_E4_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_E4_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_E4_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_E4_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_E4_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_E4_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_E4_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_E4_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_E4_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_E4_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_E4_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_E4_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_E4_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_E4_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_E4_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_E4_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_E4_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_E4_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_E4_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_E4_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_E4_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc4004.hrl b/include/diameter_rfc4004.hrl new file mode 100644 index 0000000..487da9f --- /dev/null +++ b/include/diameter_rfc4004.hrl @@ -0,0 +1,287 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc4004.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('AMR', + {'Session-Id', + 'Auth-Application-Id', + 'User-Name', + 'Destination-Realm', + 'Origin-Host', + 'Origin-Realm', + 'MIP-Reg-Request', + 'MIP-MN-AAA-Auth', + 'Acct-Multi-Session-Id' = [], + 'Destination-Host' = [], + 'Origin-State-Id' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Feature-Vector' = [], + 'MIP-Originating-Foreign-AAA' = [], + 'Authorization-Lifetime' = [], + 'Auth-Session-State' = [], + 'MIP-FA-Challenge' = [], + 'MIP-Candidate-Home-Agent-Host' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP-HA-to-FA-SPI' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('AMA', + {'Session-Id', + 'Auth-Application-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Acct-Multi-Session-Id' = [], + 'User-Name' = [], + 'Authorization-Lifetime' = [], + 'Auth-Session-State' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Re-Auth-Request-Type' = [], + 'MIP-Feature-Vector' = [], + 'MIP-Reg-Reply' = [], + 'MIP-MN-to-FA-MSA' = [], + 'MIP-MN-to-HA-MSA' = [], + 'MIP-FA-to-MN-MSA' = [], + 'MIP-FA-to-HA-MSA' = [], + 'MIP-HA-to-MN-MSA' = [], + 'MIP-MSA-Lifetime' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-Filter-Rule' = []}). + +-record('HAR', + {'Session-Id', + 'Auth-Application-Id', + 'Authorization-Lifetime', + 'Auth-Session-State', + 'MIP-Reg-Request', + 'Origin-Host', + 'Origin-Realm', + 'User-Name', + 'Destination-Realm', + 'MIP-Feature-Vector', + 'Destination-Host' = [], + 'MIP-MN-to-HA-MSA' = [], + 'MIP-MN-to-FA-MSA' = [], + 'MIP-HA-to-MN-MSA' = [], + 'MIP-HA-to-FA-MSA' = [], + 'MIP-MSA-Lifetime' = [], + 'MIP-Originating-Foreign-AAA' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Filter-Rule' = [], + 'Origin-State-Id' = []}). + +-record('HAA', + {'Session-Id', + 'Auth-Application-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Acct-Multi-Session-Id' = [], + 'User-Name' = [], + 'Error-Reporting-Host' = [], + 'Error-Message' = [], + 'MIP-Reg-Reply' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-FA-to-HA-SPI' = [], + 'MIP-FA-to-MN-SPI' = [], + 'Origin-State-Id' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('MIP-MN-AAA-Auth', + {'MIP-MN-AAA-SPI', + 'MIP-Auth-Input-Data-Length', + 'MIP-Authenticator-Length', + 'MIP-Authenticator-Offset', + 'AVP' = []}). + +-record('MIP-MN-to-FA-MSA', + {'MIP-Algorithm-Type', 'MIP-Nonce', 'AVP' = []}). + +-record('MIP-FA-to-MN-MSA', + {'MIP-FA-to-MN-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-MN-to-HA-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Nonce', + 'AVP' = []}). + +-record('MIP-HA-to-MN-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-FA-to-HA-MSA', + {'MIP-FA-to-HA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-HA-to-FA-MSA', + {'MIP-HA-to-FA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-Originating-Foreign-AAA', + {'Origin-Realm', 'Origin-Host', 'AVP' = []}). + +-record('MIP-Home-Agent-Host', + {'Destination-Realm', 'Destination-Host', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc4005_nasreq.hrl b/include/diameter_rfc4005_nasreq.hrl new file mode 100644 index 0000000..7226b51 --- /dev/null +++ b/include/diameter_rfc4005_nasreq.hrl @@ -0,0 +1,685 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc4005_nasreq.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('AAR', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Request-Type', + 'Destination-Host' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Port-Limit' = [], + 'User-Name' = [], + 'User-Password' = [], + 'Service-Type' = [], + 'State' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Connect-Info' = [], + 'CHAP-Auth' = [], + 'CHAP-Challenge' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IP-Netmask' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'ARAP-Password' = [], + 'ARAP-Security' = [], + 'ARAP-Security-Data' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('AAA', + {'Session-Id', + 'Auth-Application-Id', + 'Auth-Request-Type', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Service-Type' = [], + 'Class' = [], + 'Configuration-Token' = [], + 'Acct-Interim-Interval' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Idle-Timeout' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Re-Auth-Request-Type' = [], + 'Multi-Round-Time-Out' = [], + 'Session-Timeout' = [], + 'State' = [], + 'Reply-Message' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Filter-Id' = [], + 'Password-Retry' = [], + 'Port-Limit' = [], + 'Prompt' = [], + 'ARAP-Challenge-Response' = [], + 'ARAP-Features' = [], + 'ARAP-Security' = [], + 'ARAP-Security-Data' = [], + 'ARAP-Zone-Access' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IP-Netmask' = [], + 'Framed-Route' = [], + 'Framed-Pool' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'Framed-Routing' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Login-Service' = [], + 'Login-TCP-Port' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Tunneling' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('RAR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'Re-Auth-Request-Type', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'State' = [], + 'Class' = [], + 'Reply-Message' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('RAA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Service-Type' = [], + 'Configuration-Token' = [], + 'Idle-Timeout' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Re-Auth-Request-Type' = [], + 'State' = [], + 'Class' = [], + 'Reply-Message' = [], + 'Prompt' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('STR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Application-Id', + 'Termination-Cause', + 'User-Name' = [], + 'Destination-Host' = [], + 'Class' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('STA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Class' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('ASR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'State' = [], + 'Class' = [], + 'Reply-Message' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('ASA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'State' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('ACR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Destination-Host' = [], + 'Event-Timestamp' = [], + 'Acct-Delay-Time' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Class' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Input-Packets' = [], + 'Accounting-Output-Octets' = [], + 'Accounting-Output-Packets' = [], + 'Acct-Authentic' = [], + 'Accounting-Auth-Method' = [], + 'Acct-Link-Count' = [], + 'Acct-Session-Time' = [], + 'Acct-Tunnel-Connection' = [], + 'Acct-Tunnel-Packets-Lost' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Connect-Info' = [], + 'Originating-Line-Info' = [], + 'Authorization-Lifetime' = [], + 'Session-Timeout' = [], + 'Idle-Timeout' = [], + 'Port-Limit' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Filter-Id' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IP-Netmask' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Pool' = [], + 'Framed-Protocol' = [], + 'Framed-Route' = [], + 'Framed-Routing' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Login-Service' = [], + 'Login-TCP-Port' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('ACA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Event-Timestamp' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Class' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record('Tunneling', + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('NAS-PORT-TYPE_ASYNC', 0). +-define('NAS-PORT-TYPE_SYNC', 1). +-define('NAS-PORT-TYPE_ISDN_SYNC', 2). +-define('NAS-PORT-TYPE_ISDN_ASYNC_V120', 3). +-define('NAS-PORT-TYPE_ISDN_ASYNC_V110', 4). +-define('NAS-PORT-TYPE_VIRTUAL', 5). +-define('NAS-PORT-TYPE_PIAFS', 6). +-define('NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL', 7). +-define('NAS-PORT-TYPE_X25', 8). +-define('NAS-PORT-TYPE_X75', 9). +-define('NAS-PORT-TYPE_G3FAX', 10). +-define('NAS-PORT-TYPE_SDSL', 11). +-define('NAS-PORT-TYPE_ADSL-CAP', 12). +-define('NAS-PORT-TYPE_ADSL-DMT', 13). +-define('NAS-PORT-TYPE_IDSL', 14). +-define('NAS-PORT-TYPE_ETHERNET', 15). +-define('NAS-PORT-TYPE_XDSL', 16). +-define('NAS-PORT-TYPE_CABLE', 17). +-define('NAS-PORT-TYPE_WIRELESS_OTHER', 18). +-define('NAS-PORT-TYPE_WIRELESS_802.11', 19). +-define('NAS-PORT-TYPE_TOKEN-RING', 20). +-define('NAS-PORT-TYPE_FDDI', 21). +-define('NAS-PORT-TYPE_WIRELESS_CDMA2000', 22). +-define('NAS-PORT-TYPE_WIRELESS_UMTS', 23). +-define('NAS-PORT-TYPE_WIRELESS_1X-EV', 24). +-define('NAS-PORT-TYPE_IAPP', 25). +-define('PROMPT_NO_ECHO', 0). +-define('PROMPT_ECHO', 1). +-define('CHAP-ALGORITHM_WITH_MD5', 5). +-define('SERVICE-TYPE_LOGIN', 1). +-define('SERVICE-TYPE_FRAMED', 2). +-define('SERVICE-TYPE_CALLBACK_LOGIN', 3). +-define('SERVICE-TYPE_CALLBACK_FRAMED', 4). +-define('SERVICE-TYPE_OUTBOUND', 5). +-define('SERVICE-TYPE_ADMINISTRATIVE', 6). +-define('SERVICE-TYPE_NAS_PROMPT', 7). +-define('SERVICE-TYPE_AUTHENTICATE_ONLY', 8). +-define('SERVICE-TYPE_CALLBACK_NAS_PROMPT', 9). +-define('SERVICE-TYPE_CALL_CHECK', 10). +-define('SERVICE-TYPE_CALLBACK_ADMINISTRATIVE', 11). +-define('SERVICE-TYPE_VOICE', 12). +-define('SERVICE-TYPE_FAX', 13). +-define('SERVICE-TYPE_MODEM_RELAY', 14). +-define('SERVICE-TYPE_IAPP-REGISTER', 15). +-define('SERVICE-TYPE_IAPP-AP-CHECK', 16). +-define('SERVICE-TYPE_AUTHORIZE_ONLY', 17). +-define('FRAMED-PROTOCOL_PPP', 1). +-define('FRAMED-PROTOCOL_SLIP', 2). +-define('FRAMED-PROTOCOL_ARAP', 3). +-define('FRAMED-PROTOCOL_GANDALF', 4). +-define('FRAMED-PROTOCOL_XYLOGICS', 5). +-define('FRAMED-PROTOCOL_X75', 6). +-define('FRAMED-ROUTING_NONE', 0). +-define('FRAMED-ROUTING_SEND', 1). +-define('FRAMED-ROUTING_LISTEN', 2). +-define('FRAMED-ROUTING_SEND_AND_LISTEN', 3). +-define('FRAMED-COMPRESSION_NONE', 0). +-define('FRAMED-COMPRESSION_VJ', 1). +-define('FRAMED-COMPRESSION_IPX', 2). +-define('FRAMED-COMPRESSION_STAC-LZS', 3). +-define('ARAP-ZONE-ACCESS_DEFAULT', 1). +-define('ARAP-ZONE-ACCESS_FILTER_INCLUSIVELY', 2). +-define('ARAP-ZONE-ACCESS_FILTER_EXCLUSIVELY', 4). +-define('LOGIN-SERVICE_TELNET', 0). +-define('LOGIN-SERVICE_RLOGIN', 1). +-define('LOGIN-SERVICE_TCP_CLEAR', 2). +-define('LOGIN-SERVICE_PORTMASTER', 3). +-define('LOGIN-SERVICE_LAT', 4). +-define('LOGIN-SERVICE_X25-PAD', 5). +-define('LOGIN-SERVICE_X25-T3POS', 6). +-define('LOGIN-SERVICE_TCP_CLEAR_QUIET', 8). +-define('TUNNEL-TYPE_PPTP', 1). +-define('TUNNEL-TYPE_L2F', 2). +-define('TUNNEL-TYPE_L2TP', 3). +-define('TUNNEL-TYPE_ATMP', 4). +-define('TUNNEL-TYPE_VTP', 5). +-define('TUNNEL-TYPE_AH', 6). +-define('TUNNEL-TYPE_IP-IP', 7). +-define('TUNNEL-TYPE_MIN-IP-IP', 8). +-define('TUNNEL-TYPE_ESP', 9). +-define('TUNNEL-TYPE_GRE', 10). +-define('TUNNEL-TYPE_DVS', 11). +-define('TUNNEL-TYPE_IP-IN-IP', 12). +-define('TUNNEL-TYPE_VLAN', 13). +-define('TUNNEL-MEDIUM-TYPE_IPV4', 1). +-define('TUNNEL-MEDIUM-TYPE_IPV6', 2). +-define('TUNNEL-MEDIUM-TYPE_NSAP', 3). +-define('TUNNEL-MEDIUM-TYPE_HDLC', 4). +-define('TUNNEL-MEDIUM-TYPE_BBN_1822', 5). +-define('TUNNEL-MEDIUM-TYPE_802', 6). +-define('TUNNEL-MEDIUM-TYPE_E163', 7). +-define('TUNNEL-MEDIUM-TYPE_E164', 8). +-define('TUNNEL-MEDIUM-TYPE_F69', 9). +-define('TUNNEL-MEDIUM-TYPE_X121', 10). +-define('TUNNEL-MEDIUM-TYPE_IPX', 11). +-define('TUNNEL-MEDIUM-TYPE_APPLETALK', 12). +-define('TUNNEL-MEDIUM-TYPE_DECNET_IV', 13). +-define('TUNNEL-MEDIUM-TYPE_BANYAN_VINES', 14). +-define('TUNNEL-MEDIUM-TYPE_E164_NSAP', 15). +-define('ACCT-AUTHENTIC_RADIUS', 1). +-define('ACCT-AUTHENTIC_LOCAL', 2). +-define('ACCT-AUTHENTIC_REMOTE', 3). +-define('ACCT-AUTHENTIC_DIAMETER', 4). +-define('ACCOUNTING-AUTH-METHOD_PAP', 1). +-define('ACCOUNTING-AUTH-METHOD_CHAP', 2). +-define('ACCOUNTING-AUTH-METHOD_MS-CHAP-1', 3). +-define('ACCOUNTING-AUTH-METHOD_MS-CHAP-2', 4). +-define('ACCOUNTING-AUTH-METHOD_EAP', 5). +-define('ACCOUNTING-AUTH-METHOD_NONE', 7). +-define('TERMINATION-CAUSE_USER_REQUEST', 11). +-define('TERMINATION-CAUSE_LOST_CARRIER', 12). +-define('TERMINATION-CAUSE_LOST_SERVICE', 13). +-define('TERMINATION-CAUSE_IDLE_TIMEOUT', 14). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 15). +-define('TERMINATION-CAUSE_ADMIN_RESET', 16). +-define('TERMINATION-CAUSE_ADMIN_REBOOT', 17). +-define('TERMINATION-CAUSE_PORT_ERROR', 18). +-define('TERMINATION-CAUSE_NAS_ERROR', 19). +-define('TERMINATION-CAUSE_NAS_REQUEST', 20). +-define('TERMINATION-CAUSE_NAS_REBOOT', 21). +-define('TERMINATION-CAUSE_PORT_UNNEEDED', 22). +-define('TERMINATION-CAUSE_PORT_PREEMPTED', 23). +-define('TERMINATION-CAUSE_PORT_SUSPENDED', 24). +-define('TERMINATION-CAUSE_SERVICE_UNAVAILABLE', 25). +-define('TERMINATION-CAUSE_CALLBACK', 26). +-define('TERMINATION-CAUSE_USER_ERROR', 27). +-define('TERMINATION-CAUSE_HOST_REQUEST', 28). +-define('TERMINATION-CAUSE_SUPPLICANT_RESTART', 29). +-define('TERMINATION-CAUSE_REAUTHORIZATION_FAILURE', 30). +-define('TERMINATION-CAUSE_PORT_REINIT', 31). +-define('TERMINATION-CAUSE_PORT_DISABLED', 32). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc4006_cc.hrl b/include/diameter_rfc4006_cc.hrl new file mode 100644 index 0000000..29df211 --- /dev/null +++ b/include/diameter_rfc4006_cc.hrl @@ -0,0 +1,348 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc4006_cc.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('CCR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Application-Id', + 'Service-Context-Id', + 'CC-Request-Type', + 'CC-Request-Number', + 'Destination-Host' = [], + 'User-Name' = [], + 'CC-Sub-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-State-Id' = [], + 'Event-Timestamp' = [], + 'Subscription-Id' = [], + 'Service-Identifier' = [], + 'Termination-Cause' = [], + 'Requested-Service-Unit' = [], + 'Requested-Action' = [], + 'Used-Service-Unit' = [], + 'Multiple-Services-Indicator' = [], + 'Multiple-Services-Credit-Control' = [], + 'Service-Parameter-Info' = [], + 'CC-Correlation-Id' = [], + 'User-Equipment-Info' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('CCA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Auth-Application-Id', + 'CC-Request-Type', + 'CC-Request-Number', + 'User-Name' = [], + 'CC-Session-Failover' = [], + 'CC-Sub-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-State-Id' = [], + 'Event-Timestamp' = [], + 'Granted-Service-Unit' = [], + 'Multiple-Services-Credit-Control' = [], + 'Cost-Information' = [], + 'Final-Unit-Indication' = [], + 'Check-Balance-Result' = [], + 'Credit-Control-Failure-Handling' = [], + 'Direct-Debiting-Failure-Handling' = [], + 'Validity-Time' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'Failed-AVP' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('CC-REQUEST-TYPE_INITIAL_REQUEST', 1). +-define('CC-REQUEST-TYPE_UPDATE_REQUEST', 2). +-define('CC-REQUEST-TYPE_TERMINATION_REQUEST', 3). +-define('CC-REQUEST-TYPE_EVENT_REQUEST', 4). +-define('CC-SESSION-FAILOVER_NOT_SUPPORTED', 0). +-define('CC-SESSION-FAILOVER_SUPPORTED', 1). +-define('CHECK-BALANCE-RESULT_ENOUGH_CREDIT', 0). +-define('CHECK-BALANCE-RESULT_NO_CREDIT', 1). +-define('CREDIT-CONTROL_AUTHORIZATION', 0). +-define('CREDIT-CONTROL_RE_AUTHORIZATION', 1). +-define('CREDIT-CONTROL-FAILURE-HANDLING_TERMINATE', 0). +-define('CREDIT-CONTROL-FAILURE-HANDLING_CONTINUE', 1). +-define('CREDIT-CONTROL-FAILURE-HANDLING_RETRY_AND_TERMINATE', 2). +-define('DIRECT-DEBITING-FAILURE-HANDLING_TERMINATE_OR_BUFFER', 0). +-define('DIRECT-DEBITING-FAILURE-HANDLING_CONTINUE', 1). +-define('TARIFF-CHANGE-USAGE_UNIT_BEFORE_TARIFF_CHANGE', 0). +-define('TARIFF-CHANGE-USAGE_UNIT_AFTER_TARIFF_CHANGE', 1). +-define('TARIFF-CHANGE-USAGE_UNIT_INDETERMINATE', 2). +-define('CC-UNIT-TYPE_TIME', 0). +-define('CC-UNIT-TYPE_MONEY', 1). +-define('CC-UNIT-TYPE_TOTAL-OCTETS', 2). +-define('CC-UNIT-TYPE_INPUT-OCTETS', 3). +-define('CC-UNIT-TYPE_OUTPUT-OCTETS', 4). +-define('CC-UNIT-TYPE_SERVICE-SPECIFIC-UNITS', 5). +-define('FINAL-UNIT-ACTION_TERMINATE', 0). +-define('FINAL-UNIT-ACTION_REDIRECT', 1). +-define('FINAL-UNIT-ACTION_RESTRICT_ACCESS', 2). +-define('REDIRECT-ADDRESS-TYPE_IPV4', 0). +-define('REDIRECT-ADDRESS-TYPE_IPV6', 1). +-define('REDIRECT-ADDRESS-TYPE_URL', 2). +-define('REDIRECT-ADDRESS-TYPE_SIP_URI', 3). +-define('MULTIPLE-SERVICES-INDICATOR_NOT_SUPPORTED', 0). +-define('MULTIPLE-SERVICES-INDICATOR_SUPPORTED', 1). +-define('REQUESTED-ACTION_DIRECT_DEBITING', 0). +-define('REQUESTED-ACTION_REFUND_ACCOUNT', 1). +-define('REQUESTED-ACTION_CHECK_BALANCE', 2). +-define('REQUESTED-ACTION_PRICE_ENQUIRY', 3). +-define('SUBSCRIPTION-ID-TYPE_END_USER_E164', 0). +-define('SUBSCRIPTION-ID-TYPE_END_USER_IMSI', 1). +-define('SUBSCRIPTION-ID-TYPE_END_USER_SIP_URI', 2). +-define('SUBSCRIPTION-ID-TYPE_END_USER_NAI', 3). +-define('SUBSCRIPTION-ID-TYPE_END_USER_PRIVATE', 4). +-define('USER-EQUIPMENT-INFO-TYPE_IMEISV', 0). +-define('USER-EQUIPMENT-INFO-TYPE_MAC', 1). +-define('USER-EQUIPMENT-INFO-TYPE_EUI64', 2). +-define('USER-EQUIPMENT-INFO-TYPE_MODIFIED_EUI64', 3). + + + +%%% ------------------------------------------------------- +%%% DEFINE Macros: +%%% ------------------------------------------------------- + +-define('RESULT-CODE_END_USER_SERVICE_DENIED', 4010). +-define('RESULT-CODE_CREDIT_CONTROL_NOT_APPLICABLE', 4011). +-define('RESULT-CODE_CREDIT_LIMIT_REACHED', 4012). +-define('RESULT-CODE_USER_UNKNOWN', 5030). +-define('RESULT-CODE_RATING_FAILED', 5031). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc4072.hrl b/include/diameter_rfc4072.hrl new file mode 100644 index 0000000..b9701f0 --- /dev/null +++ b/include/diameter_rfc4072.hrl @@ -0,0 +1,600 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc4072.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record('DER', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Request-Type', + 'EAP-Payload', + 'Destination-Host' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Origin-State-Id' = [], + 'Port-Limit' = [], + 'User-Name' = [], + 'EAP-Key-Name' = [], + 'Service-Type' = [], + 'State' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Connect-Info' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IP-Netmask' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('DEA', + {'Session-Id', + 'Auth-Application-Id', + 'Auth-Request-Type', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'EAP-Payload' = [], + 'EAP-Reissued-Payload' = [], + 'EAP-Master-Session-Key' = [], + 'EAP-Key-Name' = [], + 'Multi-Round-Time-Out' = [], + 'Accounting-EAP-Auth-Method' = [], + 'Service-Type' = [], + 'Class' = [], + 'Configuration-Token' = [], + 'Acct-Interim-Interval' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Idle-Timeout' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Re-Auth-Request-Type' = [], + 'Session-Timeout' = [], + 'State' = [], + 'Reply-Message' = [], + 'Origin-State-Id' = [], + 'Filter-Id' = [], + 'Port-Limit' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IP-Netmask' = [], + 'Framed-Route' = [], + 'Framed-Pool' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'Framed-Routing' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Tunneling' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4005_nasreq: +%%% ------------------------------------------------------- + +-record('CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record('Tunneling', + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_rfc4005_nasreq: +%%% ------------------------------------------------------- + +-ifndef('NAS-PORT-TYPE_ASYNC'). +-define('NAS-PORT-TYPE_ASYNC', 0). +-endif. +-ifndef('NAS-PORT-TYPE_SYNC'). +-define('NAS-PORT-TYPE_SYNC', 1). +-endif. +-ifndef('NAS-PORT-TYPE_ISDN_SYNC'). +-define('NAS-PORT-TYPE_ISDN_SYNC', 2). +-endif. +-ifndef('NAS-PORT-TYPE_ISDN_ASYNC_V120'). +-define('NAS-PORT-TYPE_ISDN_ASYNC_V120', 3). +-endif. +-ifndef('NAS-PORT-TYPE_ISDN_ASYNC_V110'). +-define('NAS-PORT-TYPE_ISDN_ASYNC_V110', 4). +-endif. +-ifndef('NAS-PORT-TYPE_VIRTUAL'). +-define('NAS-PORT-TYPE_VIRTUAL', 5). +-endif. +-ifndef('NAS-PORT-TYPE_PIAFS'). +-define('NAS-PORT-TYPE_PIAFS', 6). +-endif. +-ifndef('NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL'). +-define('NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL', 7). +-endif. +-ifndef('NAS-PORT-TYPE_X25'). +-define('NAS-PORT-TYPE_X25', 8). +-endif. +-ifndef('NAS-PORT-TYPE_X75'). +-define('NAS-PORT-TYPE_X75', 9). +-endif. +-ifndef('NAS-PORT-TYPE_G3FAX'). +-define('NAS-PORT-TYPE_G3FAX', 10). +-endif. +-ifndef('NAS-PORT-TYPE_SDSL'). +-define('NAS-PORT-TYPE_SDSL', 11). +-endif. +-ifndef('NAS-PORT-TYPE_ADSL-CAP'). +-define('NAS-PORT-TYPE_ADSL-CAP', 12). +-endif. +-ifndef('NAS-PORT-TYPE_ADSL-DMT'). +-define('NAS-PORT-TYPE_ADSL-DMT', 13). +-endif. +-ifndef('NAS-PORT-TYPE_IDSL'). +-define('NAS-PORT-TYPE_IDSL', 14). +-endif. +-ifndef('NAS-PORT-TYPE_ETHERNET'). +-define('NAS-PORT-TYPE_ETHERNET', 15). +-endif. +-ifndef('NAS-PORT-TYPE_XDSL'). +-define('NAS-PORT-TYPE_XDSL', 16). +-endif. +-ifndef('NAS-PORT-TYPE_CABLE'). +-define('NAS-PORT-TYPE_CABLE', 17). +-endif. +-ifndef('NAS-PORT-TYPE_WIRELESS_OTHER'). +-define('NAS-PORT-TYPE_WIRELESS_OTHER', 18). +-endif. +-ifndef('NAS-PORT-TYPE_WIRELESS_802.11'). +-define('NAS-PORT-TYPE_WIRELESS_802.11', 19). +-endif. +-ifndef('NAS-PORT-TYPE_TOKEN-RING'). +-define('NAS-PORT-TYPE_TOKEN-RING', 20). +-endif. +-ifndef('NAS-PORT-TYPE_FDDI'). +-define('NAS-PORT-TYPE_FDDI', 21). +-endif. +-ifndef('NAS-PORT-TYPE_WIRELESS_CDMA2000'). +-define('NAS-PORT-TYPE_WIRELESS_CDMA2000', 22). +-endif. +-ifndef('NAS-PORT-TYPE_WIRELESS_UMTS'). +-define('NAS-PORT-TYPE_WIRELESS_UMTS', 23). +-endif. +-ifndef('NAS-PORT-TYPE_WIRELESS_1X-EV'). +-define('NAS-PORT-TYPE_WIRELESS_1X-EV', 24). +-endif. +-ifndef('NAS-PORT-TYPE_IAPP'). +-define('NAS-PORT-TYPE_IAPP', 25). +-endif. +-ifndef('PROMPT_NO_ECHO'). +-define('PROMPT_NO_ECHO', 0). +-endif. +-ifndef('PROMPT_ECHO'). +-define('PROMPT_ECHO', 1). +-endif. +-ifndef('CHAP-ALGORITHM_WITH_MD5'). +-define('CHAP-ALGORITHM_WITH_MD5', 5). +-endif. +-ifndef('SERVICE-TYPE_LOGIN'). +-define('SERVICE-TYPE_LOGIN', 1). +-endif. +-ifndef('SERVICE-TYPE_FRAMED'). +-define('SERVICE-TYPE_FRAMED', 2). +-endif. +-ifndef('SERVICE-TYPE_CALLBACK_LOGIN'). +-define('SERVICE-TYPE_CALLBACK_LOGIN', 3). +-endif. +-ifndef('SERVICE-TYPE_CALLBACK_FRAMED'). +-define('SERVICE-TYPE_CALLBACK_FRAMED', 4). +-endif. +-ifndef('SERVICE-TYPE_OUTBOUND'). +-define('SERVICE-TYPE_OUTBOUND', 5). +-endif. +-ifndef('SERVICE-TYPE_ADMINISTRATIVE'). +-define('SERVICE-TYPE_ADMINISTRATIVE', 6). +-endif. +-ifndef('SERVICE-TYPE_NAS_PROMPT'). +-define('SERVICE-TYPE_NAS_PROMPT', 7). +-endif. +-ifndef('SERVICE-TYPE_AUTHENTICATE_ONLY'). +-define('SERVICE-TYPE_AUTHENTICATE_ONLY', 8). +-endif. +-ifndef('SERVICE-TYPE_CALLBACK_NAS_PROMPT'). +-define('SERVICE-TYPE_CALLBACK_NAS_PROMPT', 9). +-endif. +-ifndef('SERVICE-TYPE_CALL_CHECK'). +-define('SERVICE-TYPE_CALL_CHECK', 10). +-endif. +-ifndef('SERVICE-TYPE_CALLBACK_ADMINISTRATIVE'). +-define('SERVICE-TYPE_CALLBACK_ADMINISTRATIVE', 11). +-endif. +-ifndef('SERVICE-TYPE_VOICE'). +-define('SERVICE-TYPE_VOICE', 12). +-endif. +-ifndef('SERVICE-TYPE_FAX'). +-define('SERVICE-TYPE_FAX', 13). +-endif. +-ifndef('SERVICE-TYPE_MODEM_RELAY'). +-define('SERVICE-TYPE_MODEM_RELAY', 14). +-endif. +-ifndef('SERVICE-TYPE_IAPP-REGISTER'). +-define('SERVICE-TYPE_IAPP-REGISTER', 15). +-endif. +-ifndef('SERVICE-TYPE_IAPP-AP-CHECK'). +-define('SERVICE-TYPE_IAPP-AP-CHECK', 16). +-endif. +-ifndef('SERVICE-TYPE_AUTHORIZE_ONLY'). +-define('SERVICE-TYPE_AUTHORIZE_ONLY', 17). +-endif. +-ifndef('FRAMED-PROTOCOL_PPP'). +-define('FRAMED-PROTOCOL_PPP', 1). +-endif. +-ifndef('FRAMED-PROTOCOL_SLIP'). +-define('FRAMED-PROTOCOL_SLIP', 2). +-endif. +-ifndef('FRAMED-PROTOCOL_ARAP'). +-define('FRAMED-PROTOCOL_ARAP', 3). +-endif. +-ifndef('FRAMED-PROTOCOL_GANDALF'). +-define('FRAMED-PROTOCOL_GANDALF', 4). +-endif. +-ifndef('FRAMED-PROTOCOL_XYLOGICS'). +-define('FRAMED-PROTOCOL_XYLOGICS', 5). +-endif. +-ifndef('FRAMED-PROTOCOL_X75'). +-define('FRAMED-PROTOCOL_X75', 6). +-endif. +-ifndef('FRAMED-ROUTING_NONE'). +-define('FRAMED-ROUTING_NONE', 0). +-endif. +-ifndef('FRAMED-ROUTING_SEND'). +-define('FRAMED-ROUTING_SEND', 1). +-endif. +-ifndef('FRAMED-ROUTING_LISTEN'). +-define('FRAMED-ROUTING_LISTEN', 2). +-endif. +-ifndef('FRAMED-ROUTING_SEND_AND_LISTEN'). +-define('FRAMED-ROUTING_SEND_AND_LISTEN', 3). +-endif. +-ifndef('FRAMED-COMPRESSION_NONE'). +-define('FRAMED-COMPRESSION_NONE', 0). +-endif. +-ifndef('FRAMED-COMPRESSION_VJ'). +-define('FRAMED-COMPRESSION_VJ', 1). +-endif. +-ifndef('FRAMED-COMPRESSION_IPX'). +-define('FRAMED-COMPRESSION_IPX', 2). +-endif. +-ifndef('FRAMED-COMPRESSION_STAC-LZS'). +-define('FRAMED-COMPRESSION_STAC-LZS', 3). +-endif. +-ifndef('ARAP-ZONE-ACCESS_DEFAULT'). +-define('ARAP-ZONE-ACCESS_DEFAULT', 1). +-endif. +-ifndef('ARAP-ZONE-ACCESS_FILTER_INCLUSIVELY'). +-define('ARAP-ZONE-ACCESS_FILTER_INCLUSIVELY', 2). +-endif. +-ifndef('ARAP-ZONE-ACCESS_FILTER_EXCLUSIVELY'). +-define('ARAP-ZONE-ACCESS_FILTER_EXCLUSIVELY', 4). +-endif. +-ifndef('LOGIN-SERVICE_TELNET'). +-define('LOGIN-SERVICE_TELNET', 0). +-endif. +-ifndef('LOGIN-SERVICE_RLOGIN'). +-define('LOGIN-SERVICE_RLOGIN', 1). +-endif. +-ifndef('LOGIN-SERVICE_TCP_CLEAR'). +-define('LOGIN-SERVICE_TCP_CLEAR', 2). +-endif. +-ifndef('LOGIN-SERVICE_PORTMASTER'). +-define('LOGIN-SERVICE_PORTMASTER', 3). +-endif. +-ifndef('LOGIN-SERVICE_LAT'). +-define('LOGIN-SERVICE_LAT', 4). +-endif. +-ifndef('LOGIN-SERVICE_X25-PAD'). +-define('LOGIN-SERVICE_X25-PAD', 5). +-endif. +-ifndef('LOGIN-SERVICE_X25-T3POS'). +-define('LOGIN-SERVICE_X25-T3POS', 6). +-endif. +-ifndef('LOGIN-SERVICE_TCP_CLEAR_QUIET'). +-define('LOGIN-SERVICE_TCP_CLEAR_QUIET', 8). +-endif. +-ifndef('TUNNEL-TYPE_PPTP'). +-define('TUNNEL-TYPE_PPTP', 1). +-endif. +-ifndef('TUNNEL-TYPE_L2F'). +-define('TUNNEL-TYPE_L2F', 2). +-endif. +-ifndef('TUNNEL-TYPE_L2TP'). +-define('TUNNEL-TYPE_L2TP', 3). +-endif. +-ifndef('TUNNEL-TYPE_ATMP'). +-define('TUNNEL-TYPE_ATMP', 4). +-endif. +-ifndef('TUNNEL-TYPE_VTP'). +-define('TUNNEL-TYPE_VTP', 5). +-endif. +-ifndef('TUNNEL-TYPE_AH'). +-define('TUNNEL-TYPE_AH', 6). +-endif. +-ifndef('TUNNEL-TYPE_IP-IP'). +-define('TUNNEL-TYPE_IP-IP', 7). +-endif. +-ifndef('TUNNEL-TYPE_MIN-IP-IP'). +-define('TUNNEL-TYPE_MIN-IP-IP', 8). +-endif. +-ifndef('TUNNEL-TYPE_ESP'). +-define('TUNNEL-TYPE_ESP', 9). +-endif. +-ifndef('TUNNEL-TYPE_GRE'). +-define('TUNNEL-TYPE_GRE', 10). +-endif. +-ifndef('TUNNEL-TYPE_DVS'). +-define('TUNNEL-TYPE_DVS', 11). +-endif. +-ifndef('TUNNEL-TYPE_IP-IN-IP'). +-define('TUNNEL-TYPE_IP-IN-IP', 12). +-endif. +-ifndef('TUNNEL-TYPE_VLAN'). +-define('TUNNEL-TYPE_VLAN', 13). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_IPV4'). +-define('TUNNEL-MEDIUM-TYPE_IPV4', 1). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_IPV6'). +-define('TUNNEL-MEDIUM-TYPE_IPV6', 2). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_NSAP'). +-define('TUNNEL-MEDIUM-TYPE_NSAP', 3). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_HDLC'). +-define('TUNNEL-MEDIUM-TYPE_HDLC', 4). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_BBN_1822'). +-define('TUNNEL-MEDIUM-TYPE_BBN_1822', 5). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_802'). +-define('TUNNEL-MEDIUM-TYPE_802', 6). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_E163'). +-define('TUNNEL-MEDIUM-TYPE_E163', 7). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_E164'). +-define('TUNNEL-MEDIUM-TYPE_E164', 8). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_F69'). +-define('TUNNEL-MEDIUM-TYPE_F69', 9). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_X121'). +-define('TUNNEL-MEDIUM-TYPE_X121', 10). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_IPX'). +-define('TUNNEL-MEDIUM-TYPE_IPX', 11). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_APPLETALK'). +-define('TUNNEL-MEDIUM-TYPE_APPLETALK', 12). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_DECNET_IV'). +-define('TUNNEL-MEDIUM-TYPE_DECNET_IV', 13). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_BANYAN_VINES'). +-define('TUNNEL-MEDIUM-TYPE_BANYAN_VINES', 14). +-endif. +-ifndef('TUNNEL-MEDIUM-TYPE_E164_NSAP'). +-define('TUNNEL-MEDIUM-TYPE_E164_NSAP', 15). +-endif. +-ifndef('ACCT-AUTHENTIC_RADIUS'). +-define('ACCT-AUTHENTIC_RADIUS', 1). +-endif. +-ifndef('ACCT-AUTHENTIC_LOCAL'). +-define('ACCT-AUTHENTIC_LOCAL', 2). +-endif. +-ifndef('ACCT-AUTHENTIC_REMOTE'). +-define('ACCT-AUTHENTIC_REMOTE', 3). +-endif. +-ifndef('ACCT-AUTHENTIC_DIAMETER'). +-define('ACCT-AUTHENTIC_DIAMETER', 4). +-endif. +-ifndef('ACCOUNTING-AUTH-METHOD_PAP'). +-define('ACCOUNTING-AUTH-METHOD_PAP', 1). +-endif. +-ifndef('ACCOUNTING-AUTH-METHOD_CHAP'). +-define('ACCOUNTING-AUTH-METHOD_CHAP', 2). +-endif. +-ifndef('ACCOUNTING-AUTH-METHOD_MS-CHAP-1'). +-define('ACCOUNTING-AUTH-METHOD_MS-CHAP-1', 3). +-endif. +-ifndef('ACCOUNTING-AUTH-METHOD_MS-CHAP-2'). +-define('ACCOUNTING-AUTH-METHOD_MS-CHAP-2', 4). +-endif. +-ifndef('ACCOUNTING-AUTH-METHOD_EAP'). +-define('ACCOUNTING-AUTH-METHOD_EAP', 5). +-endif. +-ifndef('ACCOUNTING-AUTH-METHOD_NONE'). +-define('ACCOUNTING-AUTH-METHOD_NONE', 7). +-endif. + diff --git a/include/diameter_rfc4740.hrl b/include/diameter_rfc4740.hrl new file mode 100644 index 0000000..2c876bb --- /dev/null +++ b/include/diameter_rfc4740.hrl @@ -0,0 +1,145 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc4740.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('ERP-RK-Request', {'ERP-Realm', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc5447.hrl b/include/diameter_rfc5447.hrl new file mode 100644 index 0000000..2e8ae9b --- /dev/null +++ b/include/diameter_rfc5447.hrl @@ -0,0 +1,200 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc5447.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_rfc4004: +%%% ------------------------------------------------------- + +-record('MIP-MN-AAA-Auth', + {'MIP-MN-AAA-SPI', + 'MIP-Auth-Input-Data-Length', + 'MIP-Authenticator-Length', + 'MIP-Authenticator-Offset', + 'AVP' = []}). + +-record('MIP-MN-to-FA-MSA', + {'MIP-Algorithm-Type', 'MIP-Nonce', 'AVP' = []}). + +-record('MIP-FA-to-MN-MSA', + {'MIP-FA-to-MN-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-MN-to-HA-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Nonce', + 'AVP' = []}). + +-record('MIP-HA-to-MN-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-FA-to-HA-MSA', + {'MIP-FA-to-HA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-HA-to-FA-MSA', + {'MIP-HA-to-FA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-Originating-Foreign-AAA', + {'Origin-Realm', 'Origin-Host', 'AVP' = []}). + +-record('MIP-Home-Agent-Host', + {'Destination-Realm', 'Destination-Host', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc5580.hrl b/include/diameter_rfc5580.hrl new file mode 100644 index 0000000..a14d249 --- /dev/null +++ b/include/diameter_rfc5580.hrl @@ -0,0 +1,138 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc5580.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc5777.hrl b/include/diameter_rfc5777.hrl new file mode 100644 index 0000000..75f5e86 --- /dev/null +++ b/include/diameter_rfc5777.hrl @@ -0,0 +1,322 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc5777.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('QoS-Resources', + {'Filter-Rule' = [], 'AVP' = []}). + +-record('Filter-Rule', + {'Filter-Rule-Precedence' = [], + 'Classifier' = [], + 'Time-Of-Day-Condition' = [], + 'Treatment-Action' = [], + 'QoS-Semantics' = [], + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'Excess-Treatment' = [], + 'AVP' = []}). + +-record('Classifier', + {'Classifier-ID', + 'Protocol' = [], + 'Direction' = [], + 'From-Spec' = [], + 'To-Spec' = [], + 'Diffserv-Code-Point' = [], + 'Fragmentation-Flag' = [], + 'IP-Option' = [], + 'TCP-Option' = [], + 'TCP-Flags' = [], + 'ICMP-Type' = [], + 'ETH-Option' = [], + 'AVP' = []}). + +-record('From-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('To-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('IP-Address-Range', + {'IP-Address-Start' = [], + 'IP-Address-End' = [], + 'AVP' = []}). + +-record('IP-Address-Mask', + {'IP-Address', 'IP-Mask-Bit-Mask-Width', 'AVP' = []}). + +-record('MAC-Address-Mask', + {'MAC-Address', + 'MAC-Address-Mask-Pattern', + 'AVP' = []}). + +-record('EUI64-Address-Mask', + {'EUI64-Address', + 'EUI64-Address-Mask-Pattern', + 'AVP' = []}). + +-record('Port-Range', + {'Port-Start' = [], 'Port-End' = [], 'AVP' = []}). + +-record('IP-Option', + {'IP-Option-Type', + 'IP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Option', + {'TCP-Option-Type', + 'TCP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Flags', + {'TCP-Flag-Type', 'Negated' = [], 'AVP' = []}). + +-record('ICMP-Type', + {'ICMP-Type-Number', + 'ICMP-Code' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('ETH-Option', + {'ETH-Proto-Type', + 'VLAN-ID-Range' = [], + 'User-Priority-Range' = [], + 'AVP' = []}). + +-record('ETH-Proto-Type', + {'ETH-Ether-Type' = [], 'ETH-SAP' = [], 'AVP' = []}). + +-record('VLAN-ID-Range', + {'S-VID-Start' = [], + 'S-VID-End' = [], + 'C-VID-Start' = [], + 'C-VID-End' = [], + 'AVP' = []}). + +-record('User-Priority-Range', + {'Low-User-Priority' = [], + 'High-User-Priority' = [], + 'AVP' = []}). + +-record('Time-Of-Day-Condition', + {'Time-Of-Day-Start' = [], + 'Time-Of-Day-End' = [], + 'Day-Of-Week-Mask' = [], + 'Day-Of-Month-Mask' = [], + 'Month-Of-Year-Mask' = [], + 'Absolute-Start-Time' = [], + 'Absolute-End-Time' = [], + 'Timezone-Flag' = [], + 'AVP' = []}). + +-record('QoS-Profile-Template', + {'Vendor-Id', 'QoS-Profile-Id', 'AVP' = []}). + +-record('QoS-Parameters', {'AVP' = []}). + +-record('Excess-Treatment', + {'Treatment-Action', + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'AVP' = []}). + +-record('QoS-Capability', + {'QoS-Profile-Template' = [], 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('PROTOCOL_PROTOCOL_TODO_CHECK_RFC2780', 0). +-define('DIRECTION_DIRECTION_IN', 0). +-define('DIRECTION_DIRECTION_OUT', 1). +-define('DIRECTION_DIRECTION_BOTH', 2). +-define('NEGATED_NEGATED_FALSE', 0). +-define('NEGATED_NEGATED_TRUE', 1). +-define('USE-ASSIGNED-ADDRESS_USE_ASSIGNED_ADDRESS_FALSE', 0). +-define('USE-ASSIGNED-ADDRESS_USE_ASSIGNED_ADDRESS_TRUE', 1). +-define('DIFFSERV-CODE-POINT_DIFFSERV_CODE_POINT_TODO_CHECK_RFC2474', 0). +-define('FRAGMENTATION-FLAG_FRAGMENTATION_FLAG_DF', 0). +-define('FRAGMENTATION-FLAG_FRAGMENTATION_FLAG_MF', 1). +-define('IP-OPTION-TYPE_IP_OPTION_TYPE_TODO_CHECK_RFC2780', 0). +-define('TCP-OPTION-TYPE_TCP_OPTION_TYPE_TODO_CHECK_RFC2780', 0). +-define('ICMP-TYPE-NUMBER_ICMP_TYPE_NUMBER_TODO_CHECK_RFC2780', 0). +-define('ICMP-CODE_ICMP_CODE_TODO_CHECK_RFC2780', 0). +-define('TIMEZONE-FLAG_TIMEZOME_FLAG_UTC', 0). +-define('TIMEZONE-FLAG_TIMEZOME_FLAG_LOCAL', 1). +-define('TIMEZONE-FLAG_TIMEZOME_FLAG_OFFSET', 2). +-define('TREATMENT-ACTION_TREATMENT_ACTION_DROP', 0). +-define('TREATMENT-ACTION_TREATMENT_ACTION_SHAPE', 1). +-define('TREATMENT-ACTION_TREATMENT_ACTION_MARK', 2). +-define('TREATMENT-ACTION_TREATMENT_ACTION_PERMIT', 3). +-define('QOS-SEMANTICS_QOS_SEMANTICS_DESIRED', 0). +-define('QOS-SEMANTICS_QOS_SEMANTICS_AVAILABLE', 1). +-define('QOS-SEMANTICS_QOS_SEMANTICS_DELIVERED', 2). +-define('QOS-SEMANTICS_QOS_SEMANTICS_MINIMUM', 3). +-define('QOS-SEMANTICS_QOS_SEMANTICS_AUTHORIZE', 4). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc5778.hrl b/include/diameter_rfc5778.hrl new file mode 100644 index 0000000..e034e16 --- /dev/null +++ b/include/diameter_rfc5778.hrl @@ -0,0 +1,138 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc5778.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc6734.hrl b/include/diameter_rfc6734.hrl new file mode 100644 index 0000000..e11bf7b --- /dev/null +++ b/include/diameter_rfc6734.hrl @@ -0,0 +1,161 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc6734.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('Key', + {'Key-Type', + 'Keying-Material', + 'Key-Lifetime' = [], + 'Key-Name' = [], + 'Key-SPI' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('KEY-TYPE_DSRK', 0). +-define('KEY-TYPE_RRK', 1). +-define('KEY-TYPE_RMSK', 2). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc6942.hrl b/include/diameter_rfc6942.hrl new file mode 100644 index 0000000..2f7dc9b --- /dev/null +++ b/include/diameter_rfc6942.hrl @@ -0,0 +1,145 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc6942.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('ERP-RK-Request', {'ERP-Realm', 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc7155.hrl b/include/diameter_rfc7155.hrl new file mode 100644 index 0000000..dbe97e2 --- /dev/null +++ b/include/diameter_rfc7155.hrl @@ -0,0 +1,138 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc7155.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_Failed-AVP', {'AVP' = []}). + +-record('diameter_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc7155_nasreq.hrl b/include/diameter_rfc7155_nasreq.hrl new file mode 100644 index 0000000..6cb93ab --- /dev/null +++ b/include/diameter_rfc7155_nasreq.hrl @@ -0,0 +1,403 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc7155_nasreq.hrl'). + + +%%% ------------------------------------------------------- +%%% Message records: +%%% ------------------------------------------------------- + +-record(diameter_nasreq_ACR, + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id', + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Destination-Host' = [], + 'Event-Timestamp' = [], + 'Acct-Delay-Time' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Class' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Input-Packets' = [], + 'Accounting-Output-Octets' = [], + 'Accounting-Output-Packets' = [], + 'Acct-Authentic' = [], + 'Accounting-Auth-Method' = [], + 'Acct-Link-Count' = [], + 'Acct-Session-Time' = [], + 'Acct-Tunnel-Connection' = [], + 'Acct-Tunnel-Packets-Lost' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Connect-Info' = [], + 'Originating-Line-Info' = [], + 'Authorization-Lifetime' = [], + 'Session-Timeout' = [], + 'Idle-Timeout' = [], + 'Port-Limit' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Filter-Id' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IP-Netmask' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Pool' = [], + 'Framed-Protocol' = [], + 'Framed-Route' = [], + 'Framed-Routing' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Login-Service' = [], + 'Login-TCP-Port' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_nasreq_ACA, + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id', + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Event-Timestamp' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Class' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record(diameter_nasreq_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('diameter_nasreq_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_nasreq_Failed-AVP', {'AVP' = []}). + +-record('diameter_nasreq_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_nasreq_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('DIAMETER_NASREQ_SERVICE-TYPE_UNKNOWN', 0). +-define('DIAMETER_NASREQ_SERVICE-TYPE_LOGIN', 1). +-define('DIAMETER_NASREQ_SERVICE-TYPE_FRAMED', 2). +-define('DIAMETER_NASREQ_SERVICE-TYPE_CALLBACK_LOGIN', 3). +-define('DIAMETER_NASREQ_SERVICE-TYPE_CALLBACK_FRAMED', 4). +-define('DIAMETER_NASREQ_SERVICE-TYPE_OUTBOUND', 5). +-define('DIAMETER_NASREQ_SERVICE-TYPE_ADMINISTRATIVE', 6). +-define('DIAMETER_NASREQ_SERVICE-TYPE_NAS_PROMPT', 7). +-define('DIAMETER_NASREQ_SERVICE-TYPE_AUTHENTICATE_ONLY', 8). +-define('DIAMETER_NASREQ_SERVICE-TYPE_CALLBACK_NAS_PROMPT', 9). +-define('DIAMETER_NASREQ_SERVICE-TYPE_CALL_CHECK', 10). +-define('DIAMETER_NASREQ_SERVICE-TYPE_CALLBACK_ADMINISTRATIVE', 11). +-define('DIAMETER_NASREQ_SERVICE-TYPE_VOICE', 12). +-define('DIAMETER_NASREQ_SERVICE-TYPE_FAX', 13). +-define('DIAMETER_NASREQ_SERVICE-TYPE_MODEM_RELAY', 14). +-define('DIAMETER_NASREQ_SERVICE-TYPE_IAPP_REGISTER', 15). +-define('DIAMETER_NASREQ_SERVICE-TYPE_IAPP_AP_CHECK', 16). +-define('DIAMETER_NASREQ_SERVICE-TYPE_AUTHORIZE_ONLY', 17). +-define('DIAMETER_NASREQ_SERVICE-TYPE_FRAMED_MANAGEMENT', 18). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_PPP', 1). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_SLIP', 2). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_ARAP', 3). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_GANDALF', 4). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_XYLOGICS', 5). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_X_75', 6). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_GPRS_PDP_CONTEXT', 7). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_ASCEND_ARA', 255). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_MPP', 256). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_EURAW', 257). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_EUUI', 258). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_X25', 259). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_COMB', 260). +-define('DIAMETER_NASREQ_FRAMED-PROTOCOL_FR', 261). +-define('DIAMETER_NASREQ_FRAMED-ROUTING_NONE', 0). +-define('DIAMETER_NASREQ_FRAMED-ROUTING_SEND_ROUTING_PACKETS', 1). +-define('DIAMETER_NASREQ_FRAMED-ROUTING_LISTEN_FOR_ROUTING_PACKETS', 2). +-define('DIAMETER_NASREQ_FRAMED-ROUTING_SEND_AND_LISTEN', 3). +-define('DIAMETER_NASREQ_FRAMED-COMPRESSION_NONE', 0). +-define('DIAMETER_NASREQ_FRAMED-COMPRESSION_IPX_HEADER_COMPRESSION', 2). +-define('DIAMETER_NASREQ_FRAMED-COMPRESSION_STAC_LZS_COMPRESSION', 3). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_TELNET', 0). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_RLOGIN', 1). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_TCP_CLEAR', 2). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_PORTMASTER', 3). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_LAT', 4). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_X25_PAD', 5). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_X25_T3POS', 6). +-define('DIAMETER_NASREQ_LOGIN-SERVICE_UNASSIGNED', 7). +-define('DIAMETER_NASREQ_ACCT-AUTHENTIC_NONE', 0). +-define('DIAMETER_NASREQ_ACCT-AUTHENTIC_RADIUS', 1). +-define('DIAMETER_NASREQ_ACCT-AUTHENTIC_LOCAL', 2). +-define('DIAMETER_NASREQ_ACCT-AUTHENTIC_REMOTE', 3). +-define('DIAMETER_NASREQ_ACCT-AUTHENTIC_DIAMETER', 4). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_ASYNC', 0). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_SYNC', 1). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_ISDN_SYNC', 2). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_ISDN_ASYNC_V120', 3). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_ISDN_ASYNC_V110', 4). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_VIRTUAL', 5). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_PIAFS', 6). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_HDLC_CLEAR_CHANNEL', 7). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_X25', 8). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_X75', 9). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_G_3_FAX', 10). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_SDSL_SYMMETRIC_DSL', 11). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_IDSL_ISDN_DIGITAL_SUBSCRIBER_LINE', 14). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_ETHERNET', 15). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_XDSL_DIGITAL_SUBSCRIBER_LINE_OF_UNKNOWN_TYPE', 16). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_CABLE', 17). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_OTHER', 18). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_IEEE_802_11', 19). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_TOKEN_RING', 20). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_FDDI', 21). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_CDMA2000', 22). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_UMTS', 23). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_1X_EV', 24). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_IAPP', 25). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_FTTP_FIBER_TO_THE_PREMISES', 26). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_IEEE_802_16', 27). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_IEEE_802_20', 28). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_IEEE_802_22', 29). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_PPPOA_PPP_OVER_ATM', 30). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_PPPOEOA_PPP_OVER_ETHERNET_OVER_ATM', 31). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_PPPOEOE_PPP_OVER_ETHERNET_OVER_ETHERNET', 32). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_PPPOEOVLAN_PPP_OVER_ETHERNET_OVER_VLAN', 33). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_PPPOEOQINQ_PPP_OVER_ETHERNET_OVER_IEEE_802_1QINQ', 34). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_XPON_PASSIVE_OPTICAL_NETWORK', 35). +-define('DIAMETER_NASREQ_NAS-PORT-TYPE_WIRELESS_XGP', 36). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_PPTP', 1). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_L2F', 2). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_L2TP', 3). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_ATMP', 4). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_VTP', 5). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_AH', 6). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_IP_IP_ENCAP', 7). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_MIN_IP_IP', 8). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_ESP', 9). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_GRE', 10). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_DVS', 11). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_IP_IN_IP_TUNNELING', 12). +-define('DIAMETER_NASREQ_TUNNEL-TYPE_VLAN', 13). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_IPV4', 1). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_IPV6', 2). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_NSAP', 3). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_HDLC', 4). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_BBN', 5). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_IEEE_802', 6). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_E_163', 7). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_E_164', 8). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_F_69', 9). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_X_121', 10). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_IPX', 11). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_APPLETALK_802', 12). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_DECNET4', 13). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_VINES', 14). +-define('DIAMETER_NASREQ_TUNNEL-MEDIUM-TYPE_E_164_NSAP', 15). +-define('DIAMETER_NASREQ_ACCOUNTING-AUTH-METHOD_PAP', 1). +-define('DIAMETER_NASREQ_ACCOUNTING-AUTH-METHOD_CHAP', 2). +-define('DIAMETER_NASREQ_ACCOUNTING-AUTH-METHOD_MS_CHAP_1', 3). +-define('DIAMETER_NASREQ_ACCOUNTING-AUTH-METHOD_MS_CHAP_2', 4). +-define('DIAMETER_NASREQ_ACCOUNTING-AUTH-METHOD_EAP', 5). +-define('DIAMETER_NASREQ_ACCOUNTING-AUTH-METHOD_UNDEFINED', 6). +-define('DIAMETER_NASREQ_ACCOUNTING-AUTH-METHOD_NONE', 7). +-define('DIAMETER_NASREQ_ORIGIN-AAA-PROTOCOL_RADIUS', 1). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DIAMETER_NASREQ_DISCONNECT-CAUSE_REBOOTING'). +-define('DIAMETER_NASREQ_DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DIAMETER_NASREQ_DISCONNECT-CAUSE_BUSY'). +-define('DIAMETER_NASREQ_DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DIAMETER_NASREQ_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DIAMETER_NASREQ_DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_REALM'). +-define('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_HOST'). +-define('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_USER'). +-define('DIAMETER_NASREQ_REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('DIAMETER_NASREQ_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('DIAMETER_NASREQ_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('DIAMETER_NASREQ_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_NASREQ_AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('DIAMETER_NASREQ_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_NASREQ_AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('DIAMETER_NASREQ_AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('DIAMETER_NASREQ_AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('DIAMETER_NASREQ_AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('DIAMETER_NASREQ_AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('DIAMETER_NASREQ_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('DIAMETER_NASREQ_RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('DIAMETER_NASREQ_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('DIAMETER_NASREQ_RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_LOGOUT'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_BAD_ANSWER'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_LINK_BROKEN'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_USER_MOVED'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('DIAMETER_NASREQ_TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('DIAMETER_NASREQ_TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('DIAMETER_NASREQ_SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('DIAMETER_NASREQ_ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('DIAMETER_NASREQ_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('DIAMETER_NASREQ_ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('DIAMETER_NASREQ_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('DIAMETER_NASREQ_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('DIAMETER_NASREQ_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('DIAMETER_NASREQ_ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc7683.hrl b/include/diameter_rfc7683.hrl new file mode 100644 index 0000000..3e28dc1 --- /dev/null +++ b/include/diameter_rfc7683.hrl @@ -0,0 +1,162 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc7683.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('OC-REPORT-TYPE_HOST_REPORT', 0). +-define('OC-REPORT-TYPE_REALM_REPORT', 1). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc7944.hrl b/include/diameter_rfc7944.hrl new file mode 100644 index 0000000..5ed47ee --- /dev/null +++ b/include/diameter_rfc7944.hrl @@ -0,0 +1,161 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc7944.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('DRMP_PRIORITY_15', 15). +-define('DRMP_PRIORITY_14', 14). +-define('DRMP_PRIORITY_13', 13). +-define('DRMP_PRIORITY_12', 12). +-define('DRMP_PRIORITY_11', 11). +-define('DRMP_PRIORITY_10', 10). +-define('DRMP_PRIORITY_9', 9). +-define('DRMP_PRIORITY_8', 8). +-define('DRMP_PRIORITY_7', 7). +-define('DRMP_PRIORITY_6', 6). +-define('DRMP_PRIORITY_5', 5). +-define('DRMP_PRIORITY_4', 4). +-define('DRMP_PRIORITY_3', 3). +-define('DRMP_PRIORITY_2', 2). +-define('DRMP_PRIORITY_1', 1). +-define('DRMP_PRIORITY_0', 0). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/include/diameter_rfc8583.hrl b/include/diameter_rfc8583.hrl new file mode 100644 index 0000000..4a10141 --- /dev/null +++ b/include/diameter_rfc8583.hrl @@ -0,0 +1,158 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-hrl_name('diameter_rfc8583.hrl'). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records: +%%% ------------------------------------------------------- + +-record('Load', + {'Load-Type' = [], + 'Load-Value' = [], + 'SourceID' = [], + 'AVP' = []}). + + +%%% ------------------------------------------------------- +%%% Grouped AVP records from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + + +%%% ------------------------------------------------------- +%%% ENUM Macros: +%%% ------------------------------------------------------- + +-define('LOAD-TYPE_HOST', 0). +-define('LOAD-TYPE_PEER', 1). + + + +%%% ------------------------------------------------------- +%%% ENUM Macros from diameter_gen_base_rfc6733: +%%% ------------------------------------------------------- + +-ifndef('DISCONNECT-CAUSE_REBOOTING'). +-define('DISCONNECT-CAUSE_REBOOTING', 0). +-endif. +-ifndef('DISCONNECT-CAUSE_BUSY'). +-define('DISCONNECT-CAUSE_BUSY', 1). +-endif. +-ifndef('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU'). +-define('DISCONNECT-CAUSE_DO_NOT_WANT_TO_TALK_TO_YOU', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_DONT_CACHE'). +-define('REDIRECT-HOST-USAGE_DONT_CACHE', 0). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_SESSION'). +-define('REDIRECT-HOST-USAGE_ALL_SESSION', 1). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_REALM'). +-define('REDIRECT-HOST-USAGE_ALL_REALM', 2). +-endif. +-ifndef('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION'). +-define('REDIRECT-HOST-USAGE_REALM_AND_APPLICATION', 3). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_APPLICATION'). +-define('REDIRECT-HOST-USAGE_ALL_APPLICATION', 4). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_HOST'). +-define('REDIRECT-HOST-USAGE_ALL_HOST', 5). +-endif. +-ifndef('REDIRECT-HOST-USAGE_ALL_USER'). +-define('REDIRECT-HOST-USAGE_ALL_USER', 6). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY', 1). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 2). +-endif. +-ifndef('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 3). +-endif. +-ifndef('AUTH-SESSION-STATE_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_STATE_MAINTAINED', 0). +-endif. +-ifndef('AUTH-SESSION-STATE_NO_STATE_MAINTAINED'). +-define('AUTH-SESSION-STATE_NO_STATE_MAINTAINED', 1). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_ONLY', 0). +-endif. +-ifndef('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE'). +-define('RE-AUTH-REQUEST-TYPE_AUTHORIZE_AUTHENTICATE', 1). +-endif. +-ifndef('TERMINATION-CAUSE_LOGOUT'). +-define('TERMINATION-CAUSE_LOGOUT', 1). +-endif. +-ifndef('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED'). +-define('TERMINATION-CAUSE_SERVICE_NOT_PROVIDED', 2). +-endif. +-ifndef('TERMINATION-CAUSE_BAD_ANSWER'). +-define('TERMINATION-CAUSE_BAD_ANSWER', 3). +-endif. +-ifndef('TERMINATION-CAUSE_ADMINISTRATIVE'). +-define('TERMINATION-CAUSE_ADMINISTRATIVE', 4). +-endif. +-ifndef('TERMINATION-CAUSE_LINK_BROKEN'). +-define('TERMINATION-CAUSE_LINK_BROKEN', 5). +-endif. +-ifndef('TERMINATION-CAUSE_AUTH_EXPIRED'). +-define('TERMINATION-CAUSE_AUTH_EXPIRED', 6). +-endif. +-ifndef('TERMINATION-CAUSE_USER_MOVED'). +-define('TERMINATION-CAUSE_USER_MOVED', 7). +-endif. +-ifndef('TERMINATION-CAUSE_SESSION_TIMEOUT'). +-define('TERMINATION-CAUSE_SESSION_TIMEOUT', 8). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_REFUSE_SERVICE'). +-define('SESSION-SERVER-FAILOVER_REFUSE_SERVICE', 0). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN', 1). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_ALLOW_SERVICE', 2). +-endif. +-ifndef('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE'). +-define('SESSION-SERVER-FAILOVER_TRY_AGAIN_ALLOW_SERVICE', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_EVENT_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_EVENT_RECORD', 1). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_START_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_START_RECORD', 2). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_INTERIM_RECORD', 3). +-endif. +-ifndef('ACCOUNTING-RECORD-TYPE_STOP_RECORD'). +-define('ACCOUNTING-RECORD-TYPE_STOP_RECORD', 4). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT'). +-define('ACCOUNTING-REALTIME-REQUIRED_DELIVER_AND_GRANT', 1). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_STORE', 2). +-endif. +-ifndef('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE'). +-define('ACCOUNTING-REALTIME-REQUIRED_GRANT_AND_LOSE', 3). +-endif. + diff --git a/src/diameter_3gpp_base.erl b/src/diameter_3gpp_base.erl new file mode 100644 index 0000000..c3de99e --- /dev/null +++ b/src/diameter_3gpp_base.erl @@ -0,0 +1,305 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_base). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records([]). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_base. + +id() -> 0. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec(T) -> msg2rec(T). + +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(_, _) -> 'AVP'. + +avp_arity(_) -> erlang:error(badarg). + +avp_arity(_, _) -> 0. + +avp_header('3GPP-Allocate-IP-Type') -> {27, 128, 10415}; +avp_header('3GPP-CAMEL-Charging-Info') -> + {24, 128, 10415}; +avp_header('3GPP-CG-Address') -> {4, 128, 10415}; +avp_header('3GPP-CG-IPv6-Address') -> {14, 128, 10415}; +avp_header('3GPP-Charging-Characteristics') -> + {13, 128, 10415}; +avp_header('3GPP-Charging-Id') -> {2, 128, 10415}; +avp_header('3GPP-GGSN-Address') -> {7, 128, 10415}; +avp_header('3GPP-GGSN-IPv6-Address') -> + {16, 128, 10415}; +avp_header('3GPP-GGSN-MCC-MNC') -> {9, 128, 10415}; +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + {5, 128, 10415}; +avp_header('3GPP-IMEISV') -> {20, 128, 10415}; +avp_header('3GPP-IMSI') -> {1, 128, 10415}; +avp_header('3GPP-IMSI-MCC-MNC') -> {8, 128, 10415}; +avp_header('3GPP-IPv6-DNS-Servers') -> {17, 128, 10415}; +avp_header('3GPP-MS-TimeZone') -> {23, 128, 10415}; +avp_header('3GPP-NSAPI') -> {10, 128, 10415}; +avp_header('3GPP-Negotiated-DSCP') -> {26, 128, 10415}; +avp_header('3GPP-PDP-Type') -> {3, 128, 10415}; +avp_header('3GPP-Packet-Filter') -> {25, 128, 10415}; +avp_header('3GPP-RAT-Type') -> {21, 128, 10415}; +avp_header('3GPP-SGSN-Address') -> {6, 128, 10415}; +avp_header('3GPP-SGSN-IPv6-Address') -> + {15, 128, 10415}; +avp_header('3GPP-SGSN-MCC-MNC') -> {18, 128, 10415}; +avp_header('3GPP-Selection-Mode') -> {12, 128, 10415}; +avp_header('3GPP-Session-Stop-Indicator') -> + {11, 128, 10415}; +avp_header('3GPP-User-Location-Info') -> + {22, 128, 10415}; +avp_header('3GPP-User-Location-Info-Time') -> + {30, 128, 10415}; +avp_header('TWAN-Identifier') -> {29, 128, 10415}; +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-CG-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, '3GPP-IMEISV', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-IMSI', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-NSAPI', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-PDP-Type', _) -> + enumerated_avp(T, '3GPP-PDP-Type', Data); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'TWAN-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, '3GPP-PDP-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, '3GPP-PDP-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, '3GPP-PDP-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, '3GPP-PDP-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, '3GPP-PDP-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, '3GPP-PDP-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, '3GPP-PDP-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, '3GPP-PDP-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, '3GPP-PDP-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, '3GPP-PDP-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {grouped, []}, + {id, 0}, + {import_avps, []}, + {import_enums, []}, + {import_groups, []}, + {inherits, []}, + {messages, []}, + {name, "diameter_3gpp_base"}, + {prefix, "diameter_3gpp"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_break_circles.erl b/src/diameter_3gpp_break_circles.erl new file mode 100644 index 0000000..51f8e66 --- /dev/null +++ b/src/diameter_3gpp_break_circles.erl @@ -0,0 +1,175 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_break_circles). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['Emergency-Info', 'MIP6-Agent-Info']). + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_break_circles. + +id() -> erlang:error(badarg). + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Emergency-Info') -> 'Emergency-Info'; +name2rec('MIP6-Agent-Info') -> 'MIP6-Agent-Info'; +name2rec(T) -> msg2rec(T). + +avp_name(1427, 10415) -> + {'APN-OI-Replacement', 'UTF8String'}; +avp_name(1687, 10415) -> {'Emergency-Info', 'Grouped'}; +avp_name(1474, 10415) -> {'GMLC-Number', 'OctetString'}; +avp_name(1489, 10415) -> {'SGSN-Number', 'OctetString'}; +avp_name(486, undefined) -> + {'MIP6-Agent-Info', 'Grouped'}; +avp_name(125, undefined) -> + {'MIP6-Home-Link-Prefix', 'OctetString'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Emergency-Info') -> + [{'MIP6-Agent-Info', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('MIP6-Agent-Info') -> + [{'MIP-Home-Agent-Address', {0, 2}}, + {'MIP-Home-Agent-Host', {0, 1}}, + {'MIP6-Home-Link-Prefix', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Emergency-Info', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('Emergency-Info', 'AVP') -> {0, '*'}; +avp_arity('MIP6-Agent-Info', + 'MIP-Home-Agent-Address') -> + {0, 2}; +avp_arity('MIP6-Agent-Info', 'MIP-Home-Agent-Host') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'MIP6-Home-Link-Prefix') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('APN-OI-Replacement') -> {1427, 192, 10415}; +avp_header('Emergency-Info') -> {1687, 128, 10415}; +avp_header('GMLC-Number') -> {1474, 192, 10415}; +avp_header('SGSN-Number') -> {1489, 192, 10415}; +avp_header('MIP6-Agent-Info') -> + diameter_rfc5447:avp_header('MIP6-Agent-Info'); +avp_header('MIP6-Home-Link-Prefix') -> + diameter_rfc5447:avp_header('MIP6-Home-Link-Prefix'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'APN-OI-Replacement', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Emergency-Info', Opts) -> + grouped_avp(T, 'Emergency-Info', Data, Opts); +avp(T, Data, 'GMLC-Number', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SGSN-Number', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MIP6-Agent-Info', Opts) -> + grouped_avp(T, 'MIP6-Agent-Info', Data, Opts); +avp(T, Data, 'MIP6-Home-Link-Prefix', Opts) -> + avp(T, + Data, + 'MIP6-Home-Link-Prefix', + Opts, + diameter_rfc5447); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Emergency-Info', Opts) -> + empty_group('Emergency-Info', Opts); +empty_value('MIP6-Agent-Info', Opts) -> + empty_group('MIP6-Agent-Info', Opts); +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"APN-OI-Replacement", 1427, "UTF8String", "MV"}, + {"Emergency-Info", 1687, "Grouped", "V"}, + {"GMLC-Number", 1474, "OctetString", "MV"}, + {"SGSN-Number", 1489, "OctetString", "MV"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, + [{"Emergency-Info", + 1687, + [10415], + [["MIP6-Agent-Info"], {'*', ["AVP"]}]}]}, + {import_avps, + [{diameter_rfc5447, + [{"MIP6-Agent-Info", 486, "Grouped", "M"}, + {"MIP6-Home-Link-Prefix", 125, "OctetString", "M"}]}]}, + {import_enums, []}, + {import_groups, + [{diameter_rfc5447, + [{"MIP6-Agent-Info", + 486, + [], + [{{0, 2}, ["MIP-Home-Agent-Address"]}, + ["MIP-Home-Agent-Host"], + ["MIP6-Home-Link-Prefix"], + {'*', ["AVP"]}]}]}]}, + {inherits, [{"diameter_rfc5447", []}]}, + {messages, []}, + {name, "diameter_3gpp_break_circles"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_061_gmb.erl b/src/diameter_3gpp_ts29_061_gmb.erl new file mode 100644 index 0000000..a5c5b40 --- /dev/null +++ b/src/diameter_3gpp_ts29_061_gmb.erl @@ -0,0 +1,1224 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_061_gmb). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['diameter_gmb_Proxy-Info', + 'diameter_gmb_Failed-AVP', + 'diameter_gmb_Experimental-Result', + 'diameter_gmb_Vendor-Specific-Application-Id']). + +-record('diameter_gmb_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_gmb_Failed-AVP', {'AVP' = []}). + +-record('diameter_gmb_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_gmb_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_061_gmb. + +id() -> 16777223. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'diameter_gmb_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_gmb_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_gmb_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_gmb_Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(910, 10415) -> + {'Additional-MBMS-Trace-Info', 'OctetString'}; +avp_name(905, 10415) -> + {'Alternative-APN', 'UTF8String'}; +avp_name(921, 10415) -> + {'CN-IP-Multicast-Distribution', 'Enumerated'}; +avp_name(907, undefined) -> + {'MBMS-2G-3G-Indicator', 'Enumerated'}; +avp_name(918, 10415) -> + {'MBMS-BMSC-SSM-IP-Address', 'OctetString'}; +avp_name(919, 10415) -> + {'MBMS-BMSC-SSM-IPv6-Address', 'OctetString'}; +avp_name(914, 10415) -> + {'MBMS-Counting-Information', 'Enumerated'}; +avp_name(920, 10415) -> + {'MBMS-Flow-Identifier', 'OctetString'}; +avp_name(916, 10415) -> + {'MBMS-GGSN-Address', 'OctetString'}; +avp_name(917, 10415) -> + {'MBMS-GGSN-IPv6-Address', 'OctetString'}; +avp_name(922, 10415) -> + {'MBMS-HC-Indicator', 'Enumerated'}; +avp_name(913, 10415) -> + {'MBMS-Required-QoS', 'UTF8String'}; +avp_name(903, 10415) -> + {'MBMS-Service-Area', 'OctetString'}; +avp_name(906, 10415) -> + {'MBMS-Service-Type', 'Enumerated'}; +avp_name(904, 10415) -> + {'MBMS-Session-Duration', 'OctetString'}; +avp_name(908, 10415) -> + {'MBMS-Session-Identity', 'OctetString'}; +avp_name(912, 10415) -> + {'MBMS-Session-Repetition-Number', 'OctetString'}; +avp_name(902, 10415) -> + {'MBMS-StartStop-Indication', 'Enumerated'}; +avp_name(911, 10415) -> + {'MBMS-Time-To-Data-Transfer', 'OctetString'}; +avp_name(915, 10415) -> + {'MBMS-User-Data-Mode-Indication', 'Enumerated'}; +avp_name(909, undefined) -> {'RAI', 'UTF8String'}; +avp_name(901, 10415) -> + {'Required-MBMS-Bearer-Capabilities', 'UTF8String'}; +avp_name(900, 10415) -> {'TMGI', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Additional-MBMS-Trace-Info') -> + {910, 192, 10415}; +avp_header('Alternative-APN') -> {905, 192, 10415}; +avp_header('CN-IP-Multicast-Distribution') -> + {921, 192, 10415}; +avp_header('MBMS-2G-3G-Indicator') -> + {907, 64, undefined}; +avp_header('MBMS-BMSC-SSM-IP-Address') -> + {918, 192, 10415}; +avp_header('MBMS-BMSC-SSM-IPv6-Address') -> + {919, 192, 10415}; +avp_header('MBMS-Counting-Information') -> + {914, 192, 10415}; +avp_header('MBMS-Flow-Identifier') -> {920, 192, 10415}; +avp_header('MBMS-GGSN-Address') -> {916, 192, 10415}; +avp_header('MBMS-GGSN-IPv6-Address') -> + {917, 192, 10415}; +avp_header('MBMS-HC-Indicator') -> {922, 192, 10415}; +avp_header('MBMS-Required-QoS') -> {913, 192, 10415}; +avp_header('MBMS-Service-Area') -> {903, 192, 10415}; +avp_header('MBMS-Service-Type') -> {906, 192, 10415}; +avp_header('MBMS-Session-Duration') -> + {904, 192, 10415}; +avp_header('MBMS-Session-Identity') -> + {908, 192, 10415}; +avp_header('MBMS-Session-Repetition-Number') -> + {912, 192, 10415}; +avp_header('MBMS-StartStop-Indication') -> + {902, 192, 10415}; +avp_header('MBMS-Time-To-Data-Transfer') -> + {911, 192, 10415}; +avp_header('MBMS-User-Data-Mode-Indication') -> + {915, 192, 10415}; +avp_header('RAI') -> {909, 64, undefined}; +avp_header('Required-MBMS-Bearer-Capabilities') -> + {901, 192, 10415}; +avp_header('TMGI') -> {900, 192, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Additional-MBMS-Trace-Info', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Alternative-APN', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'CN-IP-Multicast-Distribution', _) -> + enumerated_avp(T, 'CN-IP-Multicast-Distribution', Data); +avp(T, Data, 'MBMS-2G-3G-Indicator', _) -> + enumerated_avp(T, 'MBMS-2G-3G-Indicator', Data); +avp(T, Data, 'MBMS-BMSC-SSM-IP-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-BMSC-SSM-IPv6-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-Counting-Information', _) -> + enumerated_avp(T, 'MBMS-Counting-Information', Data); +avp(T, Data, 'MBMS-Flow-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-GGSN-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-GGSN-IPv6-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-HC-Indicator', _) -> + enumerated_avp(T, 'MBMS-HC-Indicator', Data); +avp(T, Data, 'MBMS-Required-QoS', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'MBMS-Service-Area', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-Service-Type', _) -> + enumerated_avp(T, 'MBMS-Service-Type', Data); +avp(T, Data, 'MBMS-Session-Duration', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-Session-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-Session-Repetition-Number', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-StartStop-Indication', _) -> + enumerated_avp(T, 'MBMS-StartStop-Indication', Data); +avp(T, Data, 'MBMS-Time-To-Data-Transfer', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MBMS-User-Data-Mode-Indication', _) -> + enumerated_avp(T, + 'MBMS-User-Data-Mode-Indication', + Data); +avp(T, Data, 'RAI', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Required-MBMS-Bearer-Capabilities', + Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'TMGI', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Additional-MBMS-Trace-Info", + 910, + "OctetString", + "MV"}, + {"Alternative-APN", 905, "UTF8String", "MV"}, + {"CN-IP-Multicast-Distribution", + 921, + "Enumerated", + "MV"}, + {"MBMS-2G-3G-Indicator", 907, "Enumerated", "M"}, + {"MBMS-BMSC-SSM-IP-Address", 918, "OctetString", "MV"}, + {"MBMS-BMSC-SSM-IPv6-Address", + 919, + "OctetString", + "MV"}, + {"MBMS-Counting-Information", 914, "Enumerated", "MV"}, + {"MBMS-Flow-Identifier", 920, "OctetString", "MV"}, + {"MBMS-GGSN-Address", 916, "OctetString", "MV"}, + {"MBMS-GGSN-IPv6-Address", 917, "OctetString", "MV"}, + {"MBMS-HC-Indicator", 922, "Enumerated", "MV"}, + {"MBMS-Required-QoS", 913, "UTF8String", "MV"}, + {"MBMS-Service-Area", 903, "OctetString", "MV"}, + {"MBMS-Service-Type", 906, "Enumerated", "MV"}, + {"MBMS-Session-Duration", 904, "OctetString", "MV"}, + {"MBMS-Session-Identity", 908, "OctetString", "MV"}, + {"MBMS-Session-Repetition-Number", + 912, + "OctetString", + "MV"}, + {"MBMS-StartStop-Indication", 902, "Enumerated", "MV"}, + {"MBMS-Time-To-Data-Transfer", + 911, + "OctetString", + "MV"}, + {"MBMS-User-Data-Mode-Indication", + 915, + "Enumerated", + "MV"}, + {"RAI", 909, "UTF8String", "M"}, + {"Required-MBMS-Bearer-Capabilities", + 901, + "UTF8String", + "MV"}, + {"TMGI", 900, "OctetString", "MV"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 16777223}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, + [{"diameter_3gpp_base", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_3gpp_ts29_061_gmb"}, + {prefix, "diameter_gmb"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_173.erl b/src/diameter_3gpp_ts29_173.erl new file mode 100644 index 0000000..be1d62a --- /dev/null +++ b/src/diameter_3gpp_ts29_173.erl @@ -0,0 +1,2397 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_173). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['RIR', + 'RIA', + 'Serving-Node', + 'Additional-Serving-Node', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id', + 'Charging-Information', + 'Supported-Features', + 'Supported-Applications', + 'SIP-Auth-Data-Item', + 'Deregistration-Reason', + 'SIP-Digest-Authenticate', + 'Emergency-Info']). + +-record('RIR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'User-Name' = [], + 'MSISDN' = [], + 'GMLC-Number' = [], + 'Supported-Features' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('RIA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'User-Name' = [], + 'MSISDN' = [], + 'LMSI' = [], + 'Serving-Node' = [], + 'Additional-Serving-Node' = [], + 'GMLC-Address' = [], + 'PPR-Address' = [], + 'RIA-Flags' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('Serving-Node', + {'SGSN-Number' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Name' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + +-record('Additional-Serving-Node', + {'SGSN-Number' = [], + 'MME-Name' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_173. + +id() -> 16777291. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(8388622, true) -> 'RIR'; +msg_name(8388622, false) -> 'RIA'; +msg_name(_, _) -> ''. + +msg_header('RIR') -> {8388622, 192, 16777291}; +msg_header('RIA') -> {8388622, 64, 16777291}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('RIR') -> 'RIR'; +rec2msg('RIA') -> 'RIA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('RIR') -> 'RIR'; +msg2rec('RIA') -> 'RIA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Serving-Node') -> 'Serving-Node'; +name2rec('Additional-Serving-Node') -> + 'Additional-Serving-Node'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec('Charging-Information') -> + 'Charging-Information'; +name2rec('Supported-Features') -> 'Supported-Features'; +name2rec('Supported-Applications') -> + 'Supported-Applications'; +name2rec('SIP-Auth-Data-Item') -> 'SIP-Auth-Data-Item'; +name2rec('Deregistration-Reason') -> + 'Deregistration-Reason'; +name2rec('SIP-Digest-Authenticate') -> + 'SIP-Digest-Authenticate'; +name2rec('Emergency-Info') -> 'Emergency-Info'; +name2rec(T) -> msg2rec(T). + +avp_name(318, 10415) -> + {'3GPP-AAA-Server-Name', 'DiameterIdentity'}; +avp_name(2406, 10415) -> + {'Additional-Serving-Node', 'Grouped'}; +avp_name(2405, 10415) -> {'GMLC-Address', 'Address'}; +avp_name(2404, 10415) -> + {'LCS-Capabilities-Sets', 'Unsigned32'}; +avp_name(2400, 10415) -> {'LMSI', 'OctetString'}; +avp_name(2402, 10415) -> + {'MME-Name', 'DiameterIdentity'}; +avp_name(2408, 10415) -> + {'MME-Realm', 'DiameterIdentity'}; +avp_name(2403, 10415) -> {'MSC-Number', 'OctetString'}; +avp_name(2407, 10415) -> {'PPR-Address', 'Address'}; +avp_name(2411, 10415) -> {'RIA-Flags', 'Unsigned32'}; +avp_name(2409, 10415) -> + {'SGSN-Name', 'DiameterIdentity'}; +avp_name(2410, 10415) -> + {'SGSN-Realm', 'DiameterIdentity'}; +avp_name(2401, 10415) -> {'Serving-Node', 'Grouped'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(643, 10415) -> + {'Call-ID-SIP-Header', 'OctetString'}; +avp_name(618, 10415) -> + {'Charging-Information', 'Grouped'}; +avp_name(625, 10415) -> + {'Confidentiality-Key', 'OctetString'}; +avp_name(641, 10415) -> {'Contact', 'OctetString'}; +avp_name(615, 10415) -> + {'Deregistration-Reason', 'Grouped'}; +avp_name(111, undefined) -> + {'Digest-Algorithm', 'UTF8String'}; +avp_name(121, undefined) -> + {'Digest-HA1', 'UTF8String'}; +avp_name(110, undefined) -> + {'Digest-QoP', 'UTF8String'}; +avp_name(104, undefined) -> + {'Digest-Realm', 'UTF8String'}; +avp_name(630, 10415) -> {'Feature-List', 'Unsigned32'}; +avp_name(629, 10415) -> + {'Feature-List-ID', 'Unsigned32'}; +avp_name(644, 10415) -> + {'From-SIP-Header', 'OctetString'}; +avp_name(654, 10415) -> + {'Initial-CSeq-Sequence-Number', 'Unsigned32'}; +avp_name(626, 10415) -> + {'Integrity-Key', 'OctetString'}; +avp_name(653, 10415) -> {'LIA-Flags', 'Unsigned32'}; +avp_name(638, 10415) -> + {'Loose-Route-Indication', 'Enumerated'}; +avp_name(604, 10415) -> + {'Mandatory-Capability', 'Unsigned32'}; +avp_name(648, 10415) -> + {'Multiple-Registration-Indication', 'Enumerated'}; +avp_name(605, 10415) -> + {'Optional-Capability', 'Unsigned32'}; +avp_name(633, 10415) -> + {'Originating-Request', 'Enumerated'}; +avp_name(640, 10415) -> {'Path', 'OctetString'}; +avp_name(621, 10415) -> + {'Primary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(619, 10415) -> + {'Primary-Event-Charging-Function-Name', 'DiameterURI'}; +avp_name(652, 10415) -> + {'Priviledged-Sender-Indication', 'Enumerated'}; +avp_name(601, 10415) -> + {'Public-Identity', 'UTF8String'}; +avp_name(616, 10415) -> {'Reason-Code', 'Enumerated'}; +avp_name(617, 10415) -> {'Reason-Info', 'UTF8String'}; +avp_name(646, 10415) -> {'Record-Route', 'OctetString'}; +avp_name(655, 10415) -> {'SAR-Flags', 'Unsigned32'}; +avp_name(612, 10415) -> + {'SIP-Auth-Data-Item', 'Grouped'}; +avp_name(609, 10415) -> + {'SIP-Authenticate', 'OctetString'}; +avp_name(611, 10415) -> + {'SIP-Authentication-Context', 'OctetString'}; +avp_name(608, 10415) -> + {'SIP-Authentication-Scheme', 'UTF8String'}; +avp_name(610, 10415) -> + {'SIP-Authorization', 'OctetString'}; +avp_name(635, 10415) -> + {'SIP-Digest-Authenticate', 'Grouped'}; +avp_name(613, 10415) -> + {'SIP-Item-Number', 'Unsigned32'}; +avp_name(607, 10415) -> + {'SIP-Number-Auth-Items', 'Unsigned32'}; +avp_name(622, 10415) -> + {'Secondary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(620, 10415) -> + {'Secondary-Event-Charging-Function-Name', + 'DiameterURI'}; +avp_name(614, 10415) -> + {'Server-Assignment-Type', 'Enumerated'}; +avp_name(602, 10415) -> {'Server-Name', 'UTF8String'}; +avp_name(650, 10415) -> + {'Session-Priority', 'Enumerated'}; +avp_name(631, 10415) -> + {'Supported-Applications', 'Grouped'}; +avp_name(628, 10415) -> + {'Supported-Features', 'Grouped'}; +avp_name(645, 10415) -> + {'To-SIP-Header', 'OctetString'}; +avp_name(637, 10415) -> {'UAR-Flags', 'Unsigned32'}; +avp_name(623, 10415) -> + {'User-Authorization-Type', 'Enumerated'}; +avp_name(606, 10415) -> {'User-Data', 'OctetString'}; +avp_name(624, 10415) -> + {'User-Data-Already-Available', 'Enumerated'}; +avp_name(600, 10415) -> + {'Visited-Network-Identifier', 'OctetString'}; +avp_name(634, 10415) -> + {'Wildcarded-Public-Identity', 'UTF8String'}; +avp_name(707, 10415) -> + {'Current-Location', 'Enumerated'}; +avp_name(711, 10415) -> {'DSAI-Tag', 'OctetString'}; +avp_name(703, 10415) -> + {'Data-Reference', 'Enumerated'}; +avp_name(709, 10415) -> {'Expiry-Time', 'Time'}; +avp_name(708, 10415) -> {'Identity-Set', 'Enumerated'}; +avp_name(701, 10415) -> {'MSISDN', 'OctetString'}; +avp_name(712, 10415) -> + {'One-Time-Notification', 'Enumerated'}; +avp_name(706, 10415) -> + {'Requested-Domain', 'Enumerated'}; +avp_name(713, 10415) -> + {'Requested-Nodes', 'Unsigned32'}; +avp_name(710, 10415) -> + {'Send-Data-Indication', 'Enumerated'}; +avp_name(716, 10415) -> + {'Sequence-Number', 'Unsigned32'}; +avp_name(704, 10415) -> + {'Service-Indication', 'OctetString'}; +avp_name(714, 10415) -> + {'Serving-Node-Indication', 'Enumerated'}; +avp_name(705, 10415) -> {'Subs-Req-Type', 'Enumerated'}; +avp_name(1427, 10415) -> + {'APN-OI-Replacement', 'UTF8String'}; +avp_name(1687, 10415) -> {'Emergency-Info', 'Grouped'}; +avp_name(1474, 10415) -> {'GMLC-Number', 'OctetString'}; +avp_name(1489, 10415) -> {'SGSN-Number', 'OctetString'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('RIR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'User-Name', {0, 1}}, + {'MSISDN', {0, 1}}, + {'GMLC-Number', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('RIA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'User-Name', {0, 1}}, + {'MSISDN', {0, 1}}, + {'LMSI', {0, 1}}, + {'Serving-Node', {0, 1}}, + {'Additional-Serving-Node', {0, '*'}}, + {'GMLC-Address', {0, 1}}, + {'PPR-Address', {0, 1}}, + {'RIA-Flags', {0, 1}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('Serving-Node') -> + [{'SGSN-Number', {0, 1}}, + {'SGSN-Name', {0, 1}}, + {'SGSN-Realm', {0, 1}}, + {'MME-Name', {0, 1}}, + {'MME-Realm', {0, 1}}, + {'MSC-Number', {0, 1}}, + {'3GPP-AAA-Server-Name', {0, 1}}, + {'LCS-Capabilities-Sets', {0, 1}}, + {'GMLC-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Additional-Serving-Node') -> + [{'SGSN-Number', {0, 1}}, + {'MME-Name', {0, 1}}, + {'SGSN-Name', {0, 1}}, + {'SGSN-Realm', {0, 1}}, + {'MME-Realm', {0, 1}}, + {'MSC-Number', {0, 1}}, + {'3GPP-AAA-Server-Name', {0, 1}}, + {'LCS-Capabilities-Sets', {0, 1}}, + {'GMLC-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Charging-Information') -> + [{'Primary-Event-Charging-Function-Name', {0, 1}}, + {'Secondary-Event-Charging-Function-Name', {0, 1}}, + {'Primary-Charging-Collection-Function-Name', {0, 1}}, + {'Secondary-Charging-Collection-Function-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Features') -> + [{'Vendor-Id', 1}, + {'Feature-List-ID', 1}, + {'Feature-List', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Applications') -> + [{'Auth-Application-Id', {0, '*'}}, + {'Acct-Application-Id', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Auth-Data-Item') -> + [{'SIP-Item-Number', {0, 1}}, + {'SIP-Authentication-Scheme', {0, 1}}, + {'SIP-Authenticate', {0, 1}}, + {'SIP-Authorization', {0, 1}}, + {'SIP-Authentication-Context', {0, 1}}, + {'Confidentiality-Key', {0, 1}}, + {'Integrity-Key', {0, 1}}, + {'SIP-Digest-Authenticate', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Line-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Deregistration-Reason') -> + [{'Reason-Code', 1}, + {'Reason-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Digest-Authenticate') -> + [{'Digest-Realm', 1}, + {'Digest-QoP', 1}, + {'Digest-HA1', 1}, + {'Digest-Algorithm', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Emergency-Info') -> + [{'MIP6-Agent-Info', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('RIR', 'Session-Id') -> 1; +avp_arity('RIR', 'Auth-Session-State') -> 1; +avp_arity('RIR', 'Origin-Host') -> 1; +avp_arity('RIR', 'Origin-Realm') -> 1; +avp_arity('RIR', 'Destination-Realm') -> 1; +avp_arity('RIR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('RIR', 'Destination-Host') -> {0, 1}; +avp_arity('RIR', 'User-Name') -> {0, 1}; +avp_arity('RIR', 'MSISDN') -> {0, 1}; +avp_arity('RIR', 'GMLC-Number') -> {0, 1}; +avp_arity('RIR', 'Supported-Features') -> {0, '*'}; +avp_arity('RIR', 'Proxy-Info') -> {0, '*'}; +avp_arity('RIR', 'Route-Record') -> {0, '*'}; +avp_arity('RIR', 'AVP') -> {0, '*'}; +avp_arity('RIA', 'Session-Id') -> 1; +avp_arity('RIA', 'Auth-Session-State') -> 1; +avp_arity('RIA', 'Origin-Host') -> 1; +avp_arity('RIA', 'Origin-Realm') -> 1; +avp_arity('RIA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('RIA', 'Result-Code') -> {0, 1}; +avp_arity('RIA', 'Experimental-Result') -> {0, 1}; +avp_arity('RIA', 'Supported-Features') -> {0, '*'}; +avp_arity('RIA', 'User-Name') -> {0, 1}; +avp_arity('RIA', 'MSISDN') -> {0, 1}; +avp_arity('RIA', 'LMSI') -> {0, 1}; +avp_arity('RIA', 'Serving-Node') -> {0, 1}; +avp_arity('RIA', 'Additional-Serving-Node') -> {0, '*'}; +avp_arity('RIA', 'GMLC-Address') -> {0, 1}; +avp_arity('RIA', 'PPR-Address') -> {0, 1}; +avp_arity('RIA', 'RIA-Flags') -> {0, 1}; +avp_arity('RIA', 'AVP') -> {0, '*'}; +avp_arity('RIA', 'Failed-AVP') -> {0, 1}; +avp_arity('RIA', 'Proxy-Info') -> {0, '*'}; +avp_arity('RIA', 'Route-Record') -> {0, '*'}; +avp_arity('Serving-Node', 'SGSN-Number') -> {0, 1}; +avp_arity('Serving-Node', 'SGSN-Name') -> {0, 1}; +avp_arity('Serving-Node', 'SGSN-Realm') -> {0, 1}; +avp_arity('Serving-Node', 'MME-Name') -> {0, 1}; +avp_arity('Serving-Node', 'MME-Realm') -> {0, 1}; +avp_arity('Serving-Node', 'MSC-Number') -> {0, 1}; +avp_arity('Serving-Node', '3GPP-AAA-Server-Name') -> + {0, 1}; +avp_arity('Serving-Node', 'LCS-Capabilities-Sets') -> + {0, 1}; +avp_arity('Serving-Node', 'GMLC-Address') -> {0, 1}; +avp_arity('Serving-Node', 'AVP') -> {0, '*'}; +avp_arity('Additional-Serving-Node', 'SGSN-Number') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'MME-Name') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'SGSN-Name') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'SGSN-Realm') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'MME-Realm') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'MSC-Number') -> + {0, 1}; +avp_arity('Additional-Serving-Node', + '3GPP-AAA-Server-Name') -> + {0, 1}; +avp_arity('Additional-Serving-Node', + 'LCS-Capabilities-Sets') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'GMLC-Address') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', 'AVP') -> {0, '*'}; +avp_arity('Supported-Features', 'Vendor-Id') -> 1; +avp_arity('Supported-Features', 'Feature-List-ID') -> 1; +avp_arity('Supported-Features', 'Feature-List') -> 1; +avp_arity('Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('Supported-Applications', + 'Auth-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Acct-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Vendor-Specific-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', 'AVP') -> {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Item-Number') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Scheme') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authorization') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Context') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Confidentiality-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Integrity-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Digest-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IP-Address') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IPv6-Prefix') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Framed-Interface-Id') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Line-Identifier') -> + {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'AVP') -> {0, '*'}; +avp_arity('Deregistration-Reason', 'Reason-Code') -> 1; +avp_arity('Deregistration-Reason', 'Reason-Info') -> + {0, 1}; +avp_arity('Deregistration-Reason', 'AVP') -> {0, '*'}; +avp_arity('SIP-Digest-Authenticate', 'Digest-Realm') -> + 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-QoP') -> 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-HA1') -> 1; +avp_arity('SIP-Digest-Authenticate', + 'Digest-Algorithm') -> + {0, 1}; +avp_arity('SIP-Digest-Authenticate', 'AVP') -> {0, '*'}; +avp_arity('Emergency-Info', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('Emergency-Info', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('3GPP-AAA-Server-Name') -> {318, 192, 10415}; +avp_header('Additional-Serving-Node') -> + {2406, 192, 10415}; +avp_header('GMLC-Address') -> {2405, 192, 10415}; +avp_header('LCS-Capabilities-Sets') -> + {2404, 192, 10415}; +avp_header('LMSI') -> {2400, 192, 10415}; +avp_header('MME-Name') -> {2402, 192, 10415}; +avp_header('MME-Realm') -> {2408, 128, 10415}; +avp_header('MSC-Number') -> {2403, 192, 10415}; +avp_header('PPR-Address') -> {2407, 192, 10415}; +avp_header('RIA-Flags') -> {2411, 128, 10415}; +avp_header('SGSN-Name') -> {2409, 128, 10415}; +avp_header('SGSN-Realm') -> {2410, 128, 10415}; +avp_header('Serving-Node') -> {2401, 192, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header('Call-ID-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('Call-ID-SIP-Header'); +avp_header('Charging-Information') -> + diameter_3gpp_ts29_229:avp_header('Charging-Information'); +avp_header('Confidentiality-Key') -> + diameter_3gpp_ts29_229:avp_header('Confidentiality-Key'); +avp_header('Contact') -> + diameter_3gpp_ts29_229:avp_header('Contact'); +avp_header('Deregistration-Reason') -> + diameter_3gpp_ts29_229:avp_header('Deregistration-Reason'); +avp_header('Digest-Algorithm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Algorithm'); +avp_header('Digest-HA1') -> + diameter_3gpp_ts29_229:avp_header('Digest-HA1'); +avp_header('Digest-QoP') -> + diameter_3gpp_ts29_229:avp_header('Digest-QoP'); +avp_header('Digest-Realm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Realm'); +avp_header('Feature-List') -> + diameter_3gpp_ts29_229:avp_header('Feature-List'); +avp_header('Feature-List-ID') -> + diameter_3gpp_ts29_229:avp_header('Feature-List-ID'); +avp_header('From-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('From-SIP-Header'); +avp_header('Initial-CSeq-Sequence-Number') -> + diameter_3gpp_ts29_229:avp_header('Initial-CSeq-Sequence-Number'); +avp_header('Integrity-Key') -> + diameter_3gpp_ts29_229:avp_header('Integrity-Key'); +avp_header('LIA-Flags') -> + diameter_3gpp_ts29_229:avp_header('LIA-Flags'); +avp_header('Loose-Route-Indication') -> + diameter_3gpp_ts29_229:avp_header('Loose-Route-Indication'); +avp_header('Mandatory-Capability') -> + diameter_3gpp_ts29_229:avp_header('Mandatory-Capability'); +avp_header('Multiple-Registration-Indication') -> + diameter_3gpp_ts29_229:avp_header('Multiple-Registration-Indication'); +avp_header('Optional-Capability') -> + diameter_3gpp_ts29_229:avp_header('Optional-Capability'); +avp_header('Originating-Request') -> + diameter_3gpp_ts29_229:avp_header('Originating-Request'); +avp_header('Path') -> + diameter_3gpp_ts29_229:avp_header('Path'); +avp_header('Primary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Charging-Collection-Function-Name'); +avp_header('Primary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Event-Charging-Function-Name'); +avp_header('Priviledged-Sender-Indication') -> + diameter_3gpp_ts29_229:avp_header('Priviledged-Sender-Indication'); +avp_header('Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Public-Identity'); +avp_header('Reason-Code') -> + diameter_3gpp_ts29_229:avp_header('Reason-Code'); +avp_header('Reason-Info') -> + diameter_3gpp_ts29_229:avp_header('Reason-Info'); +avp_header('Record-Route') -> + diameter_3gpp_ts29_229:avp_header('Record-Route'); +avp_header('SAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('SAR-Flags'); +avp_header('SIP-Auth-Data-Item') -> + diameter_3gpp_ts29_229:avp_header('SIP-Auth-Data-Item'); +avp_header('SIP-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authenticate'); +avp_header('SIP-Authentication-Context') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Context'); +avp_header('SIP-Authentication-Scheme') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Scheme'); +avp_header('SIP-Authorization') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authorization'); +avp_header('SIP-Digest-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Digest-Authenticate'); +avp_header('SIP-Item-Number') -> + diameter_3gpp_ts29_229:avp_header('SIP-Item-Number'); +avp_header('SIP-Number-Auth-Items') -> + diameter_3gpp_ts29_229:avp_header('SIP-Number-Auth-Items'); +avp_header('Secondary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Charging-Collection-Function-Name'); +avp_header('Secondary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Event-Charging-Function-Name'); +avp_header('Server-Assignment-Type') -> + diameter_3gpp_ts29_229:avp_header('Server-Assignment-Type'); +avp_header('Server-Name') -> + diameter_3gpp_ts29_229:avp_header('Server-Name'); +avp_header('Session-Priority') -> + diameter_3gpp_ts29_229:avp_header('Session-Priority'); +avp_header('Supported-Applications') -> + diameter_3gpp_ts29_229:avp_header('Supported-Applications'); +avp_header('Supported-Features') -> + diameter_3gpp_ts29_229:avp_header('Supported-Features'); +avp_header('To-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('To-SIP-Header'); +avp_header('UAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('UAR-Flags'); +avp_header('User-Authorization-Type') -> + diameter_3gpp_ts29_229:avp_header('User-Authorization-Type'); +avp_header('User-Data') -> + diameter_3gpp_ts29_229:avp_header('User-Data'); +avp_header('User-Data-Already-Available') -> + diameter_3gpp_ts29_229:avp_header('User-Data-Already-Available'); +avp_header('Visited-Network-Identifier') -> + diameter_3gpp_ts29_229:avp_header('Visited-Network-Identifier'); +avp_header('Wildcarded-Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Wildcarded-Public-Identity'); +avp_header('Current-Location') -> + diameter_3gpp_ts29_329:avp_header('Current-Location'); +avp_header('DSAI-Tag') -> + diameter_3gpp_ts29_329:avp_header('DSAI-Tag'); +avp_header('Data-Reference') -> + diameter_3gpp_ts29_329:avp_header('Data-Reference'); +avp_header('Expiry-Time') -> + diameter_3gpp_ts29_329:avp_header('Expiry-Time'); +avp_header('Identity-Set') -> + diameter_3gpp_ts29_329:avp_header('Identity-Set'); +avp_header('MSISDN') -> + diameter_3gpp_ts29_329:avp_header('MSISDN'); +avp_header('One-Time-Notification') -> + diameter_3gpp_ts29_329:avp_header('One-Time-Notification'); +avp_header('Requested-Domain') -> + diameter_3gpp_ts29_329:avp_header('Requested-Domain'); +avp_header('Requested-Nodes') -> + diameter_3gpp_ts29_329:avp_header('Requested-Nodes'); +avp_header('Send-Data-Indication') -> + diameter_3gpp_ts29_329:avp_header('Send-Data-Indication'); +avp_header('Sequence-Number') -> + diameter_3gpp_ts29_329:avp_header('Sequence-Number'); +avp_header('Service-Indication') -> + diameter_3gpp_ts29_329:avp_header('Service-Indication'); +avp_header('Serving-Node-Indication') -> + diameter_3gpp_ts29_329:avp_header('Serving-Node-Indication'); +avp_header('Subs-Req-Type') -> + diameter_3gpp_ts29_329:avp_header('Subs-Req-Type'); +avp_header('APN-OI-Replacement') -> + diameter_3gpp_break_circles:avp_header('APN-OI-Replacement'); +avp_header('Emergency-Info') -> + diameter_3gpp_break_circles:avp_header('Emergency-Info'); +avp_header('GMLC-Number') -> + diameter_3gpp_break_circles:avp_header('GMLC-Number'); +avp_header('SGSN-Number') -> + diameter_3gpp_break_circles:avp_header('SGSN-Number'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, '3GPP-AAA-Server-Name', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'Additional-Serving-Node', Opts) -> + grouped_avp(T, 'Additional-Serving-Node', Data, Opts); +avp(T, Data, 'GMLC-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'LCS-Capabilities-Sets', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'LMSI', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MME-Name', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'MME-Realm', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'MSC-Number', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'PPR-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'RIA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SGSN-Name', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'SGSN-Realm', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'Serving-Node', Opts) -> + grouped_avp(T, 'Serving-Node', Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(T, Data, 'Call-ID-SIP-Header', Opts) -> + avp(T, + Data, + 'Call-ID-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Charging-Information', Opts) -> + grouped_avp(T, 'Charging-Information', Data, Opts); +avp(T, Data, 'Confidentiality-Key', Opts) -> + avp(T, + Data, + 'Confidentiality-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Contact', Opts) -> + avp(T, Data, 'Contact', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Deregistration-Reason', Opts) -> + grouped_avp(T, 'Deregistration-Reason', Data, Opts); +avp(T, Data, 'Digest-Algorithm', Opts) -> + avp(T, + Data, + 'Digest-Algorithm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-HA1', Opts) -> + avp(T, + Data, + 'Digest-HA1', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-QoP', Opts) -> + avp(T, + Data, + 'Digest-QoP', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-Realm', Opts) -> + avp(T, + Data, + 'Digest-Realm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List', Opts) -> + avp(T, + Data, + 'Feature-List', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List-ID', Opts) -> + avp(T, + Data, + 'Feature-List-ID', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'From-SIP-Header', Opts) -> + avp(T, + Data, + 'From-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Initial-CSeq-Sequence-Number', Opts) -> + avp(T, + Data, + 'Initial-CSeq-Sequence-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Integrity-Key', Opts) -> + avp(T, + Data, + 'Integrity-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'LIA-Flags', Opts) -> + avp(T, Data, 'LIA-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Loose-Route-Indication', Opts) -> + avp(T, + Data, + 'Loose-Route-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Mandatory-Capability', Opts) -> + avp(T, + Data, + 'Mandatory-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Multiple-Registration-Indication', + Opts) -> + avp(T, + Data, + 'Multiple-Registration-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Optional-Capability', Opts) -> + avp(T, + Data, + 'Optional-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Originating-Request', Opts) -> + avp(T, + Data, + 'Originating-Request', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Path', Opts) -> + avp(T, Data, 'Path', Opts, diameter_3gpp_ts29_229); +avp(T, Data, + 'Primary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Primary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Primary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Primary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Priviledged-Sender-Indication', Opts) -> + avp(T, + Data, + 'Priviledged-Sender-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Public-Identity', Opts) -> + avp(T, + Data, + 'Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Code', Opts) -> + avp(T, + Data, + 'Reason-Code', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Info', Opts) -> + avp(T, + Data, + 'Reason-Info', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Record-Route', Opts) -> + avp(T, + Data, + 'Record-Route', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SAR-Flags', Opts) -> + avp(T, Data, 'SAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Auth-Data-Item', Opts) -> + grouped_avp(T, 'SIP-Auth-Data-Item', Data, Opts); +avp(T, Data, 'SIP-Authenticate', Opts) -> + avp(T, + Data, + 'SIP-Authenticate', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Context', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Context', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Scheme', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Scheme', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authorization', Opts) -> + avp(T, + Data, + 'SIP-Authorization', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Digest-Authenticate', Opts) -> + grouped_avp(T, 'SIP-Digest-Authenticate', Data, Opts); +avp(T, Data, 'SIP-Item-Number', Opts) -> + avp(T, + Data, + 'SIP-Item-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Number-Auth-Items', Opts) -> + avp(T, + Data, + 'SIP-Number-Auth-Items', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, + 'Secondary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Secondary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Secondary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Secondary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Assignment-Type', Opts) -> + avp(T, + Data, + 'Server-Assignment-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Name', Opts) -> + avp(T, + Data, + 'Server-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Session-Priority', Opts) -> + avp(T, + Data, + 'Session-Priority', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Supported-Applications', Opts) -> + grouped_avp(T, 'Supported-Applications', Data, Opts); +avp(T, Data, 'Supported-Features', Opts) -> + grouped_avp(T, 'Supported-Features', Data, Opts); +avp(T, Data, 'To-SIP-Header', Opts) -> + avp(T, + Data, + 'To-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'UAR-Flags', Opts) -> + avp(T, Data, 'UAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Authorization-Type', Opts) -> + avp(T, + Data, + 'User-Authorization-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data', Opts) -> + avp(T, Data, 'User-Data', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data-Already-Available', Opts) -> + avp(T, + Data, + 'User-Data-Already-Available', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'Visited-Network-Identifier', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Wildcarded-Public-Identity', Opts) -> + avp(T, + Data, + 'Wildcarded-Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Current-Location', Opts) -> + avp(T, + Data, + 'Current-Location', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'DSAI-Tag', Opts) -> + avp(T, Data, 'DSAI-Tag', Opts, diameter_3gpp_ts29_329); +avp(T, Data, 'Data-Reference', Opts) -> + avp(T, + Data, + 'Data-Reference', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Expiry-Time', Opts) -> + avp(T, + Data, + 'Expiry-Time', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Identity-Set', Opts) -> + avp(T, + Data, + 'Identity-Set', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'MSISDN', Opts) -> + avp(T, Data, 'MSISDN', Opts, diameter_3gpp_ts29_329); +avp(T, Data, 'One-Time-Notification', Opts) -> + avp(T, + Data, + 'One-Time-Notification', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Requested-Domain', Opts) -> + avp(T, + Data, + 'Requested-Domain', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Requested-Nodes', Opts) -> + avp(T, + Data, + 'Requested-Nodes', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Send-Data-Indication', Opts) -> + avp(T, + Data, + 'Send-Data-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Sequence-Number', Opts) -> + avp(T, + Data, + 'Sequence-Number', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Service-Indication', Opts) -> + avp(T, + Data, + 'Service-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Serving-Node-Indication', Opts) -> + avp(T, + Data, + 'Serving-Node-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Subs-Req-Type', Opts) -> + avp(T, + Data, + 'Subs-Req-Type', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'APN-OI-Replacement', Opts) -> + avp(T, + Data, + 'APN-OI-Replacement', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'Emergency-Info', Opts) -> + grouped_avp(T, 'Emergency-Info', Data, Opts); +avp(T, Data, 'GMLC-Number', Opts) -> + avp(T, + Data, + 'GMLC-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'SGSN-Number', Opts) -> + avp(T, + Data, + 'SGSN-Number', + Opts, + diameter_3gpp_break_circles); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Serving-Node', Opts) -> + empty_group('Serving-Node', Opts); +empty_value('Additional-Serving-Node', Opts) -> + empty_group('Additional-Serving-Node', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Charging-Information', Opts) -> + empty_group('Charging-Information', Opts); +empty_value('Supported-Features', Opts) -> + empty_group('Supported-Features', Opts); +empty_value('Supported-Applications', Opts) -> + empty_group('Supported-Applications', Opts); +empty_value('SIP-Auth-Data-Item', Opts) -> + empty_group('SIP-Auth-Data-Item', Opts); +empty_value('Deregistration-Reason', Opts) -> + empty_group('Deregistration-Reason', Opts); +empty_value('SIP-Digest-Authenticate', Opts) -> + empty_group('SIP-Digest-Authenticate', Opts); +empty_value('Emergency-Info', Opts) -> + empty_group('Emergency-Info', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Server-Assignment-Type', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"3GPP-AAA-Server-Name", + 318, + "DiameterIdentity", + "MV"}, + {"Additional-Serving-Node", 2406, "Grouped", "MV"}, + {"GMLC-Address", 2405, "Address", "MV"}, + {"LCS-Capabilities-Sets", 2404, "Unsigned32", "MV"}, + {"LMSI", 2400, "OctetString", "MV"}, + {"MME-Name", 2402, "DiameterIdentity", "MV"}, + {"MME-Realm", 2408, "DiameterIdentity", "V"}, + {"MSC-Number", 2403, "OctetString", "MV"}, + {"PPR-Address", 2407, "Address", "MV"}, + {"RIA-Flags", 2411, "Unsigned32", "V"}, + {"SGSN-Name", 2409, "DiameterIdentity", "V"}, + {"SGSN-Realm", 2410, "DiameterIdentity", "V"}, + {"Serving-Node", 2401, "Grouped", "MV"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, [{8388622, "RIR", "RIA"}]}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, + [{"Serving-Node", + 2401, + [10415], + [["SGSN-Number"], + ["SGSN-Name"], + ["SGSN-Realm"], + ["MME-Name"], + ["MME-Realm"], + ["MSC-Number"], + ["3GPP-AAA-Server-Name"], + ["LCS-Capabilities-Sets"], + ["GMLC-Address"], + {'*', ["AVP"]}]}, + {"Additional-Serving-Node", + 2406, + [10415], + [["SGSN-Number"], + ["MME-Name"], + ["SGSN-Name"], + ["SGSN-Realm"], + ["MME-Realm"], + ["MSC-Number"], + ["3GPP-AAA-Server-Name"], + ["LCS-Capabilities-Sets"], + ["GMLC-Address"], + {'*', ["AVP"]}]}]}, + {id, 16777291}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {diameter_3gpp_ts29_229, + [{"Call-ID-SIP-Header", 643, "OctetString", "V"}, + {"Charging-Information", 618, "Grouped", "MV"}, + {"Confidentiality-Key", 625, "OctetString", "MV"}, + {"Contact", 641, "OctetString", "V"}, + {"Deregistration-Reason", 615, "Grouped", "MV"}, + {"Digest-Algorithm", 111, "UTF8String", "M"}, + {"Digest-HA1", 121, "UTF8String", "M"}, + {"Digest-QoP", 110, "UTF8String", "M"}, + {"Digest-Realm", 104, "UTF8String", "M"}, + {"Feature-List", 630, "Unsigned32", "V"}, + {"Feature-List-ID", 629, "Unsigned32", "V"}, + {"From-SIP-Header", 644, "OctetString", "V"}, + {"Initial-CSeq-Sequence-Number", + 654, + "Unsigned32", + "V"}, + {"Integrity-Key", 626, "OctetString", "MV"}, + {"LIA-Flags", 653, "Unsigned32", "V"}, + {"Loose-Route-Indication", 638, "Enumerated", "V"}, + {"Mandatory-Capability", 604, "Unsigned32", "MV"}, + {"Multiple-Registration-Indication", + 648, + "Enumerated", + "V"}, + {"Optional-Capability", 605, "Unsigned32", "MV"}, + {"Originating-Request", 633, "Enumerated", "MV"}, + {"Path", 640, "OctetString", "V"}, + {"Primary-Charging-Collection-Function-Name", + 621, + "DiameterURI", + "MV"}, + {"Primary-Event-Charging-Function-Name", + 619, + "DiameterURI", + "MV"}, + {"Priviledged-Sender-Indication", + 652, + "Enumerated", + "V"}, + {"Public-Identity", 601, "UTF8String", "MV"}, + {"Reason-Code", 616, "Enumerated", "MV"}, + {"Reason-Info", 617, "UTF8String", "MV"}, + {"Record-Route", 646, "OctetString", "V"}, + {"SAR-Flags", 655, "Unsigned32", "V"}, + {"SIP-Auth-Data-Item", 612, "Grouped", "MV"}, + {"SIP-Authenticate", 609, "OctetString", "MV"}, + {"SIP-Authentication-Context", + 611, + "OctetString", + "MV"}, + {"SIP-Authentication-Scheme", 608, "UTF8String", "MV"}, + {"SIP-Authorization", 610, "OctetString", "MV"}, + {"SIP-Digest-Authenticate", 635, "Grouped", "V"}, + {"SIP-Item-Number", 613, "Unsigned32", "MV"}, + {"SIP-Number-Auth-Items", 607, "Unsigned32", "MV"}, + {"Secondary-Charging-Collection-Function-Name", + 622, + "DiameterURI", + "MV"}, + {"Secondary-Event-Charging-Function-Name", + 620, + "DiameterURI", + "MV"}, + {"Server-Assignment-Type", 614, "Enumerated", "MV"}, + {"Server-Name", 602, "UTF8String", "MV"}, + {"Session-Priority", 650, "Enumerated", "V"}, + {"Supported-Applications", 631, "Grouped", "V"}, + {"Supported-Features", 628, "Grouped", "V"}, + {"To-SIP-Header", 645, "OctetString", "V"}, + {"UAR-Flags", 637, "Unsigned32", "V"}, + {"User-Authorization-Type", 623, "Enumerated", "MV"}, + {"User-Data", 606, "OctetString", "MV"}, + {"User-Data-Already-Available", + 624, + "Enumerated", + "MV"}, + {"Visited-Network-Identifier", + 600, + "OctetString", + "MV"}, + {"Wildcarded-Public-Identity", + 634, + "UTF8String", + "V"}]}, + {diameter_3gpp_ts29_329, + [{"Current-Location", 707, "Enumerated", "MV"}, + {"DSAI-Tag", 711, "OctetString", "MV"}, + {"Data-Reference", 703, "Enumerated", "MV"}, + {"Expiry-Time", 709, "Time", "V"}, + {"Identity-Set", 708, "Enumerated", "V"}, + {"MSISDN", 701, "OctetString", "MV"}, + {"One-Time-Notification", 712, "Enumerated", "V"}, + {"Requested-Domain", 706, "Enumerated", "MV"}, + {"Requested-Nodes", 713, "Unsigned32", "V"}, + {"Send-Data-Indication", 710, "Enumerated", "V"}, + {"Sequence-Number", 716, "Unsigned32", "V"}, + {"Service-Indication", 704, "OctetString", "MV"}, + {"Serving-Node-Indication", 714, "Enumerated", "V"}, + {"Subs-Req-Type", 705, "Enumerated", "MV"}]}, + {diameter_3gpp_break_circles, + [{"APN-OI-Replacement", 1427, "UTF8String", "MV"}, + {"Emergency-Info", 1687, "Grouped", "V"}, + {"GMLC-Number", 1474, "OctetString", "MV"}, + {"SGSN-Number", 1489, "OctetString", "MV"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {diameter_3gpp_ts29_229, + [{"Server-Assignment-Type", + [{"NO_ASSIGNMENT", 0}, + {"REGISTRATION", 1}, + {"RE_REGISTRATION", 2}, + {"UNREGISTERED_USER", 3}, + {"TIMEOUT_DEREGISTRATION", 4}, + {"USER_DEREGISTRATION", 5}, + {"TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 6}, + {"USER_DEREGISTRATION_STORE_SERVER_NAME", 7}, + {"ADMINISTRATIVE_DEREGISTRATION", 8}, + {"AUTHENTICATION_FAILURE", 9}, + {"AUTHENTICATION_TIMEOUT", 10}, + {"DEREGISTRATION_TOO_MUCH_DATA", 11}, + {"AAA_USER_DATA_REQUEST", 12}, + {"PGW_UPDATE", 13}, + {"RESTORATION", 14}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_3gpp_ts29_229, + [{"Charging-Information", + 618, + [], + [["Primary-Event-Charging-Function-Name"], + ["Secondary-Event-Charging-Function-Name"], + ["Primary-Charging-Collection-Function-Name"], + ["Secondary-Charging-Collection-Function-Name"], + {'*', ["AVP"]}]}, + {"Supported-Features", + 628, + [], + [{"Vendor-Id"}, + {"Feature-List-ID"}, + {"Feature-List"}, + {'*', ["AVP"]}]}, + {"Supported-Applications", + 631, + [10415], + [{'*', ["Auth-Application-Id"]}, + {'*', ["Acct-Application-Id"]}, + {'*', ["Vendor-Specific-Application-Id"]}, + {'*', ["AVP"]}]}, + {"SIP-Auth-Data-Item", + 612, + [10415], + [["SIP-Item-Number"], + ["SIP-Authentication-Scheme"], + ["SIP-Authenticate"], + ["SIP-Authorization"], + ["SIP-Authentication-Context"], + ["Confidentiality-Key"], + ["Integrity-Key"], + ["SIP-Digest-Authenticate"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + {'*', ["Line-Identifier"]}, + {'*', ["AVP"]}]}, + {"Deregistration-Reason", + 615, + [10415], + [{"Reason-Code"}, ["Reason-Info"], {'*', ["AVP"]}]}, + {"SIP-Digest-Authenticate", + 635, + [10415], + [{"Digest-Realm"}, + {"Digest-QoP"}, + {"Digest-HA1"}, + ["Digest-Algorithm"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_break_circles, + [{"Emergency-Info", + 1687, + [10415], + [["MIP6-Agent-Info"], {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_3gpp_break_circles", []}, + {"diameter_3gpp_ts29_329", []}, + {"diameter_3gpp_ts29_229", []}, + {"diameter_3gpp_base", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"RIR", + 8388622, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + ["Vendor-Specific-Application-Id"], + ["Destination-Host"], + ["User-Name"], + ["MSISDN"], + ["GMLC-Number"], + {'*', ["Supported-Features"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"RIA", + 8388622, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + ["Result-Code"], + ["Experimental-Result"], + {'*', ["Supported-Features"]}, + ["User-Name"], + ["MSISDN"], + ["LMSI"], + ["Serving-Node"], + {'*', ["Additional-Serving-Node"]}, + ["GMLC-Address"], + ["PPR-Address"], + ["RIA-Flags"], + {'*', ["AVP"]}, + ["Failed-AVP"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}]}, + {name, "diameter_3gpp_ts29_173"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_212.erl b/src/diameter_3gpp_ts29_212.erl new file mode 100644 index 0000000..509c007 --- /dev/null +++ b/src/diameter_3gpp_ts29_212.erl @@ -0,0 +1,8287 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_212). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records([diameter_gx_CCR, + diameter_gx_CCA, + diameter_gx_RAR, + diameter_gx_RAA, + 'diameter_gx_Access-Network-Charging-Identifier-Gx', + 'diameter_gx_Allocation-Retention-Priority', + 'diameter_gx_Application-Detection-Information', + 'diameter_gx_Charging-Rule-Definition', + 'diameter_gx_Charging-Rule-Install', + 'diameter_gx_Charging-Rule-Remove', + 'diameter_gx_Charging-Rule-Report', + 'diameter_gx_CoA-Information', + 'diameter_gx_Conditional-APN-Aggregate-Max-Bitrate', + 'diameter_gx_Default-EPS-Bearer-QoS', + 'diameter_gx_Default-QoS-Information', + 'diameter_gx_Event-Report-Indication', + 'diameter_gx_Fixed-User-Location-Info', + 'diameter_gx_Flow-Information', + 'diameter_gx_Packet-Filter-Information', + 'diameter_gx_Presence-Reporting-Area-Information', + 'diameter_gx_QoS-Information', + 'diameter_gx_Redirect-Information', + 'diameter_gx_Routing-Filter', + 'diameter_gx_Routing-Rule-Definition', + 'diameter_gx_Routing-Rule-Install', + 'diameter_gx_Routing-Rule-Remove', + 'diameter_gx_TDF-Information', + 'diameter_gx_Tunnel-Information', + 'diameter_gx_TFT-Packet-Filter-Information', + 'diameter_gx_Usage-Monitoring-Information', + 'diameter_gx_Proxy-Info', + 'diameter_gx_Failed-AVP', + 'diameter_gx_Experimental-Result', + 'diameter_gx_Vendor-Specific-Application-Id', + 'diameter_gx_CHAP-Auth', + diameter_gx_Tunneling, + 'diameter_gx_Cost-Information', + 'diameter_gx_Unit-Value', + 'diameter_gx_Multiple-Services-Credit-Control', + 'diameter_gx_Granted-Service-Unit', + 'diameter_gx_Requested-Service-Unit', + 'diameter_gx_Used-Service-Unit', + 'diameter_gx_CC-Money', + 'diameter_gx_G-S-U-Pool-Reference', + 'diameter_gx_Final-Unit-Indication', + 'diameter_gx_Redirect-Server', + 'diameter_gx_Service-Parameter-Info', + 'diameter_gx_Subscription-Id', + 'diameter_gx_User-Equipment-Info', + diameter_gx_Flows, + 'diameter_gx_Charging-Information', + 'diameter_gx_Supported-Features', + 'diameter_gx_Supported-Applications', + 'diameter_gx_SIP-Auth-Data-Item', + 'diameter_gx_Deregistration-Reason', + 'diameter_gx_SIP-Digest-Authenticate']). + +-record(diameter_gx_CCR, + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'CC-Request-Type', + 'CC-Request-Number', + 'Credit-Management-Status' = [], + 'Destination-Host' = [], + 'Origin-State-Id' = [], + 'Subscription-Id' = [], + 'Supported-Features' = [], + 'TDF-Information' = [], + 'Network-Request-Support' = [], + 'Packet-Filter-Information' = [], + 'Packet-Filter-Operation' = [], + 'Bearer-Identifier' = [], + 'Bearer-Operation' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'IP-CAN-Type' = [], + '3GPP-RAT-Type' = [], + 'RAT-Type' = [], + 'Termination-Cause' = [], + 'User-Equipment-Info' = [], + 'QoS-Information' = [], + 'QoS-Negotiation' = [], + 'QoS-Upgrade' = [], + 'Default-EPS-Bearer-QoS' = [], + 'Default-QoS-Information' = [], + 'AN-GW-Address' = [], + 'AN-GW-Status' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-GGSN-Address' = [], + '3GPP-GGSN-IPv6-Address' = [], + '3GPP-Selection-Mode' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'TWAN-Identifier' = [], + '3GPP-MS-TimeZone' = [], + 'RAN-NAS-Release-Cause' = [], + '3GPP-Charging-Characteristics' = [], + 'Called-Station-Id' = [], + 'PDN-Connection-ID' = [], + 'Bearer-Usage' = [], + 'Online' = [], + 'Offline' = [], + 'TFT-Packet-Filter-Information' = [], + 'Charging-Rule-Report' = [], + 'Application-Detection-Information' = [], + 'Event-Trigger' = [], + 'Event-Report-Indication' = [], + 'Access-Network-Charging-Address' = [], + 'Access-Network-Charging-Identifier-Gx' = [], + 'CoA-Information' = [], + 'Usage-Monitoring-Information' = [], + 'Routing-Rule-Install' = [], + 'Routing-Rule-Remove' = [], + 'HeNB-Local-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_gx_CCA, + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'CC-Request-Type', + 'CC-Request-Number', + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'Bearer-Control-Mode' = [], + 'Event-Trigger' = [], + 'Event-Report-Indication' = [], + 'Origin-State-Id' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Charging-Rule-Remove' = [], + 'Charging-Rule-Install' = [], + 'Charging-Information' = [], + 'Online' = [], + 'Offline' = [], + 'QoS-Information' = [], + 'Revalidation-Time' = [], + 'Default-EPS-Bearer-QoS' = [], + 'Default-QoS-Information' = [], + 'Bearer-Usage' = [], + 'Usage-Monitoring-Information' = [], + 'CSG-Information-Reporting' = [], + 'Presence-Reporting-Area-Information' = [], + 'Session-Release-Cause' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_gx_RAR, + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Re-Auth-Request-Type', + 'Session-Release-Cause' = [], + 'Origin-State-Id' = [], + 'Event-Trigger' = [], + 'Event-Report-Indication' = [], + 'Charging-Rule-Remove' = [], + 'Charging-Rule-Install' = [], + 'Default-EPS-Bearer-QoS' = [], + 'QoS-Information' = [], + 'Default-QoS-Information' = [], + 'Revalidation-Time' = [], + 'Usage-Monitoring-Information' = [], + 'PCSCF-Restoration-Indication' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_gx_RAA, + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Origin-State-Id' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'NetLoc-Access-Support' = [], + '3GPP-MS-TimeZone' = [], + 'Default-QoS-Information' = [], + 'Charging-Rule-Report' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('diameter_gx_Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('diameter_gx_Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('diameter_gx_Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_gx_Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('diameter_gx_CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('diameter_gx_Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('diameter_gx_Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('diameter_gx_Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('diameter_gx_Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('diameter_gx_Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('diameter_gx_Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_gx_Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_gx_Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('diameter_gx_QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('diameter_gx_Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('diameter_gx_Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('diameter_gx_Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('diameter_gx_Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('diameter_gx_Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('diameter_gx_TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('diameter_gx_Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('diameter_gx_TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_gx_Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + +-record('diameter_gx_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_gx_Failed-AVP', {'AVP' = []}). + +-record('diameter_gx_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_gx_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('diameter_gx_CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record(diameter_gx_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + +-record('diameter_gx_Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('diameter_gx_Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_gx_Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('diameter_gx_Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_gx_Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_gx_Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_gx_CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('diameter_gx_G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('diameter_gx_Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('diameter_gx_Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('diameter_gx_Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('diameter_gx_Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('diameter_gx_User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + +-record(diameter_gx_Flows, + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + +-record('diameter_gx_Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('diameter_gx_Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('diameter_gx_Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('diameter_gx_SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('diameter_gx_Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('diameter_gx_SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_212. + +id() -> 16777238. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(272, true) -> 'CCR'; +msg_name(272, false) -> 'CCA'; +msg_name(258, true) -> 'RAR'; +msg_name(258, false) -> 'RAA'; +msg_name(_, _) -> ''. + +msg_header('CCR') -> {272, 192, 16777238}; +msg_header('CCA') -> {272, 64, 16777238}; +msg_header('RAR') -> {258, 192, 16777238}; +msg_header('RAA') -> {258, 64, 16777238}; +msg_header(_) -> erlang:error(badarg). + +rec2msg(diameter_gx_CCR) -> 'CCR'; +rec2msg(diameter_gx_CCA) -> 'CCA'; +rec2msg(diameter_gx_RAR) -> 'RAR'; +rec2msg(diameter_gx_RAA) -> 'RAA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('CCR') -> diameter_gx_CCR; +msg2rec('CCA') -> diameter_gx_CCA; +msg2rec('RAR') -> diameter_gx_RAR; +msg2rec('RAA') -> diameter_gx_RAA; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Access-Network-Charging-Identifier-Gx') -> + 'diameter_gx_Access-Network-Charging-Identifier-Gx'; +name2rec('Allocation-Retention-Priority') -> + 'diameter_gx_Allocation-Retention-Priority'; +name2rec('Application-Detection-Information') -> + 'diameter_gx_Application-Detection-Information'; +name2rec('Charging-Rule-Definition') -> + 'diameter_gx_Charging-Rule-Definition'; +name2rec('Charging-Rule-Install') -> + 'diameter_gx_Charging-Rule-Install'; +name2rec('Charging-Rule-Remove') -> + 'diameter_gx_Charging-Rule-Remove'; +name2rec('Charging-Rule-Report') -> + 'diameter_gx_Charging-Rule-Report'; +name2rec('CoA-Information') -> + 'diameter_gx_CoA-Information'; +name2rec('Conditional-APN-Aggregate-Max-Bitrate') -> + 'diameter_gx_Conditional-APN-Aggregate-Max-Bitrate'; +name2rec('Default-EPS-Bearer-QoS') -> + 'diameter_gx_Default-EPS-Bearer-QoS'; +name2rec('Default-QoS-Information') -> + 'diameter_gx_Default-QoS-Information'; +name2rec('Event-Report-Indication') -> + 'diameter_gx_Event-Report-Indication'; +name2rec('Fixed-User-Location-Info') -> + 'diameter_gx_Fixed-User-Location-Info'; +name2rec('Flow-Information') -> + 'diameter_gx_Flow-Information'; +name2rec('Packet-Filter-Information') -> + 'diameter_gx_Packet-Filter-Information'; +name2rec('Presence-Reporting-Area-Information') -> + 'diameter_gx_Presence-Reporting-Area-Information'; +name2rec('QoS-Information') -> + 'diameter_gx_QoS-Information'; +name2rec('Redirect-Information') -> + 'diameter_gx_Redirect-Information'; +name2rec('Routing-Filter') -> + 'diameter_gx_Routing-Filter'; +name2rec('Routing-Rule-Definition') -> + 'diameter_gx_Routing-Rule-Definition'; +name2rec('Routing-Rule-Install') -> + 'diameter_gx_Routing-Rule-Install'; +name2rec('Routing-Rule-Remove') -> + 'diameter_gx_Routing-Rule-Remove'; +name2rec('TDF-Information') -> + 'diameter_gx_TDF-Information'; +name2rec('Tunnel-Information') -> + 'diameter_gx_Tunnel-Information'; +name2rec('TFT-Packet-Filter-Information') -> + 'diameter_gx_TFT-Packet-Filter-Information'; +name2rec('Usage-Monitoring-Information') -> + 'diameter_gx_Usage-Monitoring-Information'; +name2rec('Proxy-Info') -> 'diameter_gx_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_gx_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_gx_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_gx_Vendor-Specific-Application-Id'; +name2rec('CHAP-Auth') -> 'diameter_gx_CHAP-Auth'; +name2rec('Tunneling') -> diameter_gx_Tunneling; +name2rec('Cost-Information') -> + 'diameter_gx_Cost-Information'; +name2rec('Unit-Value') -> 'diameter_gx_Unit-Value'; +name2rec('Multiple-Services-Credit-Control') -> + 'diameter_gx_Multiple-Services-Credit-Control'; +name2rec('Granted-Service-Unit') -> + 'diameter_gx_Granted-Service-Unit'; +name2rec('Requested-Service-Unit') -> + 'diameter_gx_Requested-Service-Unit'; +name2rec('Used-Service-Unit') -> + 'diameter_gx_Used-Service-Unit'; +name2rec('CC-Money') -> 'diameter_gx_CC-Money'; +name2rec('G-S-U-Pool-Reference') -> + 'diameter_gx_G-S-U-Pool-Reference'; +name2rec('Final-Unit-Indication') -> + 'diameter_gx_Final-Unit-Indication'; +name2rec('Redirect-Server') -> + 'diameter_gx_Redirect-Server'; +name2rec('Service-Parameter-Info') -> + 'diameter_gx_Service-Parameter-Info'; +name2rec('Subscription-Id') -> + 'diameter_gx_Subscription-Id'; +name2rec('User-Equipment-Info') -> + 'diameter_gx_User-Equipment-Info'; +name2rec('Flows') -> diameter_gx_Flows; +name2rec('Charging-Information') -> + 'diameter_gx_Charging-Information'; +name2rec('Supported-Features') -> + 'diameter_gx_Supported-Features'; +name2rec('Supported-Applications') -> + 'diameter_gx_Supported-Applications'; +name2rec('SIP-Auth-Data-Item') -> + 'diameter_gx_SIP-Auth-Data-Item'; +name2rec('Deregistration-Reason') -> + 'diameter_gx_Deregistration-Reason'; +name2rec('SIP-Digest-Authenticate') -> + 'diameter_gx_SIP-Digest-Authenticate'; +name2rec(T) -> msg2rec(T). + +avp_name(1050, 10415) -> {'AN-GW-Address', 'Address'}; +avp_name(2811, 10415) -> {'AN-GW-Status', 'Enumerated'}; +avp_name(1040, 10415) -> + {'APN-Aggregate-Max-Bitrate-DL', 'Unsigned32'}; +avp_name(1041, 10415) -> + {'APN-Aggregate-Max-Bitrate-UL', 'Unsigned32'}; +avp_name(1022, 10415) -> + {'Access-Network-Charging-Identifier-Gx', 'Grouped'}; +avp_name(1034, 10415) -> + {'Allocation-Retention-Priority', 'Grouped'}; +avp_name(1098, 10415) -> + {'Application-Detection-Information', 'Grouped'}; +avp_name(1023, 10415) -> + {'Bearer-Control-Mode', 'Enumerated'}; +avp_name(1020, 10415) -> + {'Bearer-Identifier', 'OctetString'}; +avp_name(1021, 10415) -> + {'Bearer-Operation', 'Enumerated'}; +avp_name(1000, 10415) -> {'Bearer-Usage', 'Enumerated'}; +avp_name(1071, 10415) -> + {'CSG-Information-Reporting', 'Enumerated'}; +avp_name(1073, 10415) -> + {'Charging-Correlation-Indicator', 'Enumerated'}; +avp_name(1004, 10415) -> + {'Charging-Rule-Base-Name', 'UTF8String'}; +avp_name(1003, 10415) -> + {'Charging-Rule-Definition', 'Grouped'}; +avp_name(1001, 10415) -> + {'Charging-Rule-Install', 'Grouped'}; +avp_name(1005, 10415) -> + {'Charging-Rule-Name', 'OctetString'}; +avp_name(1002, 10415) -> + {'Charging-Rule-Remove', 'Grouped'}; +avp_name(1018, 10415) -> + {'Charging-Rule-Report', 'Grouped'}; +avp_name(1035, 10415) -> {'CoA-IP-Address', 'Address'}; +avp_name(1039, 10415) -> {'CoA-Information', 'Grouped'}; +avp_name(2818, 10415) -> + {'Conditional-APN-Aggregate-Max-Bitrate', 'Grouped'}; +avp_name(1082, 10415) -> + {'Credit-Management-Status', 'Unsigned32'}; +avp_name(1049, 10415) -> + {'Default-EPS-Bearer-QoS', 'Grouped'}; +avp_name(2816, 10415) -> + {'Default-QoS-Information', 'Grouped'}; +avp_name(2817, 10415) -> + {'Default-QoS-Name', 'UTF8String'}; +avp_name(1033, 10415) -> + {'Event-Report-Indication', 'Grouped'}; +avp_name(1006, 10415) -> + {'Event-Trigger', 'Enumerated'}; +avp_name(2825, 10415) -> + {'Fixed-User-Location-Info', 'Grouped'}; +avp_name(1080, 10415) -> + {'Flow-Direction', 'Enumerated'}; +avp_name(1058, 10415) -> + {'Flow-Information', 'Grouped'}; +avp_name(1057, 10415) -> {'Flow-Label', 'OctetString'}; +avp_name(1025, 10415) -> + {'Guaranteed-Bitrate-DL', 'Unsigned32'}; +avp_name(1026, 10415) -> + {'Guaranteed-Bitrate-UL', 'Unsigned32'}; +avp_name(2804, 10415) -> + {'HeNB-Local-IP-Address', 'Address'}; +avp_name(2827, 10415) -> + {'IP-CAN-Session-Charging-Scope', 'Enumerated'}; +avp_name(1027, 10415) -> {'IP-CAN-Type', 'Enumerated'}; +avp_name(1007, 10415) -> + {'Metering-Method', 'Enumerated'}; +avp_name(1066, 10415) -> + {'Monitoring-Key', 'OctetString'}; +avp_name(2810, 10415) -> {'Monitoring-Time', 'Time'}; +avp_name(2809, 10415) -> + {'Mute-Notification', 'Enumerated'}; +avp_name(2824, 10415) -> + {'NetLoc-Access-Support', 'Unsigned32'}; +avp_name(1024, 10415) -> + {'Network-Request-Support', 'Enumerated'}; +avp_name(1008, 10415) -> {'Offline', 'Enumerated'}; +avp_name(1009, 10415) -> {'Online', 'Enumerated'}; +avp_name(1019, 10415) -> + {'PCC-Rule-Status', 'Enumerated'}; +avp_name(2826, 10415) -> + {'PCSCF-Restoration-Indication', 'Unsigned32'}; +avp_name(1065, 10415) -> + {'PDN-Connection-ID', 'OctetString'}; +avp_name(1099, 10415) -> + {'PS-to-CS-Session-Continuity', 'Enumerated'}; +avp_name(1059, 10415) -> + {'Packet-Filter-Content', 'IPFilterRule'}; +avp_name(1060, 10415) -> + {'Packet-Filter-Identifier', 'OctetString'}; +avp_name(1061, 10415) -> + {'Packet-Filter-Information', 'Grouped'}; +avp_name(1062, 10415) -> + {'Packet-Filter-Operation', 'Enumerated'}; +avp_name(1072, 10415) -> + {'Packet-Filter-Usage', 'Enumerated'}; +avp_name(1047, 10415) -> + {'Pre-emption-Capability', 'Enumerated'}; +avp_name(1048, 10415) -> + {'Pre-emption-Vulnerability', 'Enumerated'}; +avp_name(1010, 10415) -> {'Precedence', 'Unsigned32'}; +avp_name(2820, 10415) -> + {'Presence-Reporting-Area-Elements-List', + 'OctetString'}; +avp_name(2821, 10415) -> + {'Presence-Reporting-Area-Identifier', 'OctetString'}; +avp_name(2822, 10415) -> + {'Presence-Reporting-Area-Information', 'Grouped'}; +avp_name(2823, 10415) -> + {'Presence-Reporting-Area-Status', 'Unsigned32'}; +avp_name(1046, 10415) -> + {'Priority-Level', 'Unsigned32'}; +avp_name(1028, 10415) -> + {'QoS-Class-Identifier', 'Enumerated'}; +avp_name(1016, 10415) -> {'QoS-Information', 'Grouped'}; +avp_name(1029, 10415) -> + {'QoS-Negotiation', 'Enumerated'}; +avp_name(1030, 10415) -> {'QoS-Upgrade', 'Enumerated'}; +avp_name(2819, 10415) -> + {'RAN-NAS-Release-Cause', 'OctetString'}; +avp_name(1032, 10415) -> {'RAT-Type', 'Enumerated'}; +avp_name(1085, 10415) -> + {'Redirect-Information', 'Grouped'}; +avp_name(1086, 10415) -> + {'Redirect-Support', 'Enumerated'}; +avp_name(1011, 10415) -> + {'Reporting-Level', 'Enumerated'}; +avp_name(1063, 10415) -> + {'Resource-Allocation-Notification', 'Enumerated'}; +avp_name(1042, 10415) -> {'Revalidation-Time', 'Time'}; +avp_name(1078, 10415) -> {'Routing-Filter', 'Grouped'}; +avp_name(1079, 10415) -> + {'Routing-IP-Address', 'Address'}; +avp_name(1076, 10415) -> + {'Routing-Rule-Definition', 'Grouped'}; +avp_name(1077, 10415) -> + {'Routing-Rule-Identifier', 'OctetString'}; +avp_name(1081, 10415) -> + {'Routing-Rule-Install', 'Grouped'}; +avp_name(1075, 10415) -> + {'Routing-Rule-Remove', 'Grouped'}; +avp_name(1043, 10415) -> + {'Rule-Activation-Time', 'Time'}; +avp_name(1044, 10415) -> + {'Rule-Deactivation-Time', 'Time'}; +avp_name(1031, 10415) -> + {'Rule-Failure-Code', 'Enumerated'}; +avp_name(1056, 10415) -> + {'Security-Parameter-Index', 'OctetString'}; +avp_name(1045, 10415) -> + {'Session-Release-Cause', 'Enumerated'}; +avp_name(1088, 10415) -> + {'TDF-Application-Identifier', 'OctetString'}; +avp_name(2802, 10415) -> + {'TDF-Application-Instance-Identifier', 'OctetString'}; +avp_name(1089, 10415) -> + {'TDF-Destination-Host', 'DiameterIdentity'}; +avp_name(1090, 10415) -> + {'TDF-Destination-Realm', 'DiameterIdentity'}; +avp_name(1091, 10415) -> {'TDF-IP-Address', 'Address'}; +avp_name(1087, 10415) -> {'TDF-Information', 'Grouped'}; +avp_name(1012, 10415) -> {'TFT-Filter', 'IPFilterRule'}; +avp_name(1013, 10415) -> + {'TFT-Packet-Filter-Information', 'Grouped'}; +avp_name(1014, 10415) -> + {'ToS-Traffic-Class', 'OctetString'}; +avp_name(1036, 10415) -> + {'Tunnel-Header-Filter', 'IPFilterRule'}; +avp_name(1037, 10415) -> + {'Tunnel-Header-Length', 'Unsigned32'}; +avp_name(1038, 10415) -> + {'Tunnel-Information', 'Grouped'}; +avp_name(2806, 10415) -> + {'UDP-Source-Port', 'Unsigned32'}; +avp_name(2805, 10415) -> + {'UE-Local-IP-Address', 'Address'}; +avp_name(1067, 10415) -> + {'Usage-Monitoring-Information', 'Grouped'}; +avp_name(1068, 10415) -> + {'Usage-Monitoring-Level', 'Enumerated'}; +avp_name(1069, 10415) -> + {'Usage-Monitoring-Report', 'Enumerated'}; +avp_name(1070, 10415) -> + {'Usage-Monitoring-Support', 'Enumerated'}; +avp_name(2812, 10415) -> + {'User-Location-Info-Time', 'Time'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(84, undefined) -> + {'ARAP-Challenge-Response', 'OctetString'}; +avp_name(71, undefined) -> + {'ARAP-Features', 'OctetString'}; +avp_name(70, undefined) -> + {'ARAP-Password', 'OctetString'}; +avp_name(73, undefined) -> + {'ARAP-Security', 'Unsigned32'}; +avp_name(74, undefined) -> + {'ARAP-Security-Data', 'OctetString'}; +avp_name(72, undefined) -> + {'ARAP-Zone-Access', 'Enumerated'}; +avp_name(406, undefined) -> + {'Accounting-Auth-Method', 'Enumerated'}; +avp_name(363, undefined) -> + {'Accounting-Input-Octets', 'Unsigned64'}; +avp_name(365, undefined) -> + {'Accounting-Input-Packets', 'Unsigned64'}; +avp_name(364, undefined) -> + {'Accounting-Output-Octets', 'Unsigned64'}; +avp_name(366, undefined) -> + {'Accounting-Output-Packets', 'Unsigned64'}; +avp_name(45, undefined) -> + {'Acct-Authentic', 'Enumerated'}; +avp_name(41, undefined) -> + {'Acct-Delay-Time', 'Unsigned32'}; +avp_name(51, undefined) -> + {'Acct-Link-Count', 'Unsigned32'}; +avp_name(46, undefined) -> + {'Acct-Session-Time', 'Unsigned32'}; +avp_name(68, undefined) -> + {'Acct-Tunnel-Connection', 'OctetString'}; +avp_name(86, undefined) -> + {'Acct-Tunnel-Packets-Lost', 'Unsigned32'}; +avp_name(403, undefined) -> + {'CHAP-Algorithm', 'Enumerated'}; +avp_name(402, undefined) -> {'CHAP-Auth', 'Grouped'}; +avp_name(60, undefined) -> + {'CHAP-Challenge', 'OctetString'}; +avp_name(404, undefined) -> + {'CHAP-Ident', 'OctetString'}; +avp_name(405, undefined) -> + {'CHAP-Response', 'OctetString'}; +avp_name(20, undefined) -> + {'Callback-Id', 'UTF8String'}; +avp_name(19, undefined) -> + {'Callback-Number', 'UTF8String'}; +avp_name(30, undefined) -> + {'Called-Station-Id', 'UTF8String'}; +avp_name(31, undefined) -> + {'Calling-Station-Id', 'UTF8String'}; +avp_name(78, undefined) -> + {'Configuration-Token', 'OctetString'}; +avp_name(77, undefined) -> + {'Connect-Info', 'UTF8String'}; +avp_name(11, undefined) -> {'Filter-Id', 'UTF8String'}; +avp_name(37, undefined) -> + {'Framed-AppleTalk-Link', 'Unsigned32'}; +avp_name(38, undefined) -> + {'Framed-AppleTalk-Network', 'Unsigned32'}; +avp_name(39, undefined) -> + {'Framed-AppleTalk-Zone', 'OctetString'}; +avp_name(13, undefined) -> + {'Framed-Compression', 'Enumerated'}; +avp_name(8, undefined) -> + {'Framed-IP-Address', 'OctetString'}; +avp_name(9, undefined) -> + {'Framed-IP-Netmask', 'OctetString'}; +avp_name(23, undefined) -> + {'Framed-IPX-Network', 'UTF8String'}; +avp_name(100, undefined) -> + {'Framed-IPv6-Pool', 'OctetString'}; +avp_name(97, undefined) -> + {'Framed-IPv6-Prefix', 'OctetString'}; +avp_name(99, undefined) -> + {'Framed-IPv6-Route', 'UTF8String'}; +avp_name(96, undefined) -> + {'Framed-Interface-Id', 'Unsigned64'}; +avp_name(12, undefined) -> {'Framed-MTU', 'Unsigned32'}; +avp_name(88, undefined) -> + {'Framed-Pool', 'OctetString'}; +avp_name(7, undefined) -> + {'Framed-Protocol', 'Enumerated'}; +avp_name(22, undefined) -> + {'Framed-Route', 'UTF8String'}; +avp_name(10, undefined) -> + {'Framed-Routing', 'Enumerated'}; +avp_name(28, undefined) -> + {'Idle-Timeout', 'Unsigned32'}; +avp_name(14, undefined) -> + {'Login-IP-Host', 'OctetString'}; +avp_name(98, undefined) -> + {'Login-IPv6-Host', 'OctetString'}; +avp_name(36, undefined) -> + {'Login-LAT-Group', 'OctetString'}; +avp_name(35, undefined) -> + {'Login-LAT-Node', 'OctetString'}; +avp_name(63, undefined) -> + {'Login-LAT-Port', 'OctetString'}; +avp_name(34, undefined) -> + {'Login-LAT-Service', 'OctetString'}; +avp_name(15, undefined) -> + {'Login-Service', 'Enumerated'}; +avp_name(16, undefined) -> + {'Login-TCP-Port', 'Unsigned32'}; +avp_name(400, undefined) -> + {'NAS-Filter-Rule', 'IPFilterRule'}; +avp_name(4, undefined) -> + {'NAS-IP-Address', 'OctetString'}; +avp_name(95, undefined) -> + {'NAS-IPv6-Address', 'OctetString'}; +avp_name(32, undefined) -> + {'NAS-Identifier', 'UTF8String'}; +avp_name(5, undefined) -> {'NAS-Port', 'Unsigned32'}; +avp_name(87, undefined) -> + {'NAS-Port-Id', 'UTF8String'}; +avp_name(61, undefined) -> + {'NAS-Port-Type', 'Enumerated'}; +avp_name(408, undefined) -> + {'Origin-AAA-Protocol', 'Enumerated'}; +avp_name(94, undefined) -> + {'Originating-Line-Info', 'OctetString'}; +avp_name(75, undefined) -> + {'Password-Retry', 'Unsigned32'}; +avp_name(62, undefined) -> {'Port-Limit', 'Unsigned32'}; +avp_name(76, undefined) -> {'Prompt', 'Enumerated'}; +avp_name(407, undefined) -> + {'QoS-Filter-Rule', 'QoSFilterRule'}; +avp_name(18, undefined) -> + {'Reply-Message', 'UTF8String'}; +avp_name(6, undefined) -> + {'Service-Type', 'Enumerated'}; +avp_name(24, undefined) -> {'State', 'OctetString'}; +avp_name(82, undefined) -> + {'Tunnel-Assignment-Id', 'OctetString'}; +avp_name(90, undefined) -> + {'Tunnel-Client-Auth-Id', 'UTF8String'}; +avp_name(66, undefined) -> + {'Tunnel-Client-Endpoint', 'UTF8String'}; +avp_name(65, undefined) -> + {'Tunnel-Medium-Type', 'Enumerated'}; +avp_name(69, undefined) -> + {'Tunnel-Password', 'OctetString'}; +avp_name(83, undefined) -> + {'Tunnel-Preference', 'Unsigned32'}; +avp_name(81, undefined) -> + {'Tunnel-Private-Group-Id', 'OctetString'}; +avp_name(91, undefined) -> + {'Tunnel-Server-Auth-Id', 'UTF8String'}; +avp_name(67, undefined) -> + {'Tunnel-Server-Endpoint', 'UTF8String'}; +avp_name(64, undefined) -> + {'Tunnel-Type', 'Enumerated'}; +avp_name(401, undefined) -> {'Tunneling', 'Grouped'}; +avp_name(2, undefined) -> + {'User-Password', 'OctetString'}; +avp_name(411, undefined) -> + {'CC-Correlation-Id', 'OctetString'}; +avp_name(412, undefined) -> + {'CC-Input-Octets', 'Unsigned64'}; +avp_name(413, undefined) -> {'CC-Money', 'Grouped'}; +avp_name(414, undefined) -> + {'CC-Output-Octets', 'Unsigned64'}; +avp_name(415, undefined) -> + {'CC-Request-Number', 'Unsigned32'}; +avp_name(416, undefined) -> + {'CC-Request-Type', 'Enumerated'}; +avp_name(417, undefined) -> + {'CC-Service-Specific-Units', 'Unsigned64'}; +avp_name(418, undefined) -> + {'CC-Session-Failover', 'Enumerated'}; +avp_name(419, undefined) -> + {'CC-Sub-Session-Id', 'Unsigned64'}; +avp_name(420, undefined) -> {'CC-Time', 'Unsigned32'}; +avp_name(421, undefined) -> + {'CC-Total-Octets', 'Unsigned64'}; +avp_name(454, undefined) -> + {'CC-Unit-Type', 'Enumerated'}; +avp_name(422, undefined) -> + {'Check-Balance-Result', 'Enumerated'}; +avp_name(423, undefined) -> + {'Cost-Information', 'Grouped'}; +avp_name(424, undefined) -> {'Cost-Unit', 'UTF8String'}; +avp_name(426, undefined) -> + {'Credit-Control', 'Enumerated'}; +avp_name(427, undefined) -> + {'Credit-Control-Failure-Handling', 'Enumerated'}; +avp_name(425, undefined) -> + {'Currency-Code', 'Unsigned32'}; +avp_name(428, undefined) -> + {'Direct-Debiting-Failure-Handling', 'Enumerated'}; +avp_name(429, undefined) -> {'Exponent', 'Integer32'}; +avp_name(449, undefined) -> + {'Final-Unit-Action', 'Enumerated'}; +avp_name(430, undefined) -> + {'Final-Unit-Indication', 'Grouped'}; +avp_name(453, undefined) -> + {'G-S-U-Pool-Identifier', 'Unsigned32'}; +avp_name(457, undefined) -> + {'G-S-U-Pool-Reference', 'Grouped'}; +avp_name(431, undefined) -> + {'Granted-Service-Unit', 'Grouped'}; +avp_name(456, undefined) -> + {'Multiple-Services-Credit-Control', 'Grouped'}; +avp_name(455, undefined) -> + {'Multiple-Services-Indicator', 'Enumerated'}; +avp_name(432, undefined) -> + {'Rating-Group', 'Unsigned32'}; +avp_name(433, undefined) -> + {'Redirect-Address-Type', 'Enumerated'}; +avp_name(434, undefined) -> + {'Redirect-Server', 'Grouped'}; +avp_name(435, undefined) -> + {'Redirect-Server-Address', 'UTF8String'}; +avp_name(436, undefined) -> + {'Requested-Action', 'Enumerated'}; +avp_name(437, undefined) -> + {'Requested-Service-Unit', 'Grouped'}; +avp_name(438, undefined) -> + {'Restriction-Filter-Rule', 'IPFilterRule'}; +avp_name(461, undefined) -> + {'Service-Context-Id', 'UTF8String'}; +avp_name(439, undefined) -> + {'Service-Identifier', 'Unsigned32'}; +avp_name(440, undefined) -> + {'Service-Parameter-Info', 'Grouped'}; +avp_name(441, undefined) -> + {'Service-Parameter-Type', 'Unsigned32'}; +avp_name(442, undefined) -> + {'Service-Parameter-Value', 'OctetString'}; +avp_name(443, undefined) -> + {'Subscription-Id', 'Grouped'}; +avp_name(444, undefined) -> + {'Subscription-Id-Data', 'UTF8String'}; +avp_name(450, undefined) -> + {'Subscription-Id-Type', 'Enumerated'}; +avp_name(452, undefined) -> + {'Tariff-Change-Usage', 'Enumerated'}; +avp_name(451, undefined) -> + {'Tariff-Time-Change', 'Time'}; +avp_name(445, undefined) -> {'Unit-Value', 'Grouped'}; +avp_name(446, undefined) -> + {'Used-Service-Unit', 'Grouped'}; +avp_name(458, undefined) -> + {'User-Equipment-Info', 'Grouped'}; +avp_name(459, undefined) -> + {'User-Equipment-Info-Type', 'Enumerated'}; +avp_name(460, undefined) -> + {'User-Equipment-Info-Value', 'OctetString'}; +avp_name(448, undefined) -> + {'Validity-Time', 'Unsigned32'}; +avp_name(447, undefined) -> + {'Value-Digits', 'Integer64'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(301, 13019) -> + {'Address-Realm', 'OctetString'}; +avp_name(307, 13019) -> + {'Aggregation-Network-Type', 'Enumerated'}; +avp_name(312, 13019) -> + {'Application-Class-ID', 'UTF8String'}; +avp_name(305, 13019) -> + {'IP-Connectivity-Status', 'Enumerated'}; +avp_name(314, 13019) -> + {'Initial-Gate-Setting-ID', 'Unsigned32'}; +avp_name(302, 13019) -> + {'Logical-Access-ID', 'OctetString'}; +avp_name(309, 13019) -> + {'Maximum-Allowed-Bandwidth-DL', 'Unsigned32'}; +avp_name(308, 13019) -> + {'Maximum-Allowed-Bandwidth-UL', 'Unsigned32'}; +avp_name(313, 13019) -> + {'Physical-Access-ID', 'UTF8String'}; +avp_name(315, 13019) -> + {'QoS-Profile-ID', 'Unsigned32'}; +avp_name(311, 13019) -> + {'Transport-Class', 'Unsigned32'}; +avp_name(910, 10415) -> + {'Additional-MBMS-Trace-Info', 'OctetString'}; +avp_name(905, 10415) -> + {'Alternative-APN', 'UTF8String'}; +avp_name(921, 10415) -> + {'CN-IP-Multicast-Distribution', 'Enumerated'}; +avp_name(907, undefined) -> + {'MBMS-2G-3G-Indicator', 'Enumerated'}; +avp_name(918, 10415) -> + {'MBMS-BMSC-SSM-IP-Address', 'OctetString'}; +avp_name(919, 10415) -> + {'MBMS-BMSC-SSM-IPv6-Address', 'OctetString'}; +avp_name(914, 10415) -> + {'MBMS-Counting-Information', 'Enumerated'}; +avp_name(920, 10415) -> + {'MBMS-Flow-Identifier', 'OctetString'}; +avp_name(916, 10415) -> + {'MBMS-GGSN-Address', 'OctetString'}; +avp_name(917, 10415) -> + {'MBMS-GGSN-IPv6-Address', 'OctetString'}; +avp_name(922, 10415) -> + {'MBMS-HC-Indicator', 'Enumerated'}; +avp_name(913, 10415) -> + {'MBMS-Required-QoS', 'UTF8String'}; +avp_name(903, 10415) -> + {'MBMS-Service-Area', 'OctetString'}; +avp_name(906, 10415) -> + {'MBMS-Service-Type', 'Enumerated'}; +avp_name(904, 10415) -> + {'MBMS-Session-Duration', 'OctetString'}; +avp_name(908, 10415) -> + {'MBMS-Session-Identity', 'OctetString'}; +avp_name(912, 10415) -> + {'MBMS-Session-Repetition-Number', 'OctetString'}; +avp_name(902, 10415) -> + {'MBMS-StartStop-Indication', 'Enumerated'}; +avp_name(911, 10415) -> + {'MBMS-Time-To-Data-Transfer', 'OctetString'}; +avp_name(915, 10415) -> + {'MBMS-User-Data-Mode-Indication', 'Enumerated'}; +avp_name(909, undefined) -> {'RAI', 'UTF8String'}; +avp_name(901, 10415) -> + {'Required-MBMS-Bearer-Capabilities', 'UTF8String'}; +avp_name(900, 10415) -> {'TMGI', 'OctetString'}; +avp_name(504, 10415) -> + {'AF-Application-Identifier', 'OctetString'}; +avp_name(505, 10415) -> + {'AF-Charging-Identifier', 'OctetString'}; +avp_name(529, 10415) -> + {'AF-Signalling-Protocol', 'Enumerated'}; +avp_name(500, 10415) -> {'Abort-Cause', 'Enumerated'}; +avp_name(501, 10415) -> + {'Access-Network-Charging-Address', 'Address'}; +avp_name(503, 10415) -> + {'Access-Network-Charging-Identifier-Value', + 'OctetString'}; +avp_name(532, 10415) -> + {'Application-Service-Provider-Identity', 'UTF8String'}; +avp_name(524, 10415) -> {'Codec-Data', 'OctetString'}; +avp_name(507, 10415) -> + {'Flow-Description', 'IPFilterRule'}; +avp_name(509, 10415) -> {'Flow-Number', 'Unsigned32'}; +avp_name(511, 10415) -> {'Flow-Status', 'Enumerated'}; +avp_name(512, 10415) -> {'Flow-Usage', 'Enumerated'}; +avp_name(510, 10415) -> {'Flows', 'Grouped'}; +avp_name(538, 10415) -> + {'GCS-Identifier', 'OctetString'}; +avp_name(537, 10415) -> {'IP-Domain-Id', 'OctetString'}; +avp_name(528, 10415) -> + {'MPS-Identifier', 'OctetString'}; +avp_name(515, 10415) -> + {'Max-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(516, 10415) -> + {'Max-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(518, 10415) -> + {'Media-Component-Number', 'Unsigned32'}; +avp_name(520, 10415) -> {'Media-Type', 'Enumerated'}; +avp_name(534, 10415) -> + {'Min-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(535, 10415) -> + {'Min-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(521, 10415) -> {'RR-Bandwidth', 'Unsigned32'}; +avp_name(522, 10415) -> {'RS-Bandwidth', 'Unsigned32'}; +avp_name(536, 10415) -> + {'Required-Access-Info', 'Enumerated'}; +avp_name(533, 10415) -> + {'Rx-Request-Type', 'Enumerated'}; +avp_name(523, 10415) -> + {'SIP-Forking-Indication', 'Enumerated'}; +avp_name(527, 10415) -> + {'Service-Info-Status', 'Enumerated'}; +avp_name(525, 10415) -> {'Service-URN', 'OctetString'}; +avp_name(513, 10415) -> + {'Specific-Action', 'Enumerated'}; +avp_name(531, 10415) -> + {'Sponsor-Identity', 'UTF8String'}; +avp_name(643, 10415) -> + {'Call-ID-SIP-Header', 'OctetString'}; +avp_name(618, 10415) -> + {'Charging-Information', 'Grouped'}; +avp_name(625, 10415) -> + {'Confidentiality-Key', 'OctetString'}; +avp_name(641, 10415) -> {'Contact', 'OctetString'}; +avp_name(615, 10415) -> + {'Deregistration-Reason', 'Grouped'}; +avp_name(111, undefined) -> + {'Digest-Algorithm', 'UTF8String'}; +avp_name(121, undefined) -> + {'Digest-HA1', 'UTF8String'}; +avp_name(110, undefined) -> + {'Digest-QoP', 'UTF8String'}; +avp_name(104, undefined) -> + {'Digest-Realm', 'UTF8String'}; +avp_name(630, 10415) -> {'Feature-List', 'Unsigned32'}; +avp_name(629, 10415) -> + {'Feature-List-ID', 'Unsigned32'}; +avp_name(644, 10415) -> + {'From-SIP-Header', 'OctetString'}; +avp_name(654, 10415) -> + {'Initial-CSeq-Sequence-Number', 'Unsigned32'}; +avp_name(626, 10415) -> + {'Integrity-Key', 'OctetString'}; +avp_name(653, 10415) -> {'LIA-Flags', 'Unsigned32'}; +avp_name(638, 10415) -> + {'Loose-Route-Indication', 'Enumerated'}; +avp_name(604, 10415) -> + {'Mandatory-Capability', 'Unsigned32'}; +avp_name(648, 10415) -> + {'Multiple-Registration-Indication', 'Enumerated'}; +avp_name(605, 10415) -> + {'Optional-Capability', 'Unsigned32'}; +avp_name(633, 10415) -> + {'Originating-Request', 'Enumerated'}; +avp_name(640, 10415) -> {'Path', 'OctetString'}; +avp_name(621, 10415) -> + {'Primary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(619, 10415) -> + {'Primary-Event-Charging-Function-Name', 'DiameterURI'}; +avp_name(652, 10415) -> + {'Priviledged-Sender-Indication', 'Enumerated'}; +avp_name(601, 10415) -> + {'Public-Identity', 'UTF8String'}; +avp_name(616, 10415) -> {'Reason-Code', 'Enumerated'}; +avp_name(617, 10415) -> {'Reason-Info', 'UTF8String'}; +avp_name(646, 10415) -> {'Record-Route', 'OctetString'}; +avp_name(655, 10415) -> {'SAR-Flags', 'Unsigned32'}; +avp_name(612, 10415) -> + {'SIP-Auth-Data-Item', 'Grouped'}; +avp_name(609, 10415) -> + {'SIP-Authenticate', 'OctetString'}; +avp_name(611, 10415) -> + {'SIP-Authentication-Context', 'OctetString'}; +avp_name(608, 10415) -> + {'SIP-Authentication-Scheme', 'UTF8String'}; +avp_name(610, 10415) -> + {'SIP-Authorization', 'OctetString'}; +avp_name(635, 10415) -> + {'SIP-Digest-Authenticate', 'Grouped'}; +avp_name(613, 10415) -> + {'SIP-Item-Number', 'Unsigned32'}; +avp_name(607, 10415) -> + {'SIP-Number-Auth-Items', 'Unsigned32'}; +avp_name(622, 10415) -> + {'Secondary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(620, 10415) -> + {'Secondary-Event-Charging-Function-Name', + 'DiameterURI'}; +avp_name(614, 10415) -> + {'Server-Assignment-Type', 'Enumerated'}; +avp_name(602, 10415) -> {'Server-Name', 'UTF8String'}; +avp_name(650, 10415) -> + {'Session-Priority', 'Enumerated'}; +avp_name(631, 10415) -> + {'Supported-Applications', 'Grouped'}; +avp_name(628, 10415) -> + {'Supported-Features', 'Grouped'}; +avp_name(645, 10415) -> + {'To-SIP-Header', 'OctetString'}; +avp_name(637, 10415) -> {'UAR-Flags', 'Unsigned32'}; +avp_name(623, 10415) -> + {'User-Authorization-Type', 'Enumerated'}; +avp_name(606, 10415) -> {'User-Data', 'OctetString'}; +avp_name(624, 10415) -> + {'User-Data-Already-Available', 'Enumerated'}; +avp_name(600, 10415) -> + {'Visited-Network-Identifier', 'OctetString'}; +avp_name(634, 10415) -> + {'Wildcarded-Public-Identity', 'UTF8String'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('CCR') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'CC-Request-Type', 1}, + {'CC-Request-Number', 1}, + {'Credit-Management-Status', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Subscription-Id', {0, '*'}}, + {'Supported-Features', {0, '*'}}, + {'TDF-Information', {0, 1}}, + {'Network-Request-Support', {0, 1}}, + {'Packet-Filter-Information', {0, '*'}}, + {'Packet-Filter-Operation', {0, 1}}, + {'Bearer-Identifier', {0, 1}}, + {'Bearer-Operation', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'IP-CAN-Type', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'Termination-Cause', {0, 1}}, + {'User-Equipment-Info', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'QoS-Negotiation', {0, 1}}, + {'QoS-Upgrade', {0, 1}}, + {'Default-EPS-Bearer-QoS', {0, 1}}, + {'Default-QoS-Information', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'AN-GW-Status', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'3GPP-GGSN-Address', {0, 1}}, + {'3GPP-GGSN-IPv6-Address', {0, 1}}, + {'3GPP-Selection-Mode', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'User-Location-Info-Time', {0, 1}}, + {'TWAN-Identifier', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'RAN-NAS-Release-Cause', {0, '*'}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'PDN-Connection-ID', {0, 1}}, + {'Bearer-Usage', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'TFT-Packet-Filter-Information', {0, '*'}}, + {'Charging-Rule-Report', {0, '*'}}, + {'Application-Detection-Information', {0, '*'}}, + {'Event-Trigger', {0, '*'}}, + {'Event-Report-Indication', {0, 1}}, + {'Access-Network-Charging-Address', {0, 1}}, + {'Access-Network-Charging-Identifier-Gx', {0, '*'}}, + {'CoA-Information', {0, '*'}}, + {'Usage-Monitoring-Information', {0, '*'}}, + {'Routing-Rule-Install', {0, 1}}, + {'Routing-Rule-Remove', {0, 1}}, + {'HeNB-Local-IP-Address', {0, 1}}, + {'UE-Local-IP-Address', {0, 1}}, + {'UDP-Source-Port', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CCA') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'CC-Request-Type', 1}, + {'CC-Request-Number', 1}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Bearer-Control-Mode', {0, 1}}, + {'Event-Trigger', {0, '*'}}, + {'Event-Report-Indication', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Redirect-Host', {0, '*'}}, + {'Redirect-Host-Usage', {0, 1}}, + {'Redirect-Max-Cache-Time', {0, 1}}, + {'Charging-Rule-Remove', {0, '*'}}, + {'Charging-Rule-Install', {0, '*'}}, + {'Charging-Information', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'QoS-Information', {0, '*'}}, + {'Revalidation-Time', {0, 1}}, + {'Default-EPS-Bearer-QoS', {0, 1}}, + {'Default-QoS-Information', {0, 1}}, + {'Bearer-Usage', {0, 1}}, + {'Usage-Monitoring-Information', {0, '*'}}, + {'CSG-Information-Reporting', {0, '*'}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'Session-Release-Cause', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('RAR') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'Re-Auth-Request-Type', 1}, + {'Session-Release-Cause', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Event-Trigger', {0, '*'}}, + {'Event-Report-Indication', {0, 1}}, + {'Charging-Rule-Remove', {0, '*'}}, + {'Charging-Rule-Install', {0, '*'}}, + {'Default-EPS-Bearer-QoS', {0, 1}}, + {'QoS-Information', {0, '*'}}, + {'Default-QoS-Information', {0, 1}}, + {'Revalidation-Time', {0, 1}}, + {'Usage-Monitoring-Information', {0, '*'}}, + {'PCSCF-Restoration-Indication', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('RAA') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'IP-CAN-Type', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'User-Location-Info-Time', {0, 1}}, + {'NetLoc-Access-Support', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Default-QoS-Information', {0, 1}}, + {'Charging-Rule-Report', {0, '*'}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Charging-Identifier-Gx') -> + [{'Access-Network-Charging-Identifier-Value', 1}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'IP-CAN-Session-Charging-Scope', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Allocation-Retention-Priority') -> + [{'Priority-Level', 1}, + {'Pre-emption-Capability', {0, 1}}, + {'Pre-emption-Vulnerability', {0, 1}}]; +avp_arity('Application-Detection-Information') -> + [{'TDF-Application-Identifier', 1}, + {'TDF-Application-Instance-Identifier', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Definition') -> + [{'Charging-Rule-Name', 1}, + {'Service-Identifier', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'TDF-Application-Identifier', {0, 1}}, + {'Flow-Status', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'PS-to-CS-Session-Continuity', {0, 1}}, + {'Reporting-Level', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'Metering-Method', {0, 1}}, + {'Precedence', {0, 1}}, + {'AF-Charging-Identifier', {0, 1}}, + {'Flows', {0, '*'}}, + {'Monitoring-Key', {0, 1}}, + {'Redirect-Information', {0, 1}}, + {'Mute-Notification', {0, 1}}, + {'AF-Signalling-Protocol', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Install') -> + [{'Charging-Rule-Definition', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'Rule-Activation-Time', {0, 1}}, + {'Rule-Deactivation-Time', {0, 1}}, + {'Resource-Allocation-Notification', {0, 1}}, + {'Charging-Correlation-Indicator', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Remove') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Report') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'PCC-Rule-Status', {0, 1}}, + {'Rule-Failure-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'RAN-NAS-Release-Cause', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CoA-Information') -> + [{'Tunnel-Information', 1}, + {'CoA-IP-Address', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate') -> + [{'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'IP-CAN-Type', {0, '*'}}, + {'RAT-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-EPS-Bearer-QoS') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Default-QoS-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Event-Report-Indication') -> + [{'Event-Trigger', {0, '*'}}, + {'IP-CAN-Type', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'UE-Local-IP-Address', {0, 1}}, + {'HeNB-Local-IP-Address', {0, 1}}, + {'UDP-Source-Port', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Fixed-User-Location-Info') -> + [{'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flow-Information') -> + [{'Flow-Description', {0, 1}}, + {'Packet-Filter-Identifier', {0, 1}}, + {'Packet-Filter-Usage', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Packet-Filter-Information') -> + [{'Packet-Filter-Identifier', {0, 1}}, + {'Precedence', {0, 1}}, + {'Packet-Filter-Content', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Presence-Reporting-Area-Information') -> + [{'Presence-Reporting-Area-Identifier', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'Presence-Reporting-Area-Elements-List', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Guaranteed-Bitrate-UL', {0, 1}}, + {'Guaranteed-Bitrate-DL', {0, 1}}, + {'Bearer-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'Conditional-APN-Aggregate-Max-Bitrate', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Redirect-Information') -> + [{'Redirect-Support', {0, 1}}, + {'Redirect-Address-Type', {0, 1}}, + {'Redirect-Server-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Filter') -> + [{'Flow-Description', 1}, + {'Flow-Direction', 1}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Definition') -> + [{'Routing-Rule-Identifier', 1}, + {'Routing-Filter', {0, '*'}}, + {'Precedence', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Install') -> + [{'Routing-Rule-Definition', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Remove') -> + [{'Routing-Rule-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('TDF-Information') -> + [{'TDF-Destination-Realm', {0, 1}}, + {'TDF-Destination-Host', {0, 1}}, + {'TDF-IP-Address', {0, 1}}]; +avp_arity('Tunnel-Information') -> + [{'Tunnel-Header-Length', {0, 1}}, + {'Tunnel-Header-Filter', {0, 2}}, + {'AVP', {0, '*'}}]; +avp_arity('TFT-Packet-Filter-Information') -> + [{'Precedence', {0, 1}}, + {'TFT-Filter', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Usage-Monitoring-Information') -> + [{'Monitoring-Key', {0, 1}}, + {'Granted-Service-Unit', {0, 2}}, + {'Used-Service-Unit', {0, 2}}, + {'Usage-Monitoring-Level', {0, 1}}, + {'Usage-Monitoring-Report', {0, 1}}, + {'Usage-Monitoring-Support', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('CHAP-Auth') -> + [{'CHAP-Algorithm', 1}, + {'CHAP-Ident', 1}, + {'CHAP-Response', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Tunneling') -> + [{'Tunnel-Type', 1}, + {'Tunnel-Medium-Type', 1}, + {'Tunnel-Client-Endpoint', 1}, + {'Tunnel-Server-Endpoint', 1}, + {'Tunnel-Preference', {0, 1}}, + {'Tunnel-Client-Auth-Id', {0, 1}}, + {'Tunnel-Server-Auth-Id', {0, 1}}, + {'Tunnel-Assignment-Id', {0, 1}}, + {'Tunnel-Password', {0, 1}}, + {'Tunnel-Private-Group-Id', {0, 1}}]; +avp_arity('Cost-Information') -> + [{'Unit-Value', 1}, + {'Currency-Code', 1}, + {'Cost-Unit', {0, 1}}]; +avp_arity('Unit-Value') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Multiple-Services-Credit-Control') -> + [{'Granted-Service-Unit', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Tariff-Change-Usage', {0, 1}}, + {'Service-Identifier', {0, '*'}}, + {'Rating-Group', {0, 1}}, + {'G-S-U-Pool-Reference', {0, '*'}}, + {'Validity-Time', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Granted-Service-Unit') -> + [{'Tariff-Time-Change', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-Service-Unit') -> + [{'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Used-Service-Unit') -> + [{'Tariff-Change-Usage', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CC-Money') -> + [{'Unit-Value', 1}, {'Currency-Code', {0, 1}}]; +avp_arity('G-S-U-Pool-Reference') -> + [{'G-S-U-Pool-Identifier', 1}, + {'CC-Unit-Type', 1}, + {'Unit-Value', 1}]; +avp_arity('Final-Unit-Indication') -> + [{'Final-Unit-Action', 1}, + {'Restriction-Filter-Rule', {0, '*'}}, + {'Filter-Id', {0, '*'}}, + {'Redirect-Server', {0, 1}}]; +avp_arity('Redirect-Server') -> + [{'Redirect-Address-Type', 1}, + {'Redirect-Server-Address', 1}]; +avp_arity('Service-Parameter-Info') -> + [{'Service-Parameter-Type', 1}, + {'Service-Parameter-Value', 1}]; +avp_arity('Subscription-Id') -> + [{'Subscription-Id-Type', 1}, + {'Subscription-Id-Data', 1}]; +avp_arity('User-Equipment-Info') -> + [{'User-Equipment-Info-Type', 1}, + {'User-Equipment-Info-Value', 1}]; +avp_arity('Flows') -> + [{'Media-Component-Number', 1}, + {'Flow-Number', {0, '*'}}, + {'Final-Unit-Action', {0, 1}}]; +avp_arity('Charging-Information') -> + [{'Primary-Event-Charging-Function-Name', {0, 1}}, + {'Secondary-Event-Charging-Function-Name', {0, 1}}, + {'Primary-Charging-Collection-Function-Name', {0, 1}}, + {'Secondary-Charging-Collection-Function-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Features') -> + [{'Vendor-Id', 1}, + {'Feature-List-ID', 1}, + {'Feature-List', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Applications') -> + [{'Auth-Application-Id', {0, '*'}}, + {'Acct-Application-Id', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Auth-Data-Item') -> + [{'SIP-Item-Number', {0, 1}}, + {'SIP-Authentication-Scheme', {0, 1}}, + {'SIP-Authenticate', {0, 1}}, + {'SIP-Authorization', {0, 1}}, + {'SIP-Authentication-Context', {0, 1}}, + {'Confidentiality-Key', {0, 1}}, + {'Integrity-Key', {0, 1}}, + {'SIP-Digest-Authenticate', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Line-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Deregistration-Reason') -> + [{'Reason-Code', 1}, + {'Reason-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Digest-Authenticate') -> + [{'Digest-Realm', 1}, + {'Digest-QoP', 1}, + {'Digest-HA1', 1}, + {'Digest-Algorithm', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('CCR', 'Session-Id') -> 1; +avp_arity('CCR', 'Auth-Application-Id') -> 1; +avp_arity('CCR', 'Origin-Host') -> 1; +avp_arity('CCR', 'Origin-Realm') -> 1; +avp_arity('CCR', 'Destination-Realm') -> 1; +avp_arity('CCR', 'CC-Request-Type') -> 1; +avp_arity('CCR', 'CC-Request-Number') -> 1; +avp_arity('CCR', 'Credit-Management-Status') -> {0, 1}; +avp_arity('CCR', 'Destination-Host') -> {0, 1}; +avp_arity('CCR', 'Origin-State-Id') -> {0, 1}; +avp_arity('CCR', 'Subscription-Id') -> {0, '*'}; +avp_arity('CCR', 'Supported-Features') -> {0, '*'}; +avp_arity('CCR', 'TDF-Information') -> {0, 1}; +avp_arity('CCR', 'Network-Request-Support') -> {0, 1}; +avp_arity('CCR', 'Packet-Filter-Information') -> + {0, '*'}; +avp_arity('CCR', 'Packet-Filter-Operation') -> {0, 1}; +avp_arity('CCR', 'Bearer-Identifier') -> {0, 1}; +avp_arity('CCR', 'Bearer-Operation') -> {0, 1}; +avp_arity('CCR', 'Framed-IP-Address') -> {0, 1}; +avp_arity('CCR', 'Framed-IPv6-Prefix') -> {0, 1}; +avp_arity('CCR', 'IP-CAN-Type') -> {0, 1}; +avp_arity('CCR', '3GPP-RAT-Type') -> {0, 1}; +avp_arity('CCR', 'RAT-Type') -> {0, 1}; +avp_arity('CCR', 'Termination-Cause') -> {0, 1}; +avp_arity('CCR', 'User-Equipment-Info') -> {0, 1}; +avp_arity('CCR', 'QoS-Information') -> {0, 1}; +avp_arity('CCR', 'QoS-Negotiation') -> {0, 1}; +avp_arity('CCR', 'QoS-Upgrade') -> {0, 1}; +avp_arity('CCR', 'Default-EPS-Bearer-QoS') -> {0, 1}; +avp_arity('CCR', 'Default-QoS-Information') -> {0, 1}; +avp_arity('CCR', 'AN-GW-Address') -> {0, 2}; +avp_arity('CCR', 'AN-GW-Status') -> {0, 1}; +avp_arity('CCR', '3GPP-SGSN-MCC-MNC') -> {0, 1}; +avp_arity('CCR', '3GPP-SGSN-Address') -> {0, 1}; +avp_arity('CCR', '3GPP-SGSN-IPv6-Address') -> {0, 1}; +avp_arity('CCR', '3GPP-GGSN-Address') -> {0, 1}; +avp_arity('CCR', '3GPP-GGSN-IPv6-Address') -> {0, 1}; +avp_arity('CCR', '3GPP-Selection-Mode') -> {0, 1}; +avp_arity('CCR', 'RAI') -> {0, 1}; +avp_arity('CCR', '3GPP-User-Location-Info') -> {0, 1}; +avp_arity('CCR', 'User-Location-Info-Time') -> {0, 1}; +avp_arity('CCR', 'TWAN-Identifier') -> {0, 1}; +avp_arity('CCR', '3GPP-MS-TimeZone') -> {0, 1}; +avp_arity('CCR', 'RAN-NAS-Release-Cause') -> {0, '*'}; +avp_arity('CCR', '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('CCR', 'Called-Station-Id') -> {0, 1}; +avp_arity('CCR', 'PDN-Connection-ID') -> {0, 1}; +avp_arity('CCR', 'Bearer-Usage') -> {0, 1}; +avp_arity('CCR', 'Online') -> {0, 1}; +avp_arity('CCR', 'Offline') -> {0, 1}; +avp_arity('CCR', 'TFT-Packet-Filter-Information') -> + {0, '*'}; +avp_arity('CCR', 'Charging-Rule-Report') -> {0, '*'}; +avp_arity('CCR', 'Application-Detection-Information') -> + {0, '*'}; +avp_arity('CCR', 'Event-Trigger') -> {0, '*'}; +avp_arity('CCR', 'Event-Report-Indication') -> {0, 1}; +avp_arity('CCR', 'Access-Network-Charging-Address') -> + {0, 1}; +avp_arity('CCR', + 'Access-Network-Charging-Identifier-Gx') -> + {0, '*'}; +avp_arity('CCR', 'CoA-Information') -> {0, '*'}; +avp_arity('CCR', 'Usage-Monitoring-Information') -> + {0, '*'}; +avp_arity('CCR', 'Routing-Rule-Install') -> {0, 1}; +avp_arity('CCR', 'Routing-Rule-Remove') -> {0, 1}; +avp_arity('CCR', 'HeNB-Local-IP-Address') -> {0, 1}; +avp_arity('CCR', 'UE-Local-IP-Address') -> {0, 1}; +avp_arity('CCR', 'UDP-Source-Port') -> {0, 1}; +avp_arity('CCR', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('CCR', 'Logical-Access-ID') -> {0, 1}; +avp_arity('CCR', 'Physical-Access-ID') -> {0, 1}; +avp_arity('CCR', 'Proxy-Info') -> {0, '*'}; +avp_arity('CCR', 'Route-Record') -> {0, '*'}; +avp_arity('CCR', 'AVP') -> {0, '*'}; +avp_arity('CCA', 'Session-Id') -> 1; +avp_arity('CCA', 'Auth-Application-Id') -> 1; +avp_arity('CCA', 'Origin-Host') -> 1; +avp_arity('CCA', 'Origin-Realm') -> 1; +avp_arity('CCA', 'CC-Request-Type') -> 1; +avp_arity('CCA', 'CC-Request-Number') -> 1; +avp_arity('CCA', 'Result-Code') -> {0, 1}; +avp_arity('CCA', 'Experimental-Result') -> {0, 1}; +avp_arity('CCA', 'Supported-Features') -> {0, '*'}; +avp_arity('CCA', 'Bearer-Control-Mode') -> {0, 1}; +avp_arity('CCA', 'Event-Trigger') -> {0, '*'}; +avp_arity('CCA', 'Event-Report-Indication') -> {0, 1}; +avp_arity('CCA', 'Origin-State-Id') -> {0, 1}; +avp_arity('CCA', 'Redirect-Host') -> {0, '*'}; +avp_arity('CCA', 'Redirect-Host-Usage') -> {0, 1}; +avp_arity('CCA', 'Redirect-Max-Cache-Time') -> {0, 1}; +avp_arity('CCA', 'Charging-Rule-Remove') -> {0, '*'}; +avp_arity('CCA', 'Charging-Rule-Install') -> {0, '*'}; +avp_arity('CCA', 'Charging-Information') -> {0, 1}; +avp_arity('CCA', 'Online') -> {0, 1}; +avp_arity('CCA', 'Offline') -> {0, 1}; +avp_arity('CCA', 'QoS-Information') -> {0, '*'}; +avp_arity('CCA', 'Revalidation-Time') -> {0, 1}; +avp_arity('CCA', 'Default-EPS-Bearer-QoS') -> {0, 1}; +avp_arity('CCA', 'Default-QoS-Information') -> {0, 1}; +avp_arity('CCA', 'Bearer-Usage') -> {0, 1}; +avp_arity('CCA', 'Usage-Monitoring-Information') -> + {0, '*'}; +avp_arity('CCA', 'CSG-Information-Reporting') -> + {0, '*'}; +avp_arity('CCA', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('CCA', 'Session-Release-Cause') -> {0, 1}; +avp_arity('CCA', 'Error-Message') -> {0, 1}; +avp_arity('CCA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('CCA', 'Failed-AVP') -> {0, '*'}; +avp_arity('CCA', 'Proxy-Info') -> {0, '*'}; +avp_arity('CCA', 'Route-Record') -> {0, '*'}; +avp_arity('CCA', 'AVP') -> {0, '*'}; +avp_arity('RAR', 'Session-Id') -> 1; +avp_arity('RAR', 'Auth-Application-Id') -> 1; +avp_arity('RAR', 'Origin-Host') -> 1; +avp_arity('RAR', 'Origin-Realm') -> 1; +avp_arity('RAR', 'Destination-Realm') -> 1; +avp_arity('RAR', 'Destination-Host') -> 1; +avp_arity('RAR', 'Re-Auth-Request-Type') -> 1; +avp_arity('RAR', 'Session-Release-Cause') -> {0, 1}; +avp_arity('RAR', 'Origin-State-Id') -> {0, 1}; +avp_arity('RAR', 'Event-Trigger') -> {0, '*'}; +avp_arity('RAR', 'Event-Report-Indication') -> {0, 1}; +avp_arity('RAR', 'Charging-Rule-Remove') -> {0, '*'}; +avp_arity('RAR', 'Charging-Rule-Install') -> {0, '*'}; +avp_arity('RAR', 'Default-EPS-Bearer-QoS') -> {0, 1}; +avp_arity('RAR', 'QoS-Information') -> {0, '*'}; +avp_arity('RAR', 'Default-QoS-Information') -> {0, 1}; +avp_arity('RAR', 'Revalidation-Time') -> {0, 1}; +avp_arity('RAR', 'Usage-Monitoring-Information') -> + {0, '*'}; +avp_arity('RAR', 'PCSCF-Restoration-Indication') -> + {0, 1}; +avp_arity('RAR', 'Proxy-Info') -> {0, '*'}; +avp_arity('RAR', 'Route-Record') -> {0, '*'}; +avp_arity('RAR', 'AVP') -> {0, '*'}; +avp_arity('RAA', 'Session-Id') -> 1; +avp_arity('RAA', 'Origin-Host') -> 1; +avp_arity('RAA', 'Origin-Realm') -> 1; +avp_arity('RAA', 'Result-Code') -> {0, 1}; +avp_arity('RAA', 'Experimental-Result') -> {0, 1}; +avp_arity('RAA', 'Origin-State-Id') -> {0, 1}; +avp_arity('RAA', 'IP-CAN-Type') -> {0, 1}; +avp_arity('RAA', 'RAT-Type') -> {0, 1}; +avp_arity('RAA', 'AN-GW-Address') -> {0, 2}; +avp_arity('RAA', '3GPP-SGSN-MCC-MNC') -> {0, 1}; +avp_arity('RAA', '3GPP-SGSN-Address') -> {0, 1}; +avp_arity('RAA', '3GPP-SGSN-IPv6-Address') -> {0, 1}; +avp_arity('RAA', 'RAI') -> {0, 1}; +avp_arity('RAA', '3GPP-User-Location-Info') -> {0, 1}; +avp_arity('RAA', 'User-Location-Info-Time') -> {0, 1}; +avp_arity('RAA', 'NetLoc-Access-Support') -> {0, 1}; +avp_arity('RAA', '3GPP-MS-TimeZone') -> {0, 1}; +avp_arity('RAA', 'Default-QoS-Information') -> {0, 1}; +avp_arity('RAA', 'Charging-Rule-Report') -> {0, '*'}; +avp_arity('RAA', 'Error-Message') -> {0, 1}; +avp_arity('RAA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('RAA', 'Failed-AVP') -> {0, '*'}; +avp_arity('RAA', 'Proxy-Info') -> {0, '*'}; +avp_arity('RAA', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Access-Network-Charging-Identifier-Value') -> + 1; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'IP-CAN-Session-Charging-Scope') -> + {0, 1}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'AVP') -> + {0, '*'}; +avp_arity('Allocation-Retention-Priority', + 'Priority-Level') -> + 1; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Capability') -> + {0, 1}; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Vulnerability') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'TDF-Application-Identifier') -> + 1; +avp_arity('Application-Detection-Information', + 'TDF-Application-Instance-Identifier') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Application-Detection-Information', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Charging-Rule-Name') -> + 1; +avp_arity('Charging-Rule-Definition', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Rating-Group') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'TDF-Application-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flow-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'QoS-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'PS-to-CS-Session-Continuity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Reporting-Level') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Online') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Offline') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Metering-Method') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Charging-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flows') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Redirect-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Mute-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Signalling-Protocol') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Definition') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Activation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Deactivation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Resource-Allocation-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Charging-Correlation-Indicator') -> + {0, 1}; +avp_arity('Charging-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Report', 'PCC-Rule-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Rule-Failure-Code') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', 'AVP') -> {0, '*'}; +avp_arity('CoA-Information', 'Tunnel-Information') -> 1; +avp_arity('CoA-Information', 'CoA-IP-Address') -> 1; +avp_arity('CoA-Information', 'AVP') -> {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'IP-CAN-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'RAT-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'AVP') -> + {0, '*'}; +avp_arity('Default-EPS-Bearer-QoS', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', 'AVP') -> {0, '*'}; +avp_arity('Default-QoS-Information', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Default-QoS-Name') -> + {0, 1}; +avp_arity('Default-QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Event-Report-Indication', 'Event-Trigger') -> + {0, '*'}; +avp_arity('Event-Report-Indication', 'IP-CAN-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AN-GW-Address') -> + {0, 2}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-IPv6-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Framed-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAT-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAI') -> {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UE-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'HeNB-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AVP') -> {0, '*'}; +avp_arity('Fixed-User-Location-Info', + 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', + 'Physical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', 'AVP') -> + {0, '*'}; +avp_arity('Flow-Information', 'Flow-Description') -> + {0, 1}; +avp_arity('Flow-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Flow-Information', 'Packet-Filter-Usage') -> + {0, 1}; +avp_arity('Flow-Information', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Flow-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Flow-Information', 'Flow-Label') -> {0, 1}; +avp_arity('Flow-Information', 'Flow-Direction') -> + {0, 1}; +avp_arity('Flow-Information', 'AVP') -> {0, '*'}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Precedence') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Content') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Flow-Label') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Identifier') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Elements-List') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'AVP') -> + {0, '*'}; +avp_arity('QoS-Information', 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Bearer-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Conditional-APN-Aggregate-Max-Bitrate') -> + {0, '*'}; +avp_arity('QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Redirect-Information', 'Redirect-Support') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Address-Type') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Server-Address') -> + {0, 1}; +avp_arity('Redirect-Information', 'AVP') -> {0, '*'}; +avp_arity('Routing-Filter', 'Flow-Description') -> 1; +avp_arity('Routing-Filter', 'Flow-Direction') -> 1; +avp_arity('Routing-Filter', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Routing-Filter', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Routing-Filter', 'Flow-Label') -> {0, 1}; +avp_arity('Routing-Filter', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Definition', + 'Routing-Rule-Identifier') -> + 1; +avp_arity('Routing-Rule-Definition', + 'Routing-Filter') -> + {0, '*'}; +avp_arity('Routing-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Install', + 'Routing-Rule-Definition') -> + {0, '*'}; +avp_arity('Routing-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Remove', + 'Routing-Rule-Identifier') -> + {0, '*'}; +avp_arity('Routing-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('TDF-Information', 'TDF-Destination-Realm') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-Destination-Host') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-IP-Address') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Length') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Filter') -> + {0, 2}; +avp_arity('Tunnel-Information', 'AVP') -> {0, '*'}; +avp_arity('TFT-Packet-Filter-Information', + 'Precedence') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'TFT-Filter') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Label') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Usage-Monitoring-Information', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Granted-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Used-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Level') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Report') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Support') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', 'AVP') -> + {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('CHAP-Auth', 'CHAP-Algorithm') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Ident') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Response') -> {0, 1}; +avp_arity('CHAP-Auth', 'AVP') -> {0, '*'}; +avp_arity('Tunneling', 'Tunnel-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Medium-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Client-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Server-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Preference') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Client-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Server-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Assignment-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Password') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Private-Group-Id') -> + {0, 1}; +avp_arity('Cost-Information', 'Unit-Value') -> 1; +avp_arity('Cost-Information', 'Currency-Code') -> 1; +avp_arity('Cost-Information', 'Cost-Unit') -> {0, 1}; +avp_arity('Unit-Value', 'Value-Digits') -> 1; +avp_arity('Unit-Value', 'Exponent') -> {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Granted-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Requested-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Used-Service-Unit') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Service-Identifier') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Rating-Group') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'G-S-U-Pool-Reference') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Validity-Time') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Result-Code') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', 'AVP') -> + {0, '*'}; +avp_arity('Granted-Service-Unit', + 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Requested-Service-Unit', 'CC-Time') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'CC-Money') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Used-Service-Unit', 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('CC-Money', 'Unit-Value') -> 1; +avp_arity('CC-Money', 'Currency-Code') -> {0, 1}; +avp_arity('G-S-U-Pool-Reference', + 'G-S-U-Pool-Identifier') -> + 1; +avp_arity('G-S-U-Pool-Reference', 'CC-Unit-Type') -> 1; +avp_arity('G-S-U-Pool-Reference', 'Unit-Value') -> 1; +avp_arity('Final-Unit-Indication', + 'Final-Unit-Action') -> + 1; +avp_arity('Final-Unit-Indication', + 'Restriction-Filter-Rule') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Filter-Id') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Redirect-Server') -> + {0, 1}; +avp_arity('Redirect-Server', 'Redirect-Address-Type') -> + 1; +avp_arity('Redirect-Server', + 'Redirect-Server-Address') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Type') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Value') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Type') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Data') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Type') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Value') -> + 1; +avp_arity('Flows', 'Media-Component-Number') -> 1; +avp_arity('Flows', 'Flow-Number') -> {0, '*'}; +avp_arity('Flows', 'Final-Unit-Action') -> {0, 1}; +avp_arity('Charging-Information', + 'Primary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', 'AVP') -> {0, '*'}; +avp_arity('Supported-Features', 'Vendor-Id') -> 1; +avp_arity('Supported-Features', 'Feature-List-ID') -> 1; +avp_arity('Supported-Features', 'Feature-List') -> 1; +avp_arity('Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('Supported-Applications', + 'Auth-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Acct-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Vendor-Specific-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', 'AVP') -> {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Item-Number') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Scheme') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authorization') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Context') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Confidentiality-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Integrity-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Digest-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IP-Address') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IPv6-Prefix') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Framed-Interface-Id') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Line-Identifier') -> + {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'AVP') -> {0, '*'}; +avp_arity('Deregistration-Reason', 'Reason-Code') -> 1; +avp_arity('Deregistration-Reason', 'Reason-Info') -> + {0, 1}; +avp_arity('Deregistration-Reason', 'AVP') -> {0, '*'}; +avp_arity('SIP-Digest-Authenticate', 'Digest-Realm') -> + 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-QoP') -> 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-HA1') -> 1; +avp_arity('SIP-Digest-Authenticate', + 'Digest-Algorithm') -> + {0, 1}; +avp_arity('SIP-Digest-Authenticate', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('AN-GW-Address') -> {1050, 128, 10415}; +avp_header('AN-GW-Status') -> {2811, 128, 10415}; +avp_header('APN-Aggregate-Max-Bitrate-DL') -> + {1040, 128, 10415}; +avp_header('APN-Aggregate-Max-Bitrate-UL') -> + {1041, 128, 10415}; +avp_header('Access-Network-Charging-Identifier-Gx') -> + {1022, 192, 10415}; +avp_header('Allocation-Retention-Priority') -> + {1034, 128, 10415}; +avp_header('Application-Detection-Information') -> + {1098, 128, 10415}; +avp_header('Bearer-Control-Mode') -> {1023, 192, 10415}; +avp_header('Bearer-Identifier') -> {1020, 192, 10415}; +avp_header('Bearer-Operation') -> {1021, 192, 10415}; +avp_header('Bearer-Usage') -> {1000, 192, 10415}; +avp_header('CSG-Information-Reporting') -> + {1071, 128, 10415}; +avp_header('Charging-Correlation-Indicator') -> + {1073, 128, 10415}; +avp_header('Charging-Rule-Base-Name') -> + {1004, 192, 10415}; +avp_header('Charging-Rule-Definition') -> + {1003, 192, 10415}; +avp_header('Charging-Rule-Install') -> + {1001, 192, 10415}; +avp_header('Charging-Rule-Name') -> {1005, 192, 10415}; +avp_header('Charging-Rule-Remove') -> + {1002, 192, 10415}; +avp_header('Charging-Rule-Report') -> + {1018, 192, 10415}; +avp_header('CoA-IP-Address') -> {1035, 128, 10415}; +avp_header('CoA-Information') -> {1039, 128, 10415}; +avp_header('Conditional-APN-Aggregate-Max-Bitrate') -> + {2818, 128, 10415}; +avp_header('Credit-Management-Status') -> + {1082, 128, 10415}; +avp_header('Default-EPS-Bearer-QoS') -> + {1049, 128, 10415}; +avp_header('Default-QoS-Information') -> + {2816, 128, 10415}; +avp_header('Default-QoS-Name') -> {2817, 128, 10415}; +avp_header('Event-Report-Indication') -> + {1033, 128, 10415}; +avp_header('Event-Trigger') -> {1006, 192, 10415}; +avp_header('Fixed-User-Location-Info') -> + {2825, 128, 10415}; +avp_header('Flow-Direction') -> {1080, 128, 10415}; +avp_header('Flow-Information') -> {1058, 128, 10415}; +avp_header('Flow-Label') -> {1057, 128, 10415}; +avp_header('Guaranteed-Bitrate-DL') -> + {1025, 192, 10415}; +avp_header('Guaranteed-Bitrate-UL') -> + {1026, 192, 10415}; +avp_header('HeNB-Local-IP-Address') -> + {2804, 128, 10415}; +avp_header('IP-CAN-Session-Charging-Scope') -> + {2827, 128, 10415}; +avp_header('IP-CAN-Type') -> {1027, 192, 10415}; +avp_header('Metering-Method') -> {1007, 192, 10415}; +avp_header('Monitoring-Key') -> {1066, 128, 10415}; +avp_header('Monitoring-Time') -> {2810, 128, 10415}; +avp_header('Mute-Notification') -> {2809, 128, 10415}; +avp_header('NetLoc-Access-Support') -> + {2824, 128, 10415}; +avp_header('Network-Request-Support') -> + {1024, 192, 10415}; +avp_header('Offline') -> {1008, 192, 10415}; +avp_header('Online') -> {1009, 192, 10415}; +avp_header('PCC-Rule-Status') -> {1019, 192, 10415}; +avp_header('PCSCF-Restoration-Indication') -> + {2826, 128, 10415}; +avp_header('PDN-Connection-ID') -> {1065, 128, 10415}; +avp_header('PS-to-CS-Session-Continuity') -> + {1099, 128, 10415}; +avp_header('Packet-Filter-Content') -> + {1059, 128, 10415}; +avp_header('Packet-Filter-Identifier') -> + {1060, 128, 10415}; +avp_header('Packet-Filter-Information') -> + {1061, 128, 10415}; +avp_header('Packet-Filter-Operation') -> + {1062, 128, 10415}; +avp_header('Packet-Filter-Usage') -> {1072, 128, 10415}; +avp_header('Pre-emption-Capability') -> + {1047, 128, 10415}; +avp_header('Pre-emption-Vulnerability') -> + {1048, 128, 10415}; +avp_header('Precedence') -> {1010, 192, 10415}; +avp_header('Presence-Reporting-Area-Elements-List') -> + {2820, 128, 10415}; +avp_header('Presence-Reporting-Area-Identifier') -> + {2821, 128, 10415}; +avp_header('Presence-Reporting-Area-Information') -> + {2822, 128, 10415}; +avp_header('Presence-Reporting-Area-Status') -> + {2823, 128, 10415}; +avp_header('Priority-Level') -> {1046, 128, 10415}; +avp_header('QoS-Class-Identifier') -> + {1028, 192, 10415}; +avp_header('QoS-Information') -> {1016, 192, 10415}; +avp_header('QoS-Negotiation') -> {1029, 192, 10415}; +avp_header('QoS-Upgrade') -> {1030, 192, 10415}; +avp_header('RAN-NAS-Release-Cause') -> + {2819, 128, 10415}; +avp_header('RAT-Type') -> {1032, 128, 10415}; +avp_header('Redirect-Information') -> + {1085, 128, 10415}; +avp_header('Redirect-Support') -> {1086, 128, 10415}; +avp_header('Reporting-Level') -> {1011, 192, 10415}; +avp_header('Resource-Allocation-Notification') -> + {1063, 128, 10415}; +avp_header('Revalidation-Time') -> {1042, 192, 10415}; +avp_header('Routing-Filter') -> {1078, 128, 10415}; +avp_header('Routing-IP-Address') -> {1079, 128, 10415}; +avp_header('Routing-Rule-Definition') -> + {1076, 128, 10415}; +avp_header('Routing-Rule-Identifier') -> + {1077, 128, 10415}; +avp_header('Routing-Rule-Install') -> + {1081, 128, 10415}; +avp_header('Routing-Rule-Remove') -> {1075, 128, 10415}; +avp_header('Rule-Activation-Time') -> + {1043, 192, 10415}; +avp_header('Rule-Deactivation-Time') -> + {1044, 192, 10415}; +avp_header('Rule-Failure-Code') -> {1031, 192, 10415}; +avp_header('Security-Parameter-Index') -> + {1056, 128, 10415}; +avp_header('Session-Release-Cause') -> + {1045, 192, 10415}; +avp_header('TDF-Application-Identifier') -> + {1088, 128, 10415}; +avp_header('TDF-Application-Instance-Identifier') -> + {2802, 128, 10415}; +avp_header('TDF-Destination-Host') -> + {1089, 128, 10415}; +avp_header('TDF-Destination-Realm') -> + {1090, 128, 10415}; +avp_header('TDF-IP-Address') -> {1091, 128, 10415}; +avp_header('TDF-Information') -> {1087, 128, 10415}; +avp_header('TFT-Filter') -> {1012, 192, 10415}; +avp_header('TFT-Packet-Filter-Information') -> + {1013, 192, 10415}; +avp_header('ToS-Traffic-Class') -> {1014, 192, 10415}; +avp_header('Tunnel-Header-Filter') -> + {1036, 128, 10415}; +avp_header('Tunnel-Header-Length') -> + {1037, 128, 10415}; +avp_header('Tunnel-Information') -> {1038, 128, 10415}; +avp_header('UDP-Source-Port') -> {2806, 128, 10415}; +avp_header('UE-Local-IP-Address') -> {2805, 128, 10415}; +avp_header('Usage-Monitoring-Information') -> + {1067, 128, 10415}; +avp_header('Usage-Monitoring-Level') -> + {1068, 128, 10415}; +avp_header('Usage-Monitoring-Report') -> + {1069, 128, 10415}; +avp_header('Usage-Monitoring-Support') -> + {1070, 128, 10415}; +avp_header('User-Location-Info-Time') -> + {2812, 128, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('ARAP-Challenge-Response') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Challenge-Response'); +avp_header('ARAP-Features') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Features'); +avp_header('ARAP-Password') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Password'); +avp_header('ARAP-Security') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Security'); +avp_header('ARAP-Security-Data') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Security-Data'); +avp_header('ARAP-Zone-Access') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Zone-Access'); +avp_header('Accounting-Auth-Method') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Auth-Method'); +avp_header('Accounting-Input-Octets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Input-Octets'); +avp_header('Accounting-Input-Packets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Input-Packets'); +avp_header('Accounting-Output-Octets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Output-Octets'); +avp_header('Accounting-Output-Packets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Output-Packets'); +avp_header('Acct-Authentic') -> + diameter_rfc4005_nasreq:avp_header('Acct-Authentic'); +avp_header('Acct-Delay-Time') -> + diameter_rfc4005_nasreq:avp_header('Acct-Delay-Time'); +avp_header('Acct-Link-Count') -> + diameter_rfc4005_nasreq:avp_header('Acct-Link-Count'); +avp_header('Acct-Session-Time') -> + diameter_rfc4005_nasreq:avp_header('Acct-Session-Time'); +avp_header('Acct-Tunnel-Connection') -> + diameter_rfc4005_nasreq:avp_header('Acct-Tunnel-Connection'); +avp_header('Acct-Tunnel-Packets-Lost') -> + diameter_rfc4005_nasreq:avp_header('Acct-Tunnel-Packets-Lost'); +avp_header('CHAP-Algorithm') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Algorithm'); +avp_header('CHAP-Auth') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Auth'); +avp_header('CHAP-Challenge') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Challenge'); +avp_header('CHAP-Ident') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Ident'); +avp_header('CHAP-Response') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Response'); +avp_header('Callback-Id') -> + diameter_rfc4005_nasreq:avp_header('Callback-Id'); +avp_header('Callback-Number') -> + diameter_rfc4005_nasreq:avp_header('Callback-Number'); +avp_header('Called-Station-Id') -> + diameter_rfc4005_nasreq:avp_header('Called-Station-Id'); +avp_header('Calling-Station-Id') -> + diameter_rfc4005_nasreq:avp_header('Calling-Station-Id'); +avp_header('Configuration-Token') -> + diameter_rfc4005_nasreq:avp_header('Configuration-Token'); +avp_header('Connect-Info') -> + diameter_rfc4005_nasreq:avp_header('Connect-Info'); +avp_header('Filter-Id') -> + diameter_rfc4005_nasreq:avp_header('Filter-Id'); +avp_header('Framed-AppleTalk-Link') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Link'); +avp_header('Framed-AppleTalk-Network') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Network'); +avp_header('Framed-AppleTalk-Zone') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Zone'); +avp_header('Framed-Compression') -> + diameter_rfc4005_nasreq:avp_header('Framed-Compression'); +avp_header('Framed-IP-Address') -> + diameter_rfc4005_nasreq:avp_header('Framed-IP-Address'); +avp_header('Framed-IP-Netmask') -> + diameter_rfc4005_nasreq:avp_header('Framed-IP-Netmask'); +avp_header('Framed-IPX-Network') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPX-Network'); +avp_header('Framed-IPv6-Pool') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Pool'); +avp_header('Framed-IPv6-Prefix') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Prefix'); +avp_header('Framed-IPv6-Route') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Route'); +avp_header('Framed-Interface-Id') -> + diameter_rfc4005_nasreq:avp_header('Framed-Interface-Id'); +avp_header('Framed-MTU') -> + diameter_rfc4005_nasreq:avp_header('Framed-MTU'); +avp_header('Framed-Pool') -> + diameter_rfc4005_nasreq:avp_header('Framed-Pool'); +avp_header('Framed-Protocol') -> + diameter_rfc4005_nasreq:avp_header('Framed-Protocol'); +avp_header('Framed-Route') -> + diameter_rfc4005_nasreq:avp_header('Framed-Route'); +avp_header('Framed-Routing') -> + diameter_rfc4005_nasreq:avp_header('Framed-Routing'); +avp_header('Idle-Timeout') -> + diameter_rfc4005_nasreq:avp_header('Idle-Timeout'); +avp_header('Login-IP-Host') -> + diameter_rfc4005_nasreq:avp_header('Login-IP-Host'); +avp_header('Login-IPv6-Host') -> + diameter_rfc4005_nasreq:avp_header('Login-IPv6-Host'); +avp_header('Login-LAT-Group') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Group'); +avp_header('Login-LAT-Node') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Node'); +avp_header('Login-LAT-Port') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Port'); +avp_header('Login-LAT-Service') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Service'); +avp_header('Login-Service') -> + diameter_rfc4005_nasreq:avp_header('Login-Service'); +avp_header('Login-TCP-Port') -> + diameter_rfc4005_nasreq:avp_header('Login-TCP-Port'); +avp_header('NAS-Filter-Rule') -> + diameter_rfc4005_nasreq:avp_header('NAS-Filter-Rule'); +avp_header('NAS-IP-Address') -> + diameter_rfc4005_nasreq:avp_header('NAS-IP-Address'); +avp_header('NAS-IPv6-Address') -> + diameter_rfc4005_nasreq:avp_header('NAS-IPv6-Address'); +avp_header('NAS-Identifier') -> + diameter_rfc4005_nasreq:avp_header('NAS-Identifier'); +avp_header('NAS-Port') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port'); +avp_header('NAS-Port-Id') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port-Id'); +avp_header('NAS-Port-Type') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port-Type'); +avp_header('Origin-AAA-Protocol') -> + diameter_rfc4005_nasreq:avp_header('Origin-AAA-Protocol'); +avp_header('Originating-Line-Info') -> + diameter_rfc4005_nasreq:avp_header('Originating-Line-Info'); +avp_header('Password-Retry') -> + diameter_rfc4005_nasreq:avp_header('Password-Retry'); +avp_header('Port-Limit') -> + diameter_rfc4005_nasreq:avp_header('Port-Limit'); +avp_header('Prompt') -> + diameter_rfc4005_nasreq:avp_header('Prompt'); +avp_header('QoS-Filter-Rule') -> + diameter_rfc4005_nasreq:avp_header('QoS-Filter-Rule'); +avp_header('Reply-Message') -> + diameter_rfc4005_nasreq:avp_header('Reply-Message'); +avp_header('Service-Type') -> + diameter_rfc4005_nasreq:avp_header('Service-Type'); +avp_header('State') -> + diameter_rfc4005_nasreq:avp_header('State'); +avp_header('Tunnel-Assignment-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Assignment-Id'); +avp_header('Tunnel-Client-Auth-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Client-Auth-Id'); +avp_header('Tunnel-Client-Endpoint') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Client-Endpoint'); +avp_header('Tunnel-Medium-Type') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Medium-Type'); +avp_header('Tunnel-Password') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Password'); +avp_header('Tunnel-Preference') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Preference'); +avp_header('Tunnel-Private-Group-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Private-Group-Id'); +avp_header('Tunnel-Server-Auth-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Server-Auth-Id'); +avp_header('Tunnel-Server-Endpoint') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Server-Endpoint'); +avp_header('Tunnel-Type') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Type'); +avp_header('Tunneling') -> + diameter_rfc4005_nasreq:avp_header('Tunneling'); +avp_header('User-Password') -> + diameter_rfc4005_nasreq:avp_header('User-Password'); +avp_header('CC-Correlation-Id') -> + diameter_rfc4006_cc:avp_header('CC-Correlation-Id'); +avp_header('CC-Input-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Input-Octets'); +avp_header('CC-Money') -> + diameter_rfc4006_cc:avp_header('CC-Money'); +avp_header('CC-Output-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Output-Octets'); +avp_header('CC-Request-Number') -> + diameter_rfc4006_cc:avp_header('CC-Request-Number'); +avp_header('CC-Request-Type') -> + diameter_rfc4006_cc:avp_header('CC-Request-Type'); +avp_header('CC-Service-Specific-Units') -> + diameter_rfc4006_cc:avp_header('CC-Service-Specific-Units'); +avp_header('CC-Session-Failover') -> + diameter_rfc4006_cc:avp_header('CC-Session-Failover'); +avp_header('CC-Sub-Session-Id') -> + diameter_rfc4006_cc:avp_header('CC-Sub-Session-Id'); +avp_header('CC-Time') -> + diameter_rfc4006_cc:avp_header('CC-Time'); +avp_header('CC-Total-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Total-Octets'); +avp_header('CC-Unit-Type') -> + diameter_rfc4006_cc:avp_header('CC-Unit-Type'); +avp_header('Check-Balance-Result') -> + diameter_rfc4006_cc:avp_header('Check-Balance-Result'); +avp_header('Cost-Information') -> + diameter_rfc4006_cc:avp_header('Cost-Information'); +avp_header('Cost-Unit') -> + diameter_rfc4006_cc:avp_header('Cost-Unit'); +avp_header('Credit-Control') -> + diameter_rfc4006_cc:avp_header('Credit-Control'); +avp_header('Credit-Control-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Credit-Control-Failure-Handling'); +avp_header('Currency-Code') -> + diameter_rfc4006_cc:avp_header('Currency-Code'); +avp_header('Direct-Debiting-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Direct-Debiting-Failure-Handling'); +avp_header('Exponent') -> + diameter_rfc4006_cc:avp_header('Exponent'); +avp_header('Final-Unit-Action') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Action'); +avp_header('Final-Unit-Indication') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Indication'); +avp_header('G-S-U-Pool-Identifier') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Identifier'); +avp_header('G-S-U-Pool-Reference') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Reference'); +avp_header('Granted-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Granted-Service-Unit'); +avp_header('Multiple-Services-Credit-Control') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Credit-Control'); +avp_header('Multiple-Services-Indicator') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Indicator'); +avp_header('Rating-Group') -> + diameter_rfc4006_cc:avp_header('Rating-Group'); +avp_header('Redirect-Address-Type') -> + diameter_rfc4006_cc:avp_header('Redirect-Address-Type'); +avp_header('Redirect-Server') -> + diameter_rfc4006_cc:avp_header('Redirect-Server'); +avp_header('Redirect-Server-Address') -> + diameter_rfc4006_cc:avp_header('Redirect-Server-Address'); +avp_header('Requested-Action') -> + diameter_rfc4006_cc:avp_header('Requested-Action'); +avp_header('Requested-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Requested-Service-Unit'); +avp_header('Restriction-Filter-Rule') -> + diameter_rfc4006_cc:avp_header('Restriction-Filter-Rule'); +avp_header('Service-Context-Id') -> + diameter_rfc4006_cc:avp_header('Service-Context-Id'); +avp_header('Service-Identifier') -> + diameter_rfc4006_cc:avp_header('Service-Identifier'); +avp_header('Service-Parameter-Info') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Info'); +avp_header('Service-Parameter-Type') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Type'); +avp_header('Service-Parameter-Value') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Value'); +avp_header('Subscription-Id') -> + diameter_rfc4006_cc:avp_header('Subscription-Id'); +avp_header('Subscription-Id-Data') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Data'); +avp_header('Subscription-Id-Type') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Type'); +avp_header('Tariff-Change-Usage') -> + diameter_rfc4006_cc:avp_header('Tariff-Change-Usage'); +avp_header('Tariff-Time-Change') -> + diameter_rfc4006_cc:avp_header('Tariff-Time-Change'); +avp_header('Unit-Value') -> + diameter_rfc4006_cc:avp_header('Unit-Value'); +avp_header('Used-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Used-Service-Unit'); +avp_header('User-Equipment-Info') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info'); +avp_header('User-Equipment-Info-Type') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Type'); +avp_header('User-Equipment-Info-Value') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Value'); +avp_header('Validity-Time') -> + diameter_rfc4006_cc:avp_header('Validity-Time'); +avp_header('Value-Digits') -> + diameter_rfc4006_cc:avp_header('Value-Digits'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header('Address-Realm') -> + diameter_etsi_es283_034:avp_header('Address-Realm'); +avp_header('Aggregation-Network-Type') -> + diameter_etsi_es283_034:avp_header('Aggregation-Network-Type'); +avp_header('Application-Class-ID') -> + diameter_etsi_es283_034:avp_header('Application-Class-ID'); +avp_header('IP-Connectivity-Status') -> + diameter_etsi_es283_034:avp_header('IP-Connectivity-Status'); +avp_header('Initial-Gate-Setting-ID') -> + diameter_etsi_es283_034:avp_header('Initial-Gate-Setting-ID'); +avp_header('Logical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Logical-Access-ID'); +avp_header('Maximum-Allowed-Bandwidth-DL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-DL'); +avp_header('Maximum-Allowed-Bandwidth-UL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-UL'); +avp_header('Physical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Physical-Access-ID'); +avp_header('QoS-Profile-ID') -> + diameter_etsi_es283_034:avp_header('QoS-Profile-ID'); +avp_header('Transport-Class') -> + diameter_etsi_es283_034:avp_header('Transport-Class'); +avp_header('Additional-MBMS-Trace-Info') -> + diameter_3gpp_ts29_061_gmb:avp_header('Additional-MBMS-Trace-Info'); +avp_header('Alternative-APN') -> + diameter_3gpp_ts29_061_gmb:avp_header('Alternative-APN'); +avp_header('CN-IP-Multicast-Distribution') -> + diameter_3gpp_ts29_061_gmb:avp_header('CN-IP-Multicast-Distribution'); +avp_header('MBMS-2G-3G-Indicator') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-2G-3G-Indicator'); +avp_header('MBMS-BMSC-SSM-IP-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-BMSC-SSM-IP-Address'); +avp_header('MBMS-BMSC-SSM-IPv6-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-BMSC-SSM-IPv6-Address'); +avp_header('MBMS-Counting-Information') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Counting-Information'); +avp_header('MBMS-Flow-Identifier') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Flow-Identifier'); +avp_header('MBMS-GGSN-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-GGSN-Address'); +avp_header('MBMS-GGSN-IPv6-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-GGSN-IPv6-Address'); +avp_header('MBMS-HC-Indicator') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-HC-Indicator'); +avp_header('MBMS-Required-QoS') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Required-QoS'); +avp_header('MBMS-Service-Area') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Service-Area'); +avp_header('MBMS-Service-Type') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Service-Type'); +avp_header('MBMS-Session-Duration') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Session-Duration'); +avp_header('MBMS-Session-Identity') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Session-Identity'); +avp_header('MBMS-Session-Repetition-Number') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Session-Repetition-Number'); +avp_header('MBMS-StartStop-Indication') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-StartStop-Indication'); +avp_header('MBMS-Time-To-Data-Transfer') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Time-To-Data-Transfer'); +avp_header('MBMS-User-Data-Mode-Indication') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-User-Data-Mode-Indication'); +avp_header('RAI') -> + diameter_3gpp_ts29_061_gmb:avp_header('RAI'); +avp_header('Required-MBMS-Bearer-Capabilities') -> + diameter_3gpp_ts29_061_gmb:avp_header('Required-MBMS-Bearer-Capabilities'); +avp_header('TMGI') -> + diameter_3gpp_ts29_061_gmb:avp_header('TMGI'); +avp_header('AF-Application-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Application-Identifier'); +avp_header('AF-Charging-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Charging-Identifier'); +avp_header('AF-Signalling-Protocol') -> + diameter_3gpp_ts29_214:avp_header('AF-Signalling-Protocol'); +avp_header('Abort-Cause') -> + diameter_3gpp_ts29_214:avp_header('Abort-Cause'); +avp_header('Access-Network-Charging-Address') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Address'); +avp_header('Access-Network-Charging-Identifier-Value') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Identifier-Value'); +avp_header('Application-Service-Provider-Identity') -> + diameter_3gpp_ts29_214:avp_header('Application-Service-Provider-Identity'); +avp_header('Codec-Data') -> + diameter_3gpp_ts29_214:avp_header('Codec-Data'); +avp_header('Flow-Description') -> + diameter_3gpp_ts29_214:avp_header('Flow-Description'); +avp_header('Flow-Number') -> + diameter_3gpp_ts29_214:avp_header('Flow-Number'); +avp_header('Flow-Status') -> + diameter_3gpp_ts29_214:avp_header('Flow-Status'); +avp_header('Flow-Usage') -> + diameter_3gpp_ts29_214:avp_header('Flow-Usage'); +avp_header('Flows') -> + diameter_3gpp_ts29_214:avp_header('Flows'); +avp_header('GCS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('GCS-Identifier'); +avp_header('IP-Domain-Id') -> + diameter_3gpp_ts29_214:avp_header('IP-Domain-Id'); +avp_header('MPS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('MPS-Identifier'); +avp_header('Max-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-DL'); +avp_header('Max-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-UL'); +avp_header('Media-Component-Number') -> + diameter_3gpp_ts29_214:avp_header('Media-Component-Number'); +avp_header('Media-Type') -> + diameter_3gpp_ts29_214:avp_header('Media-Type'); +avp_header('Min-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-DL'); +avp_header('Min-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-UL'); +avp_header('RR-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RR-Bandwidth'); +avp_header('RS-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RS-Bandwidth'); +avp_header('Required-Access-Info') -> + diameter_3gpp_ts29_214:avp_header('Required-Access-Info'); +avp_header('Rx-Request-Type') -> + diameter_3gpp_ts29_214:avp_header('Rx-Request-Type'); +avp_header('SIP-Forking-Indication') -> + diameter_3gpp_ts29_214:avp_header('SIP-Forking-Indication'); +avp_header('Service-Info-Status') -> + diameter_3gpp_ts29_214:avp_header('Service-Info-Status'); +avp_header('Service-URN') -> + diameter_3gpp_ts29_214:avp_header('Service-URN'); +avp_header('Specific-Action') -> + diameter_3gpp_ts29_214:avp_header('Specific-Action'); +avp_header('Sponsor-Identity') -> + diameter_3gpp_ts29_214:avp_header('Sponsor-Identity'); +avp_header('Call-ID-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('Call-ID-SIP-Header'); +avp_header('Charging-Information') -> + diameter_3gpp_ts29_229:avp_header('Charging-Information'); +avp_header('Confidentiality-Key') -> + diameter_3gpp_ts29_229:avp_header('Confidentiality-Key'); +avp_header('Contact') -> + diameter_3gpp_ts29_229:avp_header('Contact'); +avp_header('Deregistration-Reason') -> + diameter_3gpp_ts29_229:avp_header('Deregistration-Reason'); +avp_header('Digest-Algorithm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Algorithm'); +avp_header('Digest-HA1') -> + diameter_3gpp_ts29_229:avp_header('Digest-HA1'); +avp_header('Digest-QoP') -> + diameter_3gpp_ts29_229:avp_header('Digest-QoP'); +avp_header('Digest-Realm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Realm'); +avp_header('Feature-List') -> + diameter_3gpp_ts29_229:avp_header('Feature-List'); +avp_header('Feature-List-ID') -> + diameter_3gpp_ts29_229:avp_header('Feature-List-ID'); +avp_header('From-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('From-SIP-Header'); +avp_header('Initial-CSeq-Sequence-Number') -> + diameter_3gpp_ts29_229:avp_header('Initial-CSeq-Sequence-Number'); +avp_header('Integrity-Key') -> + diameter_3gpp_ts29_229:avp_header('Integrity-Key'); +avp_header('LIA-Flags') -> + diameter_3gpp_ts29_229:avp_header('LIA-Flags'); +avp_header('Loose-Route-Indication') -> + diameter_3gpp_ts29_229:avp_header('Loose-Route-Indication'); +avp_header('Mandatory-Capability') -> + diameter_3gpp_ts29_229:avp_header('Mandatory-Capability'); +avp_header('Multiple-Registration-Indication') -> + diameter_3gpp_ts29_229:avp_header('Multiple-Registration-Indication'); +avp_header('Optional-Capability') -> + diameter_3gpp_ts29_229:avp_header('Optional-Capability'); +avp_header('Originating-Request') -> + diameter_3gpp_ts29_229:avp_header('Originating-Request'); +avp_header('Path') -> + diameter_3gpp_ts29_229:avp_header('Path'); +avp_header('Primary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Charging-Collection-Function-Name'); +avp_header('Primary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Event-Charging-Function-Name'); +avp_header('Priviledged-Sender-Indication') -> + diameter_3gpp_ts29_229:avp_header('Priviledged-Sender-Indication'); +avp_header('Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Public-Identity'); +avp_header('Reason-Code') -> + diameter_3gpp_ts29_229:avp_header('Reason-Code'); +avp_header('Reason-Info') -> + diameter_3gpp_ts29_229:avp_header('Reason-Info'); +avp_header('Record-Route') -> + diameter_3gpp_ts29_229:avp_header('Record-Route'); +avp_header('SAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('SAR-Flags'); +avp_header('SIP-Auth-Data-Item') -> + diameter_3gpp_ts29_229:avp_header('SIP-Auth-Data-Item'); +avp_header('SIP-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authenticate'); +avp_header('SIP-Authentication-Context') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Context'); +avp_header('SIP-Authentication-Scheme') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Scheme'); +avp_header('SIP-Authorization') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authorization'); +avp_header('SIP-Digest-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Digest-Authenticate'); +avp_header('SIP-Item-Number') -> + diameter_3gpp_ts29_229:avp_header('SIP-Item-Number'); +avp_header('SIP-Number-Auth-Items') -> + diameter_3gpp_ts29_229:avp_header('SIP-Number-Auth-Items'); +avp_header('Secondary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Charging-Collection-Function-Name'); +avp_header('Secondary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Event-Charging-Function-Name'); +avp_header('Server-Assignment-Type') -> + diameter_3gpp_ts29_229:avp_header('Server-Assignment-Type'); +avp_header('Server-Name') -> + diameter_3gpp_ts29_229:avp_header('Server-Name'); +avp_header('Session-Priority') -> + diameter_3gpp_ts29_229:avp_header('Session-Priority'); +avp_header('Supported-Applications') -> + diameter_3gpp_ts29_229:avp_header('Supported-Applications'); +avp_header('Supported-Features') -> + diameter_3gpp_ts29_229:avp_header('Supported-Features'); +avp_header('To-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('To-SIP-Header'); +avp_header('UAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('UAR-Flags'); +avp_header('User-Authorization-Type') -> + diameter_3gpp_ts29_229:avp_header('User-Authorization-Type'); +avp_header('User-Data') -> + diameter_3gpp_ts29_229:avp_header('User-Data'); +avp_header('User-Data-Already-Available') -> + diameter_3gpp_ts29_229:avp_header('User-Data-Already-Available'); +avp_header('Visited-Network-Identifier') -> + diameter_3gpp_ts29_229:avp_header('Visited-Network-Identifier'); +avp_header('Wildcarded-Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Wildcarded-Public-Identity'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'AN-GW-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'AN-GW-Status', _) -> + enumerated_avp(T, 'AN-GW-Status', Data); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-DL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-UL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Access-Network-Charging-Identifier-Gx', + Opts) -> + grouped_avp(T, + 'Access-Network-Charging-Identifier-Gx', + Data, + Opts); +avp(T, Data, 'Allocation-Retention-Priority', Opts) -> + grouped_avp(T, + 'Allocation-Retention-Priority', + Data, + Opts); +avp(T, Data, 'Application-Detection-Information', + Opts) -> + grouped_avp(T, + 'Application-Detection-Information', + Data, + Opts); +avp(T, Data, 'Bearer-Control-Mode', _) -> + enumerated_avp(T, 'Bearer-Control-Mode', Data); +avp(T, Data, 'Bearer-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Bearer-Operation', _) -> + enumerated_avp(T, 'Bearer-Operation', Data); +avp(T, Data, 'Bearer-Usage', _) -> + enumerated_avp(T, 'Bearer-Usage', Data); +avp(T, Data, 'CSG-Information-Reporting', _) -> + enumerated_avp(T, 'CSG-Information-Reporting', Data); +avp(T, Data, 'Charging-Correlation-Indicator', _) -> + enumerated_avp(T, + 'Charging-Correlation-Indicator', + Data); +avp(T, Data, 'Charging-Rule-Base-Name', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Charging-Rule-Definition', Opts) -> + grouped_avp(T, 'Charging-Rule-Definition', Data, Opts); +avp(T, Data, 'Charging-Rule-Install', Opts) -> + grouped_avp(T, 'Charging-Rule-Install', Data, Opts); +avp(T, Data, 'Charging-Rule-Name', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Charging-Rule-Remove', Opts) -> + grouped_avp(T, 'Charging-Rule-Remove', Data, Opts); +avp(T, Data, 'Charging-Rule-Report', Opts) -> + grouped_avp(T, 'Charging-Rule-Report', Data, Opts); +avp(T, Data, 'CoA-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'CoA-Information', Opts) -> + grouped_avp(T, 'CoA-Information', Data, Opts); +avp(T, Data, 'Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + grouped_avp(T, + 'Conditional-APN-Aggregate-Max-Bitrate', + Data, + Opts); +avp(T, Data, 'Credit-Management-Status', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Default-EPS-Bearer-QoS', Opts) -> + grouped_avp(T, 'Default-EPS-Bearer-QoS', Data, Opts); +avp(T, Data, 'Default-QoS-Information', Opts) -> + grouped_avp(T, 'Default-QoS-Information', Data, Opts); +avp(T, Data, 'Default-QoS-Name', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Event-Report-Indication', Opts) -> + grouped_avp(T, 'Event-Report-Indication', Data, Opts); +avp(T, Data, 'Event-Trigger', _) -> + enumerated_avp(T, 'Event-Trigger', Data); +avp(T, Data, 'Fixed-User-Location-Info', Opts) -> + grouped_avp(T, 'Fixed-User-Location-Info', Data, Opts); +avp(T, Data, 'Flow-Direction', _) -> + enumerated_avp(T, 'Flow-Direction', Data); +avp(T, Data, 'Flow-Information', Opts) -> + grouped_avp(T, 'Flow-Information', Data, Opts); +avp(T, Data, 'Flow-Label', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Guaranteed-Bitrate-DL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Guaranteed-Bitrate-UL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'HeNB-Local-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'IP-CAN-Session-Charging-Scope', _) -> + enumerated_avp(T, + 'IP-CAN-Session-Charging-Scope', + Data); +avp(T, Data, 'IP-CAN-Type', _) -> + enumerated_avp(T, 'IP-CAN-Type', Data); +avp(T, Data, 'Metering-Method', _) -> + enumerated_avp(T, 'Metering-Method', Data); +avp(T, Data, 'Monitoring-Key', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Monitoring-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Mute-Notification', _) -> + enumerated_avp(T, 'Mute-Notification', Data); +avp(T, Data, 'NetLoc-Access-Support', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Network-Request-Support', _) -> + enumerated_avp(T, 'Network-Request-Support', Data); +avp(T, Data, 'Offline', _) -> + enumerated_avp(T, 'Offline', Data); +avp(T, Data, 'Online', _) -> + enumerated_avp(T, 'Online', Data); +avp(T, Data, 'PCC-Rule-Status', _) -> + enumerated_avp(T, 'PCC-Rule-Status', Data); +avp(T, Data, 'PCSCF-Restoration-Indication', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'PDN-Connection-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'PS-to-CS-Session-Continuity', _) -> + enumerated_avp(T, 'PS-to-CS-Session-Continuity', Data); +avp(T, Data, 'Packet-Filter-Content', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'Packet-Filter-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Packet-Filter-Information', Opts) -> + grouped_avp(T, 'Packet-Filter-Information', Data, Opts); +avp(T, Data, 'Packet-Filter-Operation', _) -> + enumerated_avp(T, 'Packet-Filter-Operation', Data); +avp(T, Data, 'Packet-Filter-Usage', _) -> + enumerated_avp(T, 'Packet-Filter-Usage', Data); +avp(T, Data, 'Pre-emption-Capability', _) -> + enumerated_avp(T, 'Pre-emption-Capability', Data); +avp(T, Data, 'Pre-emption-Vulnerability', _) -> + enumerated_avp(T, 'Pre-emption-Vulnerability', Data); +avp(T, Data, 'Precedence', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Presence-Reporting-Area-Elements-List', + Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Presence-Reporting-Area-Identifier', + Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Presence-Reporting-Area-Information', + Opts) -> + grouped_avp(T, + 'Presence-Reporting-Area-Information', + Data, + Opts); +avp(T, Data, 'Presence-Reporting-Area-Status', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Priority-Level', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'QoS-Class-Identifier', _) -> + enumerated_avp(T, 'QoS-Class-Identifier', Data); +avp(T, Data, 'QoS-Information', Opts) -> + grouped_avp(T, 'QoS-Information', Data, Opts); +avp(T, Data, 'QoS-Negotiation', _) -> + enumerated_avp(T, 'QoS-Negotiation', Data); +avp(T, Data, 'QoS-Upgrade', _) -> + enumerated_avp(T, 'QoS-Upgrade', Data); +avp(T, Data, 'RAN-NAS-Release-Cause', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'RAT-Type', _) -> + enumerated_avp(T, 'RAT-Type', Data); +avp(T, Data, 'Redirect-Information', Opts) -> + grouped_avp(T, 'Redirect-Information', Data, Opts); +avp(T, Data, 'Redirect-Support', _) -> + enumerated_avp(T, 'Redirect-Support', Data); +avp(T, Data, 'Reporting-Level', _) -> + enumerated_avp(T, 'Reporting-Level', Data); +avp(T, Data, 'Resource-Allocation-Notification', _) -> + enumerated_avp(T, + 'Resource-Allocation-Notification', + Data); +avp(T, Data, 'Revalidation-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Routing-Filter', Opts) -> + grouped_avp(T, 'Routing-Filter', Data, Opts); +avp(T, Data, 'Routing-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Routing-Rule-Definition', Opts) -> + grouped_avp(T, 'Routing-Rule-Definition', Data, Opts); +avp(T, Data, 'Routing-Rule-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Routing-Rule-Install', Opts) -> + grouped_avp(T, 'Routing-Rule-Install', Data, Opts); +avp(T, Data, 'Routing-Rule-Remove', Opts) -> + grouped_avp(T, 'Routing-Rule-Remove', Data, Opts); +avp(T, Data, 'Rule-Activation-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Rule-Deactivation-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Rule-Failure-Code', _) -> + enumerated_avp(T, 'Rule-Failure-Code', Data); +avp(T, Data, 'Security-Parameter-Index', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Session-Release-Cause', _) -> + enumerated_avp(T, 'Session-Release-Cause', Data); +avp(T, Data, 'TDF-Application-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'TDF-Application-Instance-Identifier', + Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'TDF-Destination-Host', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'TDF-Destination-Realm', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'TDF-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'TDF-Information', Opts) -> + grouped_avp(T, 'TDF-Information', Data, Opts); +avp(T, Data, 'TFT-Filter', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'TFT-Packet-Filter-Information', Opts) -> + grouped_avp(T, + 'TFT-Packet-Filter-Information', + Data, + Opts); +avp(T, Data, 'ToS-Traffic-Class', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Header-Filter', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'Tunnel-Header-Length', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Tunnel-Information', Opts) -> + grouped_avp(T, 'Tunnel-Information', Data, Opts); +avp(T, Data, 'UDP-Source-Port', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'UE-Local-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Usage-Monitoring-Information', Opts) -> + grouped_avp(T, + 'Usage-Monitoring-Information', + Data, + Opts); +avp(T, Data, 'Usage-Monitoring-Level', _) -> + enumerated_avp(T, 'Usage-Monitoring-Level', Data); +avp(T, Data, 'Usage-Monitoring-Report', _) -> + enumerated_avp(T, 'Usage-Monitoring-Report', Data); +avp(T, Data, 'Usage-Monitoring-Support', _) -> + enumerated_avp(T, 'Usage-Monitoring-Support', Data); +avp(T, Data, 'User-Location-Info-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'ARAP-Challenge-Response', Opts) -> + avp(T, + Data, + 'ARAP-Challenge-Response', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Features', Opts) -> + avp(T, + Data, + 'ARAP-Features', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Password', Opts) -> + avp(T, + Data, + 'ARAP-Password', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Security', Opts) -> + avp(T, + Data, + 'ARAP-Security', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Security-Data', Opts) -> + avp(T, + Data, + 'ARAP-Security-Data', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Zone-Access', Opts) -> + avp(T, + Data, + 'ARAP-Zone-Access', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Auth-Method', Opts) -> + avp(T, + Data, + 'Accounting-Auth-Method', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Input-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Octets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Input-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Packets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Output-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Octets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Output-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Packets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Authentic', Opts) -> + avp(T, + Data, + 'Acct-Authentic', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Delay-Time', Opts) -> + avp(T, + Data, + 'Acct-Delay-Time', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Link-Count', Opts) -> + avp(T, + Data, + 'Acct-Link-Count', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Session-Time', Opts) -> + avp(T, + Data, + 'Acct-Session-Time', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Tunnel-Connection', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Connection', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Tunnel-Packets-Lost', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Packets-Lost', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Algorithm', Opts) -> + avp(T, + Data, + 'CHAP-Algorithm', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Auth', Opts) -> + grouped_avp(T, 'CHAP-Auth', Data, Opts); +avp(T, Data, 'CHAP-Challenge', Opts) -> + avp(T, + Data, + 'CHAP-Challenge', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Ident', Opts) -> + avp(T, + Data, + 'CHAP-Ident', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Response', Opts) -> + avp(T, + Data, + 'CHAP-Response', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Callback-Id', Opts) -> + avp(T, + Data, + 'Callback-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Callback-Number', Opts) -> + avp(T, + Data, + 'Callback-Number', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Called-Station-Id', Opts) -> + avp(T, + Data, + 'Called-Station-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Calling-Station-Id', Opts) -> + avp(T, + Data, + 'Calling-Station-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Configuration-Token', Opts) -> + avp(T, + Data, + 'Configuration-Token', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Connect-Info', Opts) -> + avp(T, + Data, + 'Connect-Info', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Filter-Id', Opts) -> + avp(T, + Data, + 'Filter-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Link', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Link', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Network', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Network', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Zone', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Zone', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Compression', Opts) -> + avp(T, + Data, + 'Framed-Compression', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IP-Address', Opts) -> + avp(T, + Data, + 'Framed-IP-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IP-Netmask', Opts) -> + avp(T, + Data, + 'Framed-IP-Netmask', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPX-Network', Opts) -> + avp(T, + Data, + 'Framed-IPX-Network', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Pool', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Pool', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Prefix', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Prefix', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Route', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Route', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Interface-Id', Opts) -> + avp(T, + Data, + 'Framed-Interface-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-MTU', Opts) -> + avp(T, + Data, + 'Framed-MTU', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Pool', Opts) -> + avp(T, + Data, + 'Framed-Pool', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Protocol', Opts) -> + avp(T, + Data, + 'Framed-Protocol', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Route', Opts) -> + avp(T, + Data, + 'Framed-Route', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Routing', Opts) -> + avp(T, + Data, + 'Framed-Routing', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Idle-Timeout', Opts) -> + avp(T, + Data, + 'Idle-Timeout', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-IP-Host', Opts) -> + avp(T, + Data, + 'Login-IP-Host', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-IPv6-Host', Opts) -> + avp(T, + Data, + 'Login-IPv6-Host', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Group', Opts) -> + avp(T, + Data, + 'Login-LAT-Group', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Node', Opts) -> + avp(T, + Data, + 'Login-LAT-Node', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Port', Opts) -> + avp(T, + Data, + 'Login-LAT-Port', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Service', Opts) -> + avp(T, + Data, + 'Login-LAT-Service', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-Service', Opts) -> + avp(T, + Data, + 'Login-Service', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-TCP-Port', Opts) -> + avp(T, + Data, + 'Login-TCP-Port', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Filter-Rule', Opts) -> + avp(T, + Data, + 'NAS-Filter-Rule', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-IP-Address', Opts) -> + avp(T, + Data, + 'NAS-IP-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-IPv6-Address', Opts) -> + avp(T, + Data, + 'NAS-IPv6-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Identifier', Opts) -> + avp(T, + Data, + 'NAS-Identifier', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port', Opts) -> + avp(T, Data, 'NAS-Port', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port-Id', Opts) -> + avp(T, + Data, + 'NAS-Port-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port-Type', Opts) -> + avp(T, + Data, + 'NAS-Port-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Origin-AAA-Protocol', Opts) -> + avp(T, + Data, + 'Origin-AAA-Protocol', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Originating-Line-Info', Opts) -> + avp(T, + Data, + 'Originating-Line-Info', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Password-Retry', Opts) -> + avp(T, + Data, + 'Password-Retry', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Port-Limit', Opts) -> + avp(T, + Data, + 'Port-Limit', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Prompt', Opts) -> + avp(T, Data, 'Prompt', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'QoS-Filter-Rule', Opts) -> + avp(T, + Data, + 'QoS-Filter-Rule', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Reply-Message', Opts) -> + avp(T, + Data, + 'Reply-Message', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Service-Type', Opts) -> + avp(T, + Data, + 'Service-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'State', Opts) -> + avp(T, Data, 'State', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Assignment-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Assignment-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Client-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Auth-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Client-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Endpoint', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Medium-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Medium-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Password', Opts) -> + avp(T, + Data, + 'Tunnel-Password', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Preference', Opts) -> + avp(T, + Data, + 'Tunnel-Preference', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Private-Group-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Private-Group-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Server-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Auth-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Server-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Endpoint', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunneling', Opts) -> + grouped_avp(T, 'Tunneling', Data, Opts); +avp(T, Data, 'User-Password', Opts) -> + avp(T, + Data, + 'User-Password', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CC-Correlation-Id', Opts) -> + avp(T, + Data, + 'CC-Correlation-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Input-Octets', Opts) -> + avp(T, + Data, + 'CC-Input-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Money', Opts) -> + grouped_avp(T, 'CC-Money', Data, Opts); +avp(T, Data, 'CC-Output-Octets', Opts) -> + avp(T, + Data, + 'CC-Output-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Number', Opts) -> + avp(T, + Data, + 'CC-Request-Number', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Type', Opts) -> + avp(T, + Data, + 'CC-Request-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Service-Specific-Units', Opts) -> + avp(T, + Data, + 'CC-Service-Specific-Units', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Session-Failover', Opts) -> + avp(T, + Data, + 'CC-Session-Failover', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'CC-Sub-Session-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Time', Opts) -> + avp(T, Data, 'CC-Time', Opts, diameter_rfc4006_cc); +avp(T, Data, 'CC-Total-Octets', Opts) -> + avp(T, + Data, + 'CC-Total-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Unit-Type', Opts) -> + avp(T, Data, 'CC-Unit-Type', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Check-Balance-Result', Opts) -> + avp(T, + Data, + 'Check-Balance-Result', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Cost-Information', Opts) -> + grouped_avp(T, 'Cost-Information', Data, Opts); +avp(T, Data, 'Cost-Unit', Opts) -> + avp(T, Data, 'Cost-Unit', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control', Opts) -> + avp(T, + Data, + 'Credit-Control', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control-Failure-Handling', Opts) -> + avp(T, + Data, + 'Credit-Control-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Currency-Code', Opts) -> + avp(T, + Data, + 'Currency-Code', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Direct-Debiting-Failure-Handling', + Opts) -> + avp(T, + Data, + 'Direct-Debiting-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Exponent', Opts) -> + avp(T, Data, 'Exponent', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Action', Opts) -> + avp(T, + Data, + 'Final-Unit-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Indication', Opts) -> + grouped_avp(T, 'Final-Unit-Indication', Data, Opts); +avp(T, Data, 'G-S-U-Pool-Identifier', Opts) -> + avp(T, + Data, + 'G-S-U-Pool-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'G-S-U-Pool-Reference', Opts) -> + grouped_avp(T, 'G-S-U-Pool-Reference', Data, Opts); +avp(T, Data, 'Granted-Service-Unit', Opts) -> + grouped_avp(T, 'Granted-Service-Unit', Data, Opts); +avp(T, Data, 'Multiple-Services-Credit-Control', + Opts) -> + grouped_avp(T, + 'Multiple-Services-Credit-Control', + Data, + Opts); +avp(T, Data, 'Multiple-Services-Indicator', Opts) -> + avp(T, + Data, + 'Multiple-Services-Indicator', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Rating-Group', Opts) -> + avp(T, Data, 'Rating-Group', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Address-Type', Opts) -> + avp(T, + Data, + 'Redirect-Address-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Server', Opts) -> + grouped_avp(T, 'Redirect-Server', Data, Opts); +avp(T, Data, 'Redirect-Server-Address', Opts) -> + avp(T, + Data, + 'Redirect-Server-Address', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Action', Opts) -> + avp(T, + Data, + 'Requested-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Service-Unit', Opts) -> + grouped_avp(T, 'Requested-Service-Unit', Data, Opts); +avp(T, Data, 'Restriction-Filter-Rule', Opts) -> + avp(T, + Data, + 'Restriction-Filter-Rule', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Context-Id', Opts) -> + avp(T, + Data, + 'Service-Context-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Identifier', Opts) -> + avp(T, + Data, + 'Service-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Info', Opts) -> + grouped_avp(T, 'Service-Parameter-Info', Data, Opts); +avp(T, Data, 'Service-Parameter-Type', Opts) -> + avp(T, + Data, + 'Service-Parameter-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Value', Opts) -> + avp(T, + Data, + 'Service-Parameter-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id', Opts) -> + grouped_avp(T, 'Subscription-Id', Data, Opts); +avp(T, Data, 'Subscription-Id-Data', Opts) -> + avp(T, + Data, + 'Subscription-Id-Data', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id-Type', Opts) -> + avp(T, + Data, + 'Subscription-Id-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Change-Usage', Opts) -> + avp(T, + Data, + 'Tariff-Change-Usage', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Time-Change', Opts) -> + avp(T, + Data, + 'Tariff-Time-Change', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Unit-Value', Opts) -> + grouped_avp(T, 'Unit-Value', Data, Opts); +avp(T, Data, 'Used-Service-Unit', Opts) -> + grouped_avp(T, 'Used-Service-Unit', Data, Opts); +avp(T, Data, 'User-Equipment-Info', Opts) -> + grouped_avp(T, 'User-Equipment-Info', Data, Opts); +avp(T, Data, 'User-Equipment-Info-Type', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'User-Equipment-Info-Value', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Validity-Time', Opts) -> + avp(T, + Data, + 'Validity-Time', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Value-Digits', Opts) -> + avp(T, Data, 'Value-Digits', Opts, diameter_rfc4006_cc); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(T, Data, 'Address-Realm', Opts) -> + avp(T, + Data, + 'Address-Realm', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Aggregation-Network-Type', Opts) -> + avp(T, + Data, + 'Aggregation-Network-Type', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Application-Class-ID', Opts) -> + avp(T, + Data, + 'Application-Class-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'IP-Connectivity-Status', Opts) -> + avp(T, + Data, + 'IP-Connectivity-Status', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Initial-Gate-Setting-ID', Opts) -> + avp(T, + Data, + 'Initial-Gate-Setting-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Logical-Access-ID', Opts) -> + avp(T, + Data, + 'Logical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-DL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-UL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Physical-Access-ID', Opts) -> + avp(T, + Data, + 'Physical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'QoS-Profile-ID', Opts) -> + avp(T, + Data, + 'QoS-Profile-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Transport-Class', Opts) -> + avp(T, + Data, + 'Transport-Class', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Additional-MBMS-Trace-Info', Opts) -> + avp(T, + Data, + 'Additional-MBMS-Trace-Info', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'Alternative-APN', Opts) -> + avp(T, + Data, + 'Alternative-APN', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'CN-IP-Multicast-Distribution', Opts) -> + avp(T, + Data, + 'CN-IP-Multicast-Distribution', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-2G-3G-Indicator', Opts) -> + avp(T, + Data, + 'MBMS-2G-3G-Indicator', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-BMSC-SSM-IP-Address', Opts) -> + avp(T, + Data, + 'MBMS-BMSC-SSM-IP-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-BMSC-SSM-IPv6-Address', Opts) -> + avp(T, + Data, + 'MBMS-BMSC-SSM-IPv6-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Counting-Information', Opts) -> + avp(T, + Data, + 'MBMS-Counting-Information', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Flow-Identifier', Opts) -> + avp(T, + Data, + 'MBMS-Flow-Identifier', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-GGSN-Address', Opts) -> + avp(T, + Data, + 'MBMS-GGSN-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + 'MBMS-GGSN-IPv6-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-HC-Indicator', Opts) -> + avp(T, + Data, + 'MBMS-HC-Indicator', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Required-QoS', Opts) -> + avp(T, + Data, + 'MBMS-Required-QoS', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Service-Area', Opts) -> + avp(T, + Data, + 'MBMS-Service-Area', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Service-Type', Opts) -> + avp(T, + Data, + 'MBMS-Service-Type', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Session-Duration', Opts) -> + avp(T, + Data, + 'MBMS-Session-Duration', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Session-Identity', Opts) -> + avp(T, + Data, + 'MBMS-Session-Identity', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Session-Repetition-Number', Opts) -> + avp(T, + Data, + 'MBMS-Session-Repetition-Number', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-StartStop-Indication', Opts) -> + avp(T, + Data, + 'MBMS-StartStop-Indication', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Time-To-Data-Transfer', Opts) -> + avp(T, + Data, + 'MBMS-Time-To-Data-Transfer', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-User-Data-Mode-Indication', Opts) -> + avp(T, + Data, + 'MBMS-User-Data-Mode-Indication', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'RAI', Opts) -> + avp(T, Data, 'RAI', Opts, diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'Required-MBMS-Bearer-Capabilities', + Opts) -> + avp(T, + Data, + 'Required-MBMS-Bearer-Capabilities', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'TMGI', Opts) -> + avp(T, Data, 'TMGI', Opts, diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'AF-Application-Identifier', Opts) -> + avp(T, + Data, + 'AF-Application-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Charging-Identifier', Opts) -> + avp(T, + Data, + 'AF-Charging-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Signalling-Protocol', Opts) -> + avp(T, + Data, + 'AF-Signalling-Protocol', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Abort-Cause', Opts) -> + avp(T, + Data, + 'Abort-Cause', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Address', Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Address', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Identifier-Value', + Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Identifier-Value', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Application-Service-Provider-Identity', + Opts) -> + avp(T, + Data, + 'Application-Service-Provider-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Codec-Data', Opts) -> + avp(T, + Data, + 'Codec-Data', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Description', Opts) -> + avp(T, + Data, + 'Flow-Description', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Number', Opts) -> + avp(T, + Data, + 'Flow-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Status', Opts) -> + avp(T, + Data, + 'Flow-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Usage', Opts) -> + avp(T, + Data, + 'Flow-Usage', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flows', Opts) -> + grouped_avp(T, 'Flows', Data, Opts); +avp(T, Data, 'GCS-Identifier', Opts) -> + avp(T, + Data, + 'GCS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'IP-Domain-Id', Opts) -> + avp(T, + Data, + 'IP-Domain-Id', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'MPS-Identifier', Opts) -> + avp(T, + Data, + 'MPS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Component-Number', Opts) -> + avp(T, + Data, + 'Media-Component-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Type', Opts) -> + avp(T, + Data, + 'Media-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RR-Bandwidth', Opts) -> + avp(T, + Data, + 'RR-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RS-Bandwidth', Opts) -> + avp(T, + Data, + 'RS-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Required-Access-Info', Opts) -> + avp(T, + Data, + 'Required-Access-Info', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Rx-Request-Type', Opts) -> + avp(T, + Data, + 'Rx-Request-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'SIP-Forking-Indication', Opts) -> + avp(T, + Data, + 'SIP-Forking-Indication', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-Info-Status', Opts) -> + avp(T, + Data, + 'Service-Info-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-URN', Opts) -> + avp(T, + Data, + 'Service-URN', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Specific-Action', Opts) -> + avp(T, + Data, + 'Specific-Action', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Sponsor-Identity', Opts) -> + avp(T, + Data, + 'Sponsor-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Call-ID-SIP-Header', Opts) -> + avp(T, + Data, + 'Call-ID-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Charging-Information', Opts) -> + grouped_avp(T, 'Charging-Information', Data, Opts); +avp(T, Data, 'Confidentiality-Key', Opts) -> + avp(T, + Data, + 'Confidentiality-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Contact', Opts) -> + avp(T, Data, 'Contact', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Deregistration-Reason', Opts) -> + grouped_avp(T, 'Deregistration-Reason', Data, Opts); +avp(T, Data, 'Digest-Algorithm', Opts) -> + avp(T, + Data, + 'Digest-Algorithm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-HA1', Opts) -> + avp(T, + Data, + 'Digest-HA1', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-QoP', Opts) -> + avp(T, + Data, + 'Digest-QoP', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-Realm', Opts) -> + avp(T, + Data, + 'Digest-Realm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List', Opts) -> + avp(T, + Data, + 'Feature-List', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List-ID', Opts) -> + avp(T, + Data, + 'Feature-List-ID', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'From-SIP-Header', Opts) -> + avp(T, + Data, + 'From-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Initial-CSeq-Sequence-Number', Opts) -> + avp(T, + Data, + 'Initial-CSeq-Sequence-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Integrity-Key', Opts) -> + avp(T, + Data, + 'Integrity-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'LIA-Flags', Opts) -> + avp(T, Data, 'LIA-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Loose-Route-Indication', Opts) -> + avp(T, + Data, + 'Loose-Route-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Mandatory-Capability', Opts) -> + avp(T, + Data, + 'Mandatory-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Multiple-Registration-Indication', + Opts) -> + avp(T, + Data, + 'Multiple-Registration-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Optional-Capability', Opts) -> + avp(T, + Data, + 'Optional-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Originating-Request', Opts) -> + avp(T, + Data, + 'Originating-Request', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Path', Opts) -> + avp(T, Data, 'Path', Opts, diameter_3gpp_ts29_229); +avp(T, Data, + 'Primary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Primary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Primary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Primary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Priviledged-Sender-Indication', Opts) -> + avp(T, + Data, + 'Priviledged-Sender-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Public-Identity', Opts) -> + avp(T, + Data, + 'Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Code', Opts) -> + avp(T, + Data, + 'Reason-Code', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Info', Opts) -> + avp(T, + Data, + 'Reason-Info', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Record-Route', Opts) -> + avp(T, + Data, + 'Record-Route', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SAR-Flags', Opts) -> + avp(T, Data, 'SAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Auth-Data-Item', Opts) -> + grouped_avp(T, 'SIP-Auth-Data-Item', Data, Opts); +avp(T, Data, 'SIP-Authenticate', Opts) -> + avp(T, + Data, + 'SIP-Authenticate', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Context', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Context', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Scheme', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Scheme', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authorization', Opts) -> + avp(T, + Data, + 'SIP-Authorization', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Digest-Authenticate', Opts) -> + grouped_avp(T, 'SIP-Digest-Authenticate', Data, Opts); +avp(T, Data, 'SIP-Item-Number', Opts) -> + avp(T, + Data, + 'SIP-Item-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Number-Auth-Items', Opts) -> + avp(T, + Data, + 'SIP-Number-Auth-Items', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, + 'Secondary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Secondary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Secondary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Secondary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Assignment-Type', Opts) -> + avp(T, + Data, + 'Server-Assignment-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Name', Opts) -> + avp(T, + Data, + 'Server-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Session-Priority', Opts) -> + avp(T, + Data, + 'Session-Priority', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Supported-Applications', Opts) -> + grouped_avp(T, 'Supported-Applications', Data, Opts); +avp(T, Data, 'Supported-Features', Opts) -> + grouped_avp(T, 'Supported-Features', Data, Opts); +avp(T, Data, 'To-SIP-Header', Opts) -> + avp(T, + Data, + 'To-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'UAR-Flags', Opts) -> + avp(T, Data, 'UAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Authorization-Type', Opts) -> + avp(T, + Data, + 'User-Authorization-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data', Opts) -> + avp(T, Data, 'User-Data', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data-Already-Available', Opts) -> + avp(T, + Data, + 'User-Data-Already-Available', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'Visited-Network-Identifier', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Wildcarded-Public-Identity', Opts) -> + avp(T, + Data, + 'Wildcarded-Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'AN-GW-Status', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'AN-GW-Status', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Bearer-Control-Mode', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Bearer-Control-Mode', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Bearer-Control-Mode', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Bearer-Control-Mode', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Bearer-Control-Mode', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Bearer-Control-Mode', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Bearer-Operation', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Bearer-Operation', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Bearer-Operation', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Bearer-Operation', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Bearer-Operation', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Bearer-Operation', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Bearer-Usage', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Bearer-Usage', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Bearer-Usage', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Bearer-Usage', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Charging-Correlation-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Charging-Correlation-Indicator', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'CSG-Information-Reporting', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'CSG-Information-Reporting', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'CSG-Information-Reporting', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'CSG-Information-Reporting', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'CSG-Information-Reporting', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'CSG-Information-Reporting', + 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Event-Trigger', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Event-Trigger', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Event-Trigger', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Event-Trigger', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Event-Trigger', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Event-Trigger', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Event-Trigger', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Event-Trigger', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Event-Trigger', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Event-Trigger', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Event-Trigger', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Event-Trigger', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Event-Trigger', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'Event-Trigger', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'Event-Trigger', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'Event-Trigger', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 19>>) -> + 19; +enumerated_avp(encode, 'Event-Trigger', 19) -> + <<0, 0, 0, 19>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 20>>) -> + 20; +enumerated_avp(encode, 'Event-Trigger', 20) -> + <<0, 0, 0, 20>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 21>>) -> + 21; +enumerated_avp(encode, 'Event-Trigger', 21) -> + <<0, 0, 0, 21>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 22>>) -> + 22; +enumerated_avp(encode, 'Event-Trigger', 22) -> + <<0, 0, 0, 22>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 23>>) -> + 23; +enumerated_avp(encode, 'Event-Trigger', 23) -> + <<0, 0, 0, 23>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 24>>) -> + 24; +enumerated_avp(encode, 'Event-Trigger', 24) -> + <<0, 0, 0, 24>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 25>>) -> + 25; +enumerated_avp(encode, 'Event-Trigger', 25) -> + <<0, 0, 0, 25>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 26>>) -> + 26; +enumerated_avp(encode, 'Event-Trigger', 26) -> + <<0, 0, 0, 26>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 27>>) -> + 27; +enumerated_avp(encode, 'Event-Trigger', 27) -> + <<0, 0, 0, 27>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 28>>) -> + 28; +enumerated_avp(encode, 'Event-Trigger', 28) -> + <<0, 0, 0, 28>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 29>>) -> + 29; +enumerated_avp(encode, 'Event-Trigger', 29) -> + <<0, 0, 0, 29>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 30>>) -> + 30; +enumerated_avp(encode, 'Event-Trigger', 30) -> + <<0, 0, 0, 30>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 33>>) -> + 33; +enumerated_avp(encode, 'Event-Trigger', 33) -> + <<0, 0, 0, 33>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 34>>) -> + 34; +enumerated_avp(encode, 'Event-Trigger', 34) -> + <<0, 0, 0, 34>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 35>>) -> + 35; +enumerated_avp(encode, 'Event-Trigger', 35) -> + <<0, 0, 0, 35>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 36>>) -> + 36; +enumerated_avp(encode, 'Event-Trigger', 36) -> + <<0, 0, 0, 36>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 37>>) -> + 37; +enumerated_avp(encode, 'Event-Trigger', 37) -> + <<0, 0, 0, 37>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 39>>) -> + 39; +enumerated_avp(encode, 'Event-Trigger', 39) -> + <<0, 0, 0, 39>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 40>>) -> + 40; +enumerated_avp(encode, 'Event-Trigger', 40) -> + <<0, 0, 0, 40>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 42>>) -> + 42; +enumerated_avp(encode, 'Event-Trigger', 42) -> + <<0, 0, 0, 42>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 43>>) -> + 43; +enumerated_avp(encode, 'Event-Trigger', 43) -> + <<0, 0, 0, 43>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 44>>) -> + 44; +enumerated_avp(encode, 'Event-Trigger', 44) -> + <<0, 0, 0, 44>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 45>>) -> + 45; +enumerated_avp(encode, 'Event-Trigger', 45) -> + <<0, 0, 0, 45>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 46>>) -> + 46; +enumerated_avp(encode, 'Event-Trigger', 46) -> + <<0, 0, 0, 46>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 47>>) -> + 47; +enumerated_avp(encode, 'Event-Trigger', 47) -> + <<0, 0, 0, 47>>; +enumerated_avp(decode, 'Event-Trigger', + <<0, 0, 0, 48>>) -> + 48; +enumerated_avp(encode, 'Event-Trigger', 48) -> + <<0, 0, 0, 48>>; +enumerated_avp(decode, 'Flow-Direction', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Flow-Direction', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Flow-Direction', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Flow-Direction', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Flow-Direction', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Flow-Direction', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Flow-Direction', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Flow-Direction', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'IP-CAN-Session-Charging-Scope', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'IP-CAN-Session-Charging-Scope', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'IP-CAN-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'IP-CAN-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'IP-CAN-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'IP-CAN-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'IP-CAN-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'IP-CAN-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'IP-CAN-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'IP-CAN-Type', <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'IP-CAN-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Metering-Method', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Metering-Method', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Metering-Method', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Metering-Method', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Metering-Method', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Metering-Method', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Metering-Method', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Metering-Method', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Mute-Notification', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Mute-Notification', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Network-Request-Support', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Network-Request-Support', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Network-Request-Support', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Network-Request-Support', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Offline', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'Offline', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Offline', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'Offline', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Online', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'Online', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Online', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'Online', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Packet-Filter-Operation', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Packet-Filter-Operation', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Packet-Filter-Operation', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Packet-Filter-Operation', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Packet-Filter-Operation', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Packet-Filter-Operation', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Packet-Filter-Usage', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Packet-Filter-Usage', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PCC-Rule-Status', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PCC-Rule-Status', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PCC-Rule-Status', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PCC-Rule-Status', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PCC-Rule-Status', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PCC-Rule-Status', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Pre-emption-Capability', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Pre-emption-Capability', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Pre-emption-Capability', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Pre-emption-Capability', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Pre-emption-Vulnerability', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Pre-emption-Vulnerability', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Pre-emption-Vulnerability', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Pre-emption-Vulnerability', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PS-to-CS-Session-Continuity', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PS-to-CS-Session-Continuity', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'QoS-Class-Identifier', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'QoS-Class-Identifier', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'QoS-Class-Identifier', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'QoS-Class-Identifier', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'QoS-Class-Identifier', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'QoS-Class-Identifier', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'QoS-Class-Identifier', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'QoS-Class-Identifier', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'QoS-Class-Identifier', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 65>>) -> + 65; +enumerated_avp(encode, 'QoS-Class-Identifier', 65) -> + <<0, 0, 0, 65>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 66>>) -> + 66; +enumerated_avp(encode, 'QoS-Class-Identifier', 66) -> + <<0, 0, 0, 66>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 69>>) -> + 69; +enumerated_avp(encode, 'QoS-Class-Identifier', 69) -> + <<0, 0, 0, 69>>; +enumerated_avp(decode, 'QoS-Class-Identifier', + <<0, 0, 0, 70>>) -> + 70; +enumerated_avp(encode, 'QoS-Class-Identifier', 70) -> + <<0, 0, 0, 70>>; +enumerated_avp(decode, 'QoS-Negotiation', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'QoS-Negotiation', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'QoS-Negotiation', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'QoS-Negotiation', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'QoS-Upgrade', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'QoS-Upgrade', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'QoS-Upgrade', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'QoS-Upgrade', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'RAT-Type', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'RAT-Type', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 3, 232>>) -> + 1000; +enumerated_avp(encode, 'RAT-Type', 1000) -> + <<0, 0, 3, 232>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 3, 233>>) -> + 1001; +enumerated_avp(encode, 'RAT-Type', 1001) -> + <<0, 0, 3, 233>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 3, 234>>) -> + 1002; +enumerated_avp(encode, 'RAT-Type', 1002) -> + <<0, 0, 3, 234>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 3, 235>>) -> + 1003; +enumerated_avp(encode, 'RAT-Type', 1003) -> + <<0, 0, 3, 235>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 3, 236>>) -> + 1004; +enumerated_avp(encode, 'RAT-Type', 1004) -> + <<0, 0, 3, 236>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 7, 208>>) -> + 2000; +enumerated_avp(encode, 'RAT-Type', 2000) -> + <<0, 0, 7, 208>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 7, 209>>) -> + 2001; +enumerated_avp(encode, 'RAT-Type', 2001) -> + <<0, 0, 7, 209>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 7, 210>>) -> + 2002; +enumerated_avp(encode, 'RAT-Type', 2002) -> + <<0, 0, 7, 210>>; +enumerated_avp(decode, 'RAT-Type', <<0, 0, 7, 211>>) -> + 2003; +enumerated_avp(encode, 'RAT-Type', 2003) -> + <<0, 0, 7, 211>>; +enumerated_avp(decode, 'Redirect-Support', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Redirect-Support', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Redirect-Support', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Redirect-Support', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Reporting-Level', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Reporting-Level', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Reporting-Level', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Reporting-Level', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Reporting-Level', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Reporting-Level', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, + 'Resource-Allocation-Notification', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Resource-Allocation-Notification', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Rule-Failure-Code', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Rule-Failure-Code', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Rule-Failure-Code', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Rule-Failure-Code', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Rule-Failure-Code', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Rule-Failure-Code', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Rule-Failure-Code', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Rule-Failure-Code', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Rule-Failure-Code', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Rule-Failure-Code', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Rule-Failure-Code', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Rule-Failure-Code', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Rule-Failure-Code', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Rule-Failure-Code', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Rule-Failure-Code', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'Rule-Failure-Code', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'Rule-Failure-Code', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'Rule-Failure-Code', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 19>>) -> + 19; +enumerated_avp(encode, 'Rule-Failure-Code', 19) -> + <<0, 0, 0, 19>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 20>>) -> + 20; +enumerated_avp(encode, 'Rule-Failure-Code', 20) -> + <<0, 0, 0, 20>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 21>>) -> + 21; +enumerated_avp(encode, 'Rule-Failure-Code', 21) -> + <<0, 0, 0, 21>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 22>>) -> + 22; +enumerated_avp(encode, 'Rule-Failure-Code', 22) -> + <<0, 0, 0, 22>>; +enumerated_avp(decode, 'Rule-Failure-Code', + <<0, 0, 0, 23>>) -> + 23; +enumerated_avp(encode, 'Rule-Failure-Code', 23) -> + <<0, 0, 0, 23>>; +enumerated_avp(decode, 'Session-Release-Cause', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Session-Release-Cause', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Session-Release-Cause', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Session-Release-Cause', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Session-Release-Cause', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Session-Release-Cause', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Session-Release-Cause', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Session-Release-Cause', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Session-Release-Cause', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Session-Release-Cause', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Usage-Monitoring-Level', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Usage-Monitoring-Level', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Usage-Monitoring-Level', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Usage-Monitoring-Level', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Usage-Monitoring-Level', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Usage-Monitoring-Level', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Usage-Monitoring-Report', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Usage-Monitoring-Report', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Usage-Monitoring-Support', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Usage-Monitoring-Support', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Access-Network-Charging-Identifier-Gx', + Opts) -> + empty_group('Access-Network-Charging-Identifier-Gx', + Opts); +empty_value('Allocation-Retention-Priority', Opts) -> + empty_group('Allocation-Retention-Priority', Opts); +empty_value('Application-Detection-Information', + Opts) -> + empty_group('Application-Detection-Information', Opts); +empty_value('Charging-Rule-Definition', Opts) -> + empty_group('Charging-Rule-Definition', Opts); +empty_value('Charging-Rule-Install', Opts) -> + empty_group('Charging-Rule-Install', Opts); +empty_value('Charging-Rule-Remove', Opts) -> + empty_group('Charging-Rule-Remove', Opts); +empty_value('Charging-Rule-Report', Opts) -> + empty_group('Charging-Rule-Report', Opts); +empty_value('CoA-Information', Opts) -> + empty_group('CoA-Information', Opts); +empty_value('Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + empty_group('Conditional-APN-Aggregate-Max-Bitrate', + Opts); +empty_value('Default-EPS-Bearer-QoS', Opts) -> + empty_group('Default-EPS-Bearer-QoS', Opts); +empty_value('Default-QoS-Information', Opts) -> + empty_group('Default-QoS-Information', Opts); +empty_value('Event-Report-Indication', Opts) -> + empty_group('Event-Report-Indication', Opts); +empty_value('Fixed-User-Location-Info', Opts) -> + empty_group('Fixed-User-Location-Info', Opts); +empty_value('Flow-Information', Opts) -> + empty_group('Flow-Information', Opts); +empty_value('Packet-Filter-Information', Opts) -> + empty_group('Packet-Filter-Information', Opts); +empty_value('Presence-Reporting-Area-Information', + Opts) -> + empty_group('Presence-Reporting-Area-Information', + Opts); +empty_value('QoS-Information', Opts) -> + empty_group('QoS-Information', Opts); +empty_value('Redirect-Information', Opts) -> + empty_group('Redirect-Information', Opts); +empty_value('Routing-Filter', Opts) -> + empty_group('Routing-Filter', Opts); +empty_value('Routing-Rule-Definition', Opts) -> + empty_group('Routing-Rule-Definition', Opts); +empty_value('Routing-Rule-Install', Opts) -> + empty_group('Routing-Rule-Install', Opts); +empty_value('Routing-Rule-Remove', Opts) -> + empty_group('Routing-Rule-Remove', Opts); +empty_value('TDF-Information', Opts) -> + empty_group('TDF-Information', Opts); +empty_value('Tunnel-Information', Opts) -> + empty_group('Tunnel-Information', Opts); +empty_value('TFT-Packet-Filter-Information', Opts) -> + empty_group('TFT-Packet-Filter-Information', Opts); +empty_value('Usage-Monitoring-Information', Opts) -> + empty_group('Usage-Monitoring-Information', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('CHAP-Auth', Opts) -> + empty_group('CHAP-Auth', Opts); +empty_value('Tunneling', Opts) -> + empty_group('Tunneling', Opts); +empty_value('Cost-Information', Opts) -> + empty_group('Cost-Information', Opts); +empty_value('Unit-Value', Opts) -> + empty_group('Unit-Value', Opts); +empty_value('Multiple-Services-Credit-Control', Opts) -> + empty_group('Multiple-Services-Credit-Control', Opts); +empty_value('Granted-Service-Unit', Opts) -> + empty_group('Granted-Service-Unit', Opts); +empty_value('Requested-Service-Unit', Opts) -> + empty_group('Requested-Service-Unit', Opts); +empty_value('Used-Service-Unit', Opts) -> + empty_group('Used-Service-Unit', Opts); +empty_value('CC-Money', Opts) -> + empty_group('CC-Money', Opts); +empty_value('G-S-U-Pool-Reference', Opts) -> + empty_group('G-S-U-Pool-Reference', Opts); +empty_value('Final-Unit-Indication', Opts) -> + empty_group('Final-Unit-Indication', Opts); +empty_value('Redirect-Server', Opts) -> + empty_group('Redirect-Server', Opts); +empty_value('Service-Parameter-Info', Opts) -> + empty_group('Service-Parameter-Info', Opts); +empty_value('Subscription-Id', Opts) -> + empty_group('Subscription-Id', Opts); +empty_value('User-Equipment-Info', Opts) -> + empty_group('User-Equipment-Info', Opts); +empty_value('Flows', Opts) -> + empty_group('Flows', Opts); +empty_value('Charging-Information', Opts) -> + empty_group('Charging-Information', Opts); +empty_value('Supported-Features', Opts) -> + empty_group('Supported-Features', Opts); +empty_value('Supported-Applications', Opts) -> + empty_group('Supported-Applications', Opts); +empty_value('SIP-Auth-Data-Item', Opts) -> + empty_group('SIP-Auth-Data-Item', Opts); +empty_value('Deregistration-Reason', Opts) -> + empty_group('Deregistration-Reason', Opts); +empty_value('SIP-Digest-Authenticate', Opts) -> + empty_group('SIP-Digest-Authenticate', Opts); +empty_value('AN-GW-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Control-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Operation', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Correlation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Information-Reporting', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Trigger', _) -> <<0, 0, 0, 0>>; +empty_value('Flow-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('IP-CAN-Session-Charging-Scope', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-CAN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Metering-Method', _) -> <<0, 0, 0, 0>>; +empty_value('Mute-Notification', _) -> <<0, 0, 0, 0>>; +empty_value('Network-Request-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Offline', _) -> <<0, 0, 0, 0>>; +empty_value('Online', _) -> <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Operation', _) -> + <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('PCC-Rule-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Pre-emption-Capability', _) -> + <<0, 0, 0, 0>>; +empty_value('Pre-emption-Vulnerability', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-to-CS-Session-Continuity', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Class-Identifier', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Negotiation', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Upgrade', _) -> <<0, 0, 0, 0>>; +empty_value('RAT-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Support', _) -> <<0, 0, 0, 0>>; +empty_value('Reporting-Level', _) -> <<0, 0, 0, 0>>; +empty_value('Resource-Allocation-Notification', _) -> + <<0, 0, 0, 0>>; +empty_value('Rule-Failure-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Release-Cause', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Level', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Report', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('NAS-Port-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Prompt', _) -> <<0, 0, 0, 0>>; +empty_value('CHAP-Algorithm', _) -> <<0, 0, 0, 0>>; +empty_value('Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Routing', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Compression', _) -> <<0, 0, 0, 0>>; +empty_value('ARAP-Zone-Access', _) -> <<0, 0, 0, 0>>; +empty_value('Login-Service', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Medium-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Acct-Authentic', _) -> <<0, 0, 0, 0>>; +empty_value('Accounting-Auth-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('CC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Session-Failover', _) -> <<0, 0, 0, 0>>; +empty_value('Check-Balance-Result', _) -> + <<0, 0, 0, 0>>; +empty_value('Credit-Control', _) -> <<0, 0, 0, 0>>; +empty_value('Credit-Control-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Direct-Debiting-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Tariff-Change-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Unit-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Final-Unit-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Address-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Multiple-Services-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Subscription-Id-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Equipment-Info-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Server-Assignment-Type', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"AN-GW-Address", 1050, "Address", "V"}, + {"AN-GW-Status", 2811, "Enumerated", "V"}, + {"APN-Aggregate-Max-Bitrate-DL", + 1040, + "Unsigned32", + "V"}, + {"APN-Aggregate-Max-Bitrate-UL", + 1041, + "Unsigned32", + "V"}, + {"Access-Network-Charging-Identifier-Gx", + 1022, + "Grouped", + "MV"}, + {"Allocation-Retention-Priority", 1034, "Grouped", "V"}, + {"Application-Detection-Information", + 1098, + "Grouped", + "V"}, + {"Bearer-Control-Mode", 1023, "Enumerated", "MV"}, + {"Bearer-Identifier", 1020, "OctetString", "MV"}, + {"Bearer-Operation", 1021, "Enumerated", "MV"}, + {"Bearer-Usage", 1000, "Enumerated", "MV"}, + {"CSG-Information-Reporting", 1071, "Enumerated", "V"}, + {"Charging-Correlation-Indicator", + 1073, + "Enumerated", + "V"}, + {"Charging-Rule-Base-Name", 1004, "UTF8String", "MV"}, + {"Charging-Rule-Definition", 1003, "Grouped", "MV"}, + {"Charging-Rule-Install", 1001, "Grouped", "MV"}, + {"Charging-Rule-Name", 1005, "OctetString", "MV"}, + {"Charging-Rule-Remove", 1002, "Grouped", "MV"}, + {"Charging-Rule-Report", 1018, "Grouped", "MV"}, + {"CoA-IP-Address", 1035, "Address", "V"}, + {"CoA-Information", 1039, "Grouped", "V"}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + "Grouped", + "V"}, + {"Credit-Management-Status", 1082, "Unsigned32", "V"}, + {"Default-EPS-Bearer-QoS", 1049, "Grouped", "V"}, + {"Default-QoS-Information", 2816, "Grouped", "V"}, + {"Default-QoS-Name", 2817, "UTF8String", "V"}, + {"Event-Report-Indication", 1033, "Grouped", "V"}, + {"Event-Trigger", 1006, "Enumerated", "MV"}, + {"Fixed-User-Location-Info", 2825, "Grouped", "V"}, + {"Flow-Direction", 1080, "Enumerated", "V"}, + {"Flow-Information", 1058, "Grouped", "V"}, + {"Flow-Label", 1057, "OctetString", "V"}, + {"Guaranteed-Bitrate-DL", 1025, "Unsigned32", "MV"}, + {"Guaranteed-Bitrate-UL", 1026, "Unsigned32", "MV"}, + {"HeNB-Local-IP-Address", 2804, "Address", "V"}, + {"IP-CAN-Session-Charging-Scope", + 2827, + "Enumerated", + "V"}, + {"IP-CAN-Type", 1027, "Enumerated", "MV"}, + {"Metering-Method", 1007, "Enumerated", "MV"}, + {"Monitoring-Key", 1066, "OctetString", "V"}, + {"Monitoring-Time", 2810, "Time", "V"}, + {"Mute-Notification", 2809, "Enumerated", "V"}, + {"NetLoc-Access-Support", 2824, "Unsigned32", "V"}, + {"Network-Request-Support", 1024, "Enumerated", "MV"}, + {"Offline", 1008, "Enumerated", "MV"}, + {"Online", 1009, "Enumerated", "MV"}, + {"PCC-Rule-Status", 1019, "Enumerated", "MV"}, + {"PCSCF-Restoration-Indication", + 2826, + "Unsigned32", + "V"}, + {"PDN-Connection-ID", 1065, "OctetString", "V"}, + {"PS-to-CS-Session-Continuity", + 1099, + "Enumerated", + "V"}, + {"Packet-Filter-Content", 1059, "IPFilterRule", "V"}, + {"Packet-Filter-Identifier", 1060, "OctetString", "V"}, + {"Packet-Filter-Information", 1061, "Grouped", "V"}, + {"Packet-Filter-Operation", 1062, "Enumerated", "V"}, + {"Packet-Filter-Usage", 1072, "Enumerated", "V"}, + {"Pre-emption-Capability", 1047, "Enumerated", "V"}, + {"Pre-emption-Vulnerability", 1048, "Enumerated", "V"}, + {"Precedence", 1010, "Unsigned32", "MV"}, + {"Presence-Reporting-Area-Elements-List", + 2820, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Identifier", + 2821, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Information", + 2822, + "Grouped", + "V"}, + {"Presence-Reporting-Area-Status", + 2823, + "Unsigned32", + "V"}, + {"Priority-Level", 1046, "Unsigned32", "V"}, + {"QoS-Class-Identifier", 1028, "Enumerated", "MV"}, + {"QoS-Information", 1016, "Grouped", "MV"}, + {"QoS-Negotiation", 1029, "Enumerated", "MV"}, + {"QoS-Upgrade", 1030, "Enumerated", "MV"}, + {"RAN-NAS-Release-Cause", 2819, "OctetString", "V"}, + {"RAT-Type", 1032, "Enumerated", "V"}, + {"Redirect-Information", 1085, "Grouped", "V"}, + {"Redirect-Support", 1086, "Enumerated", "V"}, + {"Reporting-Level", 1011, "Enumerated", "MV"}, + {"Resource-Allocation-Notification", + 1063, + "Enumerated", + "V"}, + {"Revalidation-Time", 1042, "Time", "MV"}, + {"Routing-Filter", 1078, "Grouped", "V"}, + {"Routing-IP-Address", 1079, "Address", "V"}, + {"Routing-Rule-Definition", 1076, "Grouped", "V"}, + {"Routing-Rule-Identifier", 1077, "OctetString", "V"}, + {"Routing-Rule-Install", 1081, "Grouped", "V"}, + {"Routing-Rule-Remove", 1075, "Grouped", "V"}, + {"Rule-Activation-Time", 1043, "Time", "MV"}, + {"Rule-Deactivation-Time", 1044, "Time", "MV"}, + {"Rule-Failure-Code", 1031, "Enumerated", "MV"}, + {"Security-Parameter-Index", 1056, "OctetString", "V"}, + {"Session-Release-Cause", 1045, "Enumerated", "MV"}, + {"TDF-Application-Identifier", + 1088, + "OctetString", + "V"}, + {"TDF-Application-Instance-Identifier", + 2802, + "OctetString", + "V"}, + {"TDF-Destination-Host", 1089, "DiameterIdentity", "V"}, + {"TDF-Destination-Realm", + 1090, + "DiameterIdentity", + "V"}, + {"TDF-IP-Address", 1091, "Address", "V"}, + {"TDF-Information", 1087, "Grouped", "V"}, + {"TFT-Filter", 1012, "IPFilterRule", "MV"}, + {"TFT-Packet-Filter-Information", + 1013, + "Grouped", + "MV"}, + {"ToS-Traffic-Class", 1014, "OctetString", "MV"}, + {"Tunnel-Header-Filter", 1036, "IPFilterRule", "V"}, + {"Tunnel-Header-Length", 1037, "Unsigned32", "V"}, + {"Tunnel-Information", 1038, "Grouped", "V"}, + {"UDP-Source-Port", 2806, "Unsigned32", "V"}, + {"UE-Local-IP-Address", 2805, "Address", "V"}, + {"Usage-Monitoring-Information", 1067, "Grouped", "V"}, + {"Usage-Monitoring-Level", 1068, "Enumerated", "V"}, + {"Usage-Monitoring-Report", 1069, "Enumerated", "V"}, + {"Usage-Monitoring-Support", 1070, "Enumerated", "V"}, + {"User-Location-Info-Time", 2812, "Time", "V"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, + [{272, "CCR", "CCA"}, {258, "RAR", "RAA"}]}, + {custom_types, []}, + {define, + [{"Presence-Reporting-Area-Status", + [{"IN_AREA", 0}, {"OUT_OF_AREA", 1}]}, + {"NetLoc-Access-Support", + [{"NETLOC_ACCESS_NOT_SUPPORTED", 0}]}, + {"PCSCF-Restoration-Indication", + [{"PCSCF_RESTORATION", 0}]}]}, + {enum, + [{"AN-GW-Status", [{"AN_GW_FAILED", 0}]}, + {"Bearer-Control-Mode", + [{"UE_ONLY", 0}, {"RESERVED", 1}, {"UE_NW", 2}]}, + {"Bearer-Operation", + [{"TERMINATION", 0}, + {"ESTABLISHMENT", 1}, + {"MODIFICATION", 2}]}, + {"Bearer-Usage", + [{"GENERAL", 0}, {"IMS_SIGNALLING", 1}]}, + {"Charging-Correlation-Indicator", + [{"CHARGING_IDENTIFIER_REQUIRED", 0}]}, + {"CSG-Information-Reporting", + [{"CHANGE_CSG_CELL", 0}, + {"CHANGE_CSG_SUBSCRIBED_HYBRID_CELL", 1}, + {"CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL", 2}]}, + {"Event-Trigger", + [{"SGSN_CHANGE", 0}, + {"QOS_CHANGE", 1}, + {"RAT_CHANGE", 2}, + {"TFT_CHANGE", 3}, + {"PLMN_CHANGE", 4}, + {"LOSS_OF_BEARER", 5}, + {"RECOVERY_OF_BEARER", 6}, + {"IP-CAN_CHANGE", 7}, + {"QOS_CHANGE_EXCEEDING_AUTHORIZATION", 11}, + {"RAI_CHANGE", 12}, + {"USER_LOCATION_CHANGE", 13}, + {"NO_EVENT_TRIGGERS", 14}, + {"OUT_OF_CREDIT", 15}, + {"REALLOCATION_OF_CREDIT", 16}, + {"REVALIDATION_TIMEOUT", 17}, + {"UE_IP_ADDRESS_ALLOCATE", 18}, + {"UE_IP_ADDRESS_RELEASE", 19}, + {"DEFAULT_EPS_BEARER_QOS_CHANGE", 20}, + {"AN_GW_CHANGE", 21}, + {"SUCCESSFUL_RESOURCE_ALLOCATION", 22}, + {"RESOURCE_MODIFICATION_REQUEST", 23}, + {"PGW_TRACE_CONTROL", 24}, + {"UE_TIME_ZONE_CHANGE", 25}, + {"TAI_CHANGE", 26}, + {"ECGI_CHANGE", 27}, + {"CHARGING_CORRELATION_EXCHANGE", 28}, + {"APN-AMBR_MODIFICATION_FAILURE", 29}, + {"USER_CSG_INFORMATION_CHANGE", 30}, + {"USAGE_REPORT", 33}, + {"DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE", 34}, + {"USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE", 35}, + {"USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE", 36}, + {"ROUTING_RULE_CHANGE", 37}, + {"APPLICATION_START", 39}, + {"APPLICATION_STOP", 40}, + {"CS_TO_PS_HANDOVER", 42}, + {"UE_LOCAL_IP_ADDRESS_CHANGE", 43}, + {"HNB_LOCAL_IP_ADDRESS_CHANGE", 44}, + {"ACCESS_NETWORK_INFO_REPORT", 45}, + {"CREDIT_MANAGEMENT_SESSION_FAILURE", 46}, + {"DEFAULT_QOS_CHANGE", 47}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_A" + "REA_REPORT", + 48}]}, + {"Flow-Direction", + [{"UNSPECIFIED", 0}, + {"DOWNLINK", 1}, + {"UPLINK", 2}, + {"BIDIRECTIONAL", 3}]}, + {"IP-CAN-Session-Charging-Scope", + [{"IP-CAN_SESSION_SCOPE", 0}]}, + {"IP-CAN-Type", + [{"3GPP-GPRS", 0}, + {"DOCSIS", 1}, + {"xDSL", 2}, + {"WiMAX", 3}, + {"3GPP2", 4}, + {"3GPP-EPS", 5}, + {"Non-3GPP-EPS", 6}, + {"FBA", 7}]}, + {"Metering-Method", + [{"DURATION", 0}, + {"VOLUME", 1}, + {"DURATION_VOLUME", 2}, + {"EVENT", 3}]}, + {"Mute-Notification", [{"MUTE_REQUIRED", 0}]}, + {"Network-Request-Support", + [{"NETWORK_REQUEST_NOT_SUPPORTED", 0}, + {"NETWORK_REQUEST_SUPPORTED", 1}]}, + {"Offline", + [{"DISABLE_OFFLINE", 0}, {"ENABLE_OFFLINE", 1}]}, + {"Online", + [{"DISABLE_ONLINE", 0}, {"ENABLE_ONLINE", 1}]}, + {"Packet-Filter-Operation", + [{"DELETION", 0}, + {"ADDITION", 1}, + {"MODIFICATION", 2}]}, + {"Packet-Filter-Usage", [{"SEND_TO_UE", 1}]}, + {"PCC-Rule-Status", + [{"ACTIVE", 0}, + {"INACTIVE", 1}, + {"TEMPORARILY_INACTIVE", 2}]}, + {"Pre-emption-Capability", + [{"PRE-EMPTION_CAPABILITY_ENABLED", 0}, + {"PRE-EMPTION_CAPABILITY_DISABLED", 1}]}, + {"Pre-emption-Vulnerability", + [{"PRE-EMPTION_VULNERABILITY_ENABLED", 0}, + {"PRE-EMPTION_VULNERABILITY_DISABLED", 1}]}, + {"PS-to-CS-Session-Continuity", + [{"VIDEO_PS2CS_CONT_CANDIDATE", 0}]}, + {"QoS-Class-Identifier", + [{"QCI_1", 1}, + {"QCI_2", 2}, + {"QCI_3", 3}, + {"QCI_4", 4}, + {"QCI_5", 5}, + {"QCI_6", 6}, + {"QCI_7", 7}, + {"QCI_8", 8}, + {"QCI_9", 9}, + {"QCI_65", 65}, + {"QCI_66", 66}, + {"QCI_69", 69}, + {"QCI_70", 70}]}, + {"QoS-Negotiation", + [{"NO_QoS_NEGOTIATION", 0}, + {"QoS_NEGOTIATION_SUPPORTED", 1}]}, + {"QoS-Upgrade", + [{"QoS_UPGRADE_NOT_SUPPORTED", 0}, + {"QoS_UPGRADE_SUPPORTED", 1}]}, + {"RAT-Type", + [{"WLAN", 0}, + {"VIRTUAL", 1}, + {"UTRAN", 1000}, + {"GERAN", 1001}, + {"GAN", 1002}, + {"HSPA_EVOLUTION", 1003}, + {"EUTRAN", 1004}, + {"CDMA2000_1X", 2000}, + {"HRPD", 2001}, + {"UMB", 2002}, + {"EHRPD", 2003}]}, + {"Redirect-Support", + [{"REDIRECTION_DISABLED", 0}, + {"REDIRECTION_ENABLED", 1}]}, + {"Reporting-Level", + [{"SERVICE_IDENTIFIER_LEVEL", 0}, + {"RATING_GROUP_LEVEL", 1}, + {"SPONSORED_CONNECTIVITY_LEVEL", 2}]}, + {"Resource-Allocation-Notification", + [{"ENABLE_NOTIFICATION", 0}]}, + {"Rule-Failure-Code", + [{"UNKNOWN_RULE_NAME", 1}, + {"RATING_GROUP_ERROR", 2}, + {"SERVICE_IDENTIFIER_ERROR", 3}, + {"GW_PCEF_MALFUNCTION", 4}, + {"RESOURCES_LIMITATION", 5}, + {"MAX_NR_BEARERS_REACHED", 6}, + {"UNKNOWN_BEARER_ID", 7}, + {"MISSING_BEARER_ID", 8}, + {"MISSING_FLOW_INFORMATION", 9}, + {"RESOURCE_ALLOCATION_FAILURE", 10}, + {"UNSUCCESSFUL_QOS_VALIDATION", 11}, + {"INCORRECT_FLOW_INFORMATION", 12}, + {"PS_TO_CS_HANDOVER", 13}, + {"TDF_APPLICATION_IDENTIFIER_ERROR", 14}, + {"NO_BEARER_BOUND", 15}, + {"FILTER_RESTRICTIONS", 16}, + {"AN_GW_FAILED", 17}, + {"MISSING_REDIRECT_SERVER_ADDRESS", 18}, + {"CM_END_USER_SERVICE_DENIED", 19}, + {"CM_CREDIT_CONTROL_NOT_APPLICABLE", 20}, + {"CM_AUTHORIZATION_REJECTED", 21}, + {"CM_USER_UNKNOWN", 22}, + {"CM_RATING_FAILED", 23}]}, + {"Session-Release-Cause", + [{"UNSPECIFIED_REASON", 0}, + {"UE_SUBSCRIPTION_REASON", 1}, + {"INSUFFICIENT_SERVER_RESOURCES", 2}, + {"IP_CAN_SESSION_TERMINATION", 3}, + {"UE_IP_ADDRESS_RELEASE", 4}]}, + {"Usage-Monitoring-Level", + [{"SESSION_LEVEL", 0}, + {"PCC_RULE_LEVEL", 1}, + {"ADC_RULE_LEVEL", 2}]}, + {"Usage-Monitoring-Report", + [{"USAGE_MONITORING_REPORT_REQUIRED", 0}]}, + {"Usage-Monitoring-Support", + [{"USAGE_MONITORING_DISABLED", 0}]}]}, + {grouped, + [{"Access-Network-Charging-Identifier-Gx", + 1022, + [], + [{"Access-Network-Charging-Identifier-Value"}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Charging-Rule-Name"]}, + ["IP-CAN-Session-Charging-Scope"], + {'*', ["AVP"]}]}, + {"Allocation-Retention-Priority", + 1034, + [], + [{"Priority-Level"}, + ["Pre-emption-Capability"], + ["Pre-emption-Vulnerability"]]}, + {"Application-Detection-Information", + 1098, + [], + [{"TDF-Application-Identifier"}, + ["TDF-Application-Instance-Identifier"], + {'*', ["Flow-Information"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Definition", + 1003, + [], + [{"Charging-Rule-Name"}, + ["Service-Identifier"], + ["Rating-Group"], + {'*', ["Flow-Information"]}, + ["TDF-Application-Identifier"], + ["Flow-Status"], + ["QoS-Information"], + ["PS-to-CS-Session-Continuity"], + ["Reporting-Level"], + ["Online"], + ["Offline"], + ["Metering-Method"], + ["Precedence"], + ["AF-Charging-Identifier"], + {'*', ["Flows"]}, + ["Monitoring-Key"], + ["Redirect-Information"], + ["Mute-Notification"], + ["AF-Signalling-Protocol"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Install", + 1001, + [], + [{'*', ["Charging-Rule-Definition"]}, + {'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["Rule-Activation-Time"], + ["Rule-Deactivation-Time"], + ["Resource-Allocation-Notification"], + ["Charging-Correlation-Indicator"], + {'*', ["AVP"]}]}, + {"Charging-Rule-Remove", + 1002, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Report", + 1018, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["PCC-Rule-Status"], + ["Rule-Failure-Code"], + ["Final-Unit-Indication"], + {'*', ["RAN-NAS-Release-Cause"]}, + {'*', ["AVP"]}]}, + {"CoA-Information", + 1039, + [], + [{"Tunnel-Information"}, + {"CoA-IP-Address"}, + {'*', ["AVP"]}]}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + [], + [["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["IP-CAN-Type"]}, + {'*', ["RAT-Type"]}, + {'*', ["AVP"]}]}, + {"Default-EPS-Bearer-QoS", + 1049, + [], + [["QoS-Class-Identifier"], + ["Allocation-Retention-Priority"], + {'*', ["AVP"]}]}, + {"Default-QoS-Information", + 2816, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Default-QoS-Name"], + {'*', ["AVP"]}]}, + {"Event-Report-Indication", + 1033, + [], + [{'*', ["Event-Trigger"]}, + ["IP-CAN-Type"], + {{0, 2}, ["AN-GW-Address"]}, + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["3GPP-SGSN-MCC-MNC"], + ["Framed-IP-Address"], + ["RAT-Type"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["3GPP-MS-TimeZone"], + ["Routing-IP-Address"], + ["UE-Local-IP-Address"], + ["HeNB-Local-IP-Address"], + ["UDP-Source-Port"], + ["Presence-Reporting-Area-Information"], + {'*', ["AVP"]}]}, + {"Fixed-User-Location-Info", + 2825, + [], + [["Logical-Access-ID"], + ["Physical-Access-ID"], + {'*', ["AVP"]}]}, + {"Flow-Information", + 1058, + [], + [["Flow-Description"], + ["Packet-Filter-Identifier"], + ["Packet-Filter-Usage"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Packet-Filter-Information", + 1061, + [], + [["Packet-Filter-Identifier"], + ["Precedence"], + ["Packet-Filter-Content"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Presence-Reporting-Area-Information", + 2822, + [], + [["Presence-Reporting-Area-Identifier"], + ["Presence-Reporting-Area-Status"], + ["Presence-Reporting-Area-Elements-List"], + {'*', ["AVP"]}]}, + {"QoS-Information", + 1016, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Guaranteed-Bitrate-UL"], + ["Guaranteed-Bitrate-DL"], + ["Bearer-Identifier"], + ["Allocation-Retention-Priority"], + ["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["Conditional-APN-Aggregate-Max-Bitrate"]}, + {'*', ["AVP"]}]}, + {"Redirect-Information", + 1085, + [], + [["Redirect-Support"], + ["Redirect-Address-Type"], + ["Redirect-Server-Address"], + {'*', ["AVP"]}]}, + {"Routing-Filter", + 1078, + [], + [{"Flow-Description"}, + {"Flow-Direction"}, + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Definition", + 1076, + [], + [{"Routing-Rule-Identifier"}, + {'*', ["Routing-Filter"]}, + ["Precedence"], + ["Routing-IP-Address"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Install", + 1081, + [], + [{'*', ["Routing-Rule-Definition"]}, {'*', ["AVP"]}]}, + {"Routing-Rule-Remove", + 1075, + [], + [{'*', ["Routing-Rule-Identifier"]}, {'*', ["AVP"]}]}, + {"TDF-Information", + 1087, + [], + [["TDF-Destination-Realm"], + ["TDF-Destination-Host"], + ["TDF-IP-Address"]]}, + {"Tunnel-Information", + 1038, + [], + [["Tunnel-Header-Length"], + {{0, 2}, ["Tunnel-Header-Filter"]}, + {'*', ["AVP"]}]}, + {"TFT-Packet-Filter-Information", + 1013, + [], + [["Precedence"], + ["TFT-Filter"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Usage-Monitoring-Information", + 1067, + [], + [["Monitoring-Key"], + {{0, 2}, ["Granted-Service-Unit"]}, + {{0, 2}, ["Used-Service-Unit"]}, + ["Usage-Monitoring-Level"], + ["Usage-Monitoring-Report"], + ["Usage-Monitoring-Support"], + {'*', ["AVP"]}]}]}, + {id, 16777238}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_rfc4005_nasreq, + [{"ARAP-Challenge-Response", 84, "OctetString", "M"}, + {"ARAP-Features", 71, "OctetString", "M"}, + {"ARAP-Password", 70, "OctetString", "M"}, + {"ARAP-Security", 73, "Unsigned32", "M"}, + {"ARAP-Security-Data", 74, "OctetString", "M"}, + {"ARAP-Zone-Access", 72, "Enumerated", "M"}, + {"Accounting-Auth-Method", 406, "Enumerated", "M"}, + {"Accounting-Input-Octets", 363, "Unsigned64", "M"}, + {"Accounting-Input-Packets", 365, "Unsigned64", "M"}, + {"Accounting-Output-Octets", 364, "Unsigned64", "M"}, + {"Accounting-Output-Packets", 366, "Unsigned64", "M"}, + {"Acct-Authentic", 45, "Enumerated", "M"}, + {"Acct-Delay-Time", 41, "Unsigned32", "M"}, + {"Acct-Link-Count", 51, "Unsigned32", "M"}, + {"Acct-Session-Time", 46, "Unsigned32", "M"}, + {"Acct-Tunnel-Connection", 68, "OctetString", "M"}, + {"Acct-Tunnel-Packets-Lost", 86, "Unsigned32", "M"}, + {"CHAP-Algorithm", 403, "Enumerated", "M"}, + {"CHAP-Auth", 402, "Grouped", "M"}, + {"CHAP-Challenge", 60, "OctetString", "M"}, + {"CHAP-Ident", 404, "OctetString", "M"}, + {"CHAP-Response", 405, "OctetString", "M"}, + {"Callback-Id", 20, "UTF8String", "M"}, + {"Callback-Number", 19, "UTF8String", "M"}, + {"Called-Station-Id", 30, "UTF8String", "M"}, + {"Calling-Station-Id", 31, "UTF8String", "M"}, + {"Configuration-Token", 78, "OctetString", "M"}, + {"Connect-Info", 77, "UTF8String", "M"}, + {"Filter-Id", 11, "UTF8String", "M"}, + {"Framed-AppleTalk-Link", 37, "Unsigned32", "M"}, + {"Framed-AppleTalk-Network", 38, "Unsigned32", "M"}, + {"Framed-AppleTalk-Zone", 39, "OctetString", "M"}, + {"Framed-Compression", 13, "Enumerated", "M"}, + {"Framed-IP-Address", 8, "OctetString", "M"}, + {"Framed-IP-Netmask", 9, "OctetString", "M"}, + {"Framed-IPX-Network", 23, "UTF8String", "M"}, + {"Framed-IPv6-Pool", 100, "OctetString", "M"}, + {"Framed-IPv6-Prefix", 97, "OctetString", "M"}, + {"Framed-IPv6-Route", 99, "UTF8String", "M"}, + {"Framed-Interface-Id", 96, "Unsigned64", "M"}, + {"Framed-MTU", 12, "Unsigned32", "M"}, + {"Framed-Pool", 88, "OctetString", "M"}, + {"Framed-Protocol", 7, "Enumerated", "M"}, + {"Framed-Route", 22, "UTF8String", "M"}, + {"Framed-Routing", 10, "Enumerated", "M"}, + {"Idle-Timeout", 28, "Unsigned32", "M"}, + {"Login-IP-Host", 14, "OctetString", "M"}, + {"Login-IPv6-Host", 98, "OctetString", "M"}, + {"Login-LAT-Group", 36, "OctetString", "M"}, + {"Login-LAT-Node", 35, "OctetString", "M"}, + {"Login-LAT-Port", 63, "OctetString", "M"}, + {"Login-LAT-Service", 34, "OctetString", "M"}, + {"Login-Service", 15, "Enumerated", "M"}, + {"Login-TCP-Port", 16, "Unsigned32", "M"}, + {"NAS-Filter-Rule", 400, "IPFilterRule", "M"}, + {"NAS-IP-Address", 4, "OctetString", "M"}, + {"NAS-IPv6-Address", 95, "OctetString", "M"}, + {"NAS-Identifier", 32, "UTF8String", "M"}, + {"NAS-Port", 5, "Unsigned32", "M"}, + {"NAS-Port-Id", 87, "UTF8String", "M"}, + {"NAS-Port-Type", 61, "Enumerated", "M"}, + {"Origin-AAA-Protocol", 408, "Enumerated", "M"}, + {"Originating-Line-Info", 94, "OctetString", []}, + {"Password-Retry", 75, "Unsigned32", "M"}, + {"Port-Limit", 62, "Unsigned32", "M"}, + {"Prompt", 76, "Enumerated", "M"}, + {"QoS-Filter-Rule", 407, "QoSFilterRule", []}, + {"Reply-Message", 18, "UTF8String", "M"}, + {"Service-Type", 6, "Enumerated", "M"}, + {"State", 24, "OctetString", "M"}, + {"Tunnel-Assignment-Id", 82, "OctetString", "M"}, + {"Tunnel-Client-Auth-Id", 90, "UTF8String", "M"}, + {"Tunnel-Client-Endpoint", 66, "UTF8String", "M"}, + {"Tunnel-Medium-Type", 65, "Enumerated", "M"}, + {"Tunnel-Password", 69, "OctetString", "M"}, + {"Tunnel-Preference", 83, "Unsigned32", "M"}, + {"Tunnel-Private-Group-Id", 81, "OctetString", "M"}, + {"Tunnel-Server-Auth-Id", 91, "UTF8String", "M"}, + {"Tunnel-Server-Endpoint", 67, "UTF8String", "M"}, + {"Tunnel-Type", 64, "Enumerated", "M"}, + {"Tunneling", 401, "Grouped", "M"}, + {"User-Password", 2, "OctetString", "M"}]}, + {diameter_rfc4006_cc, + [{"CC-Correlation-Id", 411, "OctetString", []}, + {"CC-Input-Octets", 412, "Unsigned64", "M"}, + {"CC-Money", 413, "Grouped", "M"}, + {"CC-Output-Octets", 414, "Unsigned64", "M"}, + {"CC-Request-Number", 415, "Unsigned32", "M"}, + {"CC-Request-Type", 416, "Enumerated", "M"}, + {"CC-Service-Specific-Units", 417, "Unsigned64", "M"}, + {"CC-Session-Failover", 418, "Enumerated", "M"}, + {"CC-Sub-Session-Id", 419, "Unsigned64", "M"}, + {"CC-Time", 420, "Unsigned32", "M"}, + {"CC-Total-Octets", 421, "Unsigned64", "M"}, + {"CC-Unit-Type", 454, "Enumerated", "M"}, + {"Check-Balance-Result", 422, "Enumerated", "M"}, + {"Cost-Information", 423, "Grouped", "M"}, + {"Cost-Unit", 424, "UTF8String", "M"}, + {"Credit-Control", 426, "Enumerated", "M"}, + {"Credit-Control-Failure-Handling", + 427, + "Enumerated", + "M"}, + {"Currency-Code", 425, "Unsigned32", "M"}, + {"Direct-Debiting-Failure-Handling", + 428, + "Enumerated", + "M"}, + {"Exponent", 429, "Integer32", "M"}, + {"Final-Unit-Action", 449, "Enumerated", "M"}, + {"Final-Unit-Indication", 430, "Grouped", "M"}, + {"G-S-U-Pool-Identifier", 453, "Unsigned32", "M"}, + {"G-S-U-Pool-Reference", 457, "Grouped", "M"}, + {"Granted-Service-Unit", 431, "Grouped", "M"}, + {"Multiple-Services-Credit-Control", + 456, + "Grouped", + "M"}, + {"Multiple-Services-Indicator", 455, "Enumerated", "M"}, + {"Rating-Group", 432, "Unsigned32", "M"}, + {"Redirect-Address-Type", 433, "Enumerated", "M"}, + {"Redirect-Server", 434, "Grouped", "M"}, + {"Redirect-Server-Address", 435, "UTF8String", "M"}, + {"Requested-Action", 436, "Enumerated", "M"}, + {"Requested-Service-Unit", 437, "Grouped", "M"}, + {"Restriction-Filter-Rule", 438, "IPFilterRule", "M"}, + {"Service-Context-Id", 461, "UTF8String", "M"}, + {"Service-Identifier", 439, "Unsigned32", "M"}, + {"Service-Parameter-Info", 440, "Grouped", []}, + {"Service-Parameter-Type", 441, "Unsigned32", []}, + {"Service-Parameter-Value", 442, "OctetString", []}, + {"Subscription-Id", 443, "Grouped", "M"}, + {"Subscription-Id-Data", 444, "UTF8String", "M"}, + {"Subscription-Id-Type", 450, "Enumerated", "M"}, + {"Tariff-Change-Usage", 452, "Enumerated", "M"}, + {"Tariff-Time-Change", 451, "Time", "M"}, + {"Unit-Value", 445, "Grouped", "M"}, + {"Used-Service-Unit", 446, "Grouped", "M"}, + {"User-Equipment-Info", 458, "Grouped", []}, + {"User-Equipment-Info-Type", 459, "Enumerated", []}, + {"User-Equipment-Info-Value", 460, "OctetString", []}, + {"Validity-Time", 448, "Unsigned32", "M"}, + {"Value-Digits", 447, "Integer64", "M"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {diameter_etsi_es283_034, + [{"Address-Realm", 301, "OctetString", "MV"}, + {"Aggregation-Network-Type", 307, "Enumerated", "V"}, + {"Application-Class-ID", 312, "UTF8String", "V"}, + {"IP-Connectivity-Status", 305, "Enumerated", "V"}, + {"Initial-Gate-Setting-ID", 314, "Unsigned32", "V"}, + {"Logical-Access-ID", 302, "OctetString", "V"}, + {"Maximum-Allowed-Bandwidth-DL", + 309, + "Unsigned32", + "V"}, + {"Maximum-Allowed-Bandwidth-UL", + 308, + "Unsigned32", + "V"}, + {"Physical-Access-ID", 313, "UTF8String", "V"}, + {"QoS-Profile-ID", 315, "Unsigned32", "V"}, + {"Transport-Class", 311, "Unsigned32", "V"}]}, + {diameter_3gpp_ts29_061_gmb, + [{"Additional-MBMS-Trace-Info", + 910, + "OctetString", + "MV"}, + {"Alternative-APN", 905, "UTF8String", "MV"}, + {"CN-IP-Multicast-Distribution", + 921, + "Enumerated", + "MV"}, + {"MBMS-2G-3G-Indicator", 907, "Enumerated", "M"}, + {"MBMS-BMSC-SSM-IP-Address", 918, "OctetString", "MV"}, + {"MBMS-BMSC-SSM-IPv6-Address", + 919, + "OctetString", + "MV"}, + {"MBMS-Counting-Information", 914, "Enumerated", "MV"}, + {"MBMS-Flow-Identifier", 920, "OctetString", "MV"}, + {"MBMS-GGSN-Address", 916, "OctetString", "MV"}, + {"MBMS-GGSN-IPv6-Address", 917, "OctetString", "MV"}, + {"MBMS-HC-Indicator", 922, "Enumerated", "MV"}, + {"MBMS-Required-QoS", 913, "UTF8String", "MV"}, + {"MBMS-Service-Area", 903, "OctetString", "MV"}, + {"MBMS-Service-Type", 906, "Enumerated", "MV"}, + {"MBMS-Session-Duration", 904, "OctetString", "MV"}, + {"MBMS-Session-Identity", 908, "OctetString", "MV"}, + {"MBMS-Session-Repetition-Number", + 912, + "OctetString", + "MV"}, + {"MBMS-StartStop-Indication", 902, "Enumerated", "MV"}, + {"MBMS-Time-To-Data-Transfer", + 911, + "OctetString", + "MV"}, + {"MBMS-User-Data-Mode-Indication", + 915, + "Enumerated", + "MV"}, + {"RAI", 909, "UTF8String", "M"}, + {"Required-MBMS-Bearer-Capabilities", + 901, + "UTF8String", + "MV"}, + {"TMGI", 900, "OctetString", "MV"}]}, + {diameter_3gpp_ts29_214, + [{"AF-Application-Identifier", + 504, + "OctetString", + "MV"}, + {"AF-Charging-Identifier", 505, "OctetString", "MV"}, + {"AF-Signalling-Protocol", 529, "Enumerated", "V"}, + {"Abort-Cause", 500, "Enumerated", "MV"}, + {"Access-Network-Charging-Address", + 501, + "Address", + "MV"}, + {"Access-Network-Charging-Identifier-Value", + 503, + "OctetString", + "MV"}, + {"Application-Service-Provider-Identity", + 532, + "UTF8String", + "V"}, + {"Codec-Data", 524, "OctetString", "MV"}, + {"Flow-Description", 507, "IPFilterRule", "MV"}, + {"Flow-Number", 509, "Unsigned32", "MV"}, + {"Flow-Status", 511, "Enumerated", "MV"}, + {"Flow-Usage", 512, "Enumerated", "MV"}, + {"Flows", 510, "Grouped", "MV"}, + {"GCS-Identifier", 538, "OctetString", "V"}, + {"IP-Domain-Id", 537, "OctetString", "V"}, + {"MPS-Identifier", 528, "OctetString", "V"}, + {"Max-Requested-Bandwidth-DL", 515, "Unsigned32", "MV"}, + {"Max-Requested-Bandwidth-UL", 516, "Unsigned32", "MV"}, + {"Media-Component-Number", 518, "Unsigned32", "MV"}, + {"Media-Type", 520, "Enumerated", "MV"}, + {"Min-Requested-Bandwidth-DL", 534, "Unsigned32", "V"}, + {"Min-Requested-Bandwidth-UL", 535, "Unsigned32", "V"}, + {"RR-Bandwidth", 521, "Unsigned32", "MV"}, + {"RS-Bandwidth", 522, "Unsigned32", "MV"}, + {"Required-Access-Info", 536, "Enumerated", "V"}, + {"Rx-Request-Type", 533, "Enumerated", "V"}, + {"SIP-Forking-Indication", 523, "Enumerated", "MV"}, + {"Service-Info-Status", 527, "Enumerated", "MV"}, + {"Service-URN", 525, "OctetString", "MV"}, + {"Specific-Action", 513, "Enumerated", "MV"}, + {"Sponsor-Identity", 531, "UTF8String", "V"}]}, + {diameter_3gpp_ts29_229, + [{"Call-ID-SIP-Header", 643, "OctetString", "V"}, + {"Charging-Information", 618, "Grouped", "MV"}, + {"Confidentiality-Key", 625, "OctetString", "MV"}, + {"Contact", 641, "OctetString", "V"}, + {"Deregistration-Reason", 615, "Grouped", "MV"}, + {"Digest-Algorithm", 111, "UTF8String", "M"}, + {"Digest-HA1", 121, "UTF8String", "M"}, + {"Digest-QoP", 110, "UTF8String", "M"}, + {"Digest-Realm", 104, "UTF8String", "M"}, + {"Feature-List", 630, "Unsigned32", "V"}, + {"Feature-List-ID", 629, "Unsigned32", "V"}, + {"From-SIP-Header", 644, "OctetString", "V"}, + {"Initial-CSeq-Sequence-Number", + 654, + "Unsigned32", + "V"}, + {"Integrity-Key", 626, "OctetString", "MV"}, + {"LIA-Flags", 653, "Unsigned32", "V"}, + {"Loose-Route-Indication", 638, "Enumerated", "V"}, + {"Mandatory-Capability", 604, "Unsigned32", "MV"}, + {"Multiple-Registration-Indication", + 648, + "Enumerated", + "V"}, + {"Optional-Capability", 605, "Unsigned32", "MV"}, + {"Originating-Request", 633, "Enumerated", "MV"}, + {"Path", 640, "OctetString", "V"}, + {"Primary-Charging-Collection-Function-Name", + 621, + "DiameterURI", + "MV"}, + {"Primary-Event-Charging-Function-Name", + 619, + "DiameterURI", + "MV"}, + {"Priviledged-Sender-Indication", + 652, + "Enumerated", + "V"}, + {"Public-Identity", 601, "UTF8String", "MV"}, + {"Reason-Code", 616, "Enumerated", "MV"}, + {"Reason-Info", 617, "UTF8String", "MV"}, + {"Record-Route", 646, "OctetString", "V"}, + {"SAR-Flags", 655, "Unsigned32", "V"}, + {"SIP-Auth-Data-Item", 612, "Grouped", "MV"}, + {"SIP-Authenticate", 609, "OctetString", "MV"}, + {"SIP-Authentication-Context", + 611, + "OctetString", + "MV"}, + {"SIP-Authentication-Scheme", 608, "UTF8String", "MV"}, + {"SIP-Authorization", 610, "OctetString", "MV"}, + {"SIP-Digest-Authenticate", 635, "Grouped", "V"}, + {"SIP-Item-Number", 613, "Unsigned32", "MV"}, + {"SIP-Number-Auth-Items", 607, "Unsigned32", "MV"}, + {"Secondary-Charging-Collection-Function-Name", + 622, + "DiameterURI", + "MV"}, + {"Secondary-Event-Charging-Function-Name", + 620, + "DiameterURI", + "MV"}, + {"Server-Assignment-Type", 614, "Enumerated", "MV"}, + {"Server-Name", 602, "UTF8String", "MV"}, + {"Session-Priority", 650, "Enumerated", "V"}, + {"Supported-Applications", 631, "Grouped", "V"}, + {"Supported-Features", 628, "Grouped", "V"}, + {"To-SIP-Header", 645, "OctetString", "V"}, + {"UAR-Flags", 637, "Unsigned32", "V"}, + {"User-Authorization-Type", 623, "Enumerated", "MV"}, + {"User-Data", 606, "OctetString", "MV"}, + {"User-Data-Already-Available", + 624, + "Enumerated", + "MV"}, + {"Visited-Network-Identifier", + 600, + "OctetString", + "MV"}, + {"Wildcarded-Public-Identity", + 634, + "UTF8String", + "V"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_rfc4005_nasreq, + [{"NAS-Port-Type", + [{"ASYNC", 0}, + {"SYNC", 1}, + {"ISDN_SYNC", 2}, + {"ISDN_ASYNC_V120", 3}, + {"ISDN_ASYNC_V110", 4}, + {"VIRTUAL", 5}, + {"PIAFS", 6}, + {"HDLC_CLEAR_CHANNEL", 7}, + {"X25", 8}, + {"X75", 9}, + {"G3FAX", 10}, + {"SDSL", 11}, + {"ADSL-CAP", 12}, + {"ADSL-DMT", 13}, + {"IDSL", 14}, + {"ETHERNET", 15}, + {"XDSL", 16}, + {"CABLE", 17}, + {"WIRELESS_OTHER", 18}, + {"WIRELESS_802.11", 19}, + {"TOKEN-RING", 20}, + {"FDDI", 21}, + {"WIRELESS_CDMA2000", 22}, + {"WIRELESS_UMTS", 23}, + {"WIRELESS_1X-EV", 24}, + {"IAPP", 25}]}, + {"Prompt", [{"NO_ECHO", 0}, {"ECHO", 1}]}, + {"CHAP-Algorithm", [{"WITH_MD5", 5}]}, + {"Service-Type", + [{"LOGIN", 1}, + {"FRAMED", 2}, + {"CALLBACK_LOGIN", 3}, + {"CALLBACK_FRAMED", 4}, + {"OUTBOUND", 5}, + {"ADMINISTRATIVE", 6}, + {"NAS_PROMPT", 7}, + {"AUTHENTICATE_ONLY", 8}, + {"CALLBACK_NAS_PROMPT", 9}, + {"CALL_CHECK", 10}, + {"CALLBACK_ADMINISTRATIVE", 11}, + {"VOICE", 12}, + {"FAX", 13}, + {"MODEM_RELAY", 14}, + {"IAPP-REGISTER", 15}, + {"IAPP-AP-CHECK", 16}, + {"AUTHORIZE_ONLY", 17}]}, + {"Framed-Protocol", + [{"PPP", 1}, + {"SLIP", 2}, + {"ARAP", 3}, + {"GANDALF", 4}, + {"XYLOGICS", 5}, + {"X75", 6}]}, + {"Framed-Routing", + [{"NONE", 0}, + {"SEND", 1}, + {"LISTEN", 2}, + {"SEND_AND_LISTEN", 3}]}, + {"Framed-Compression", + [{"NONE", 0}, {"VJ", 1}, {"IPX", 2}, {"STAC-LZS", 3}]}, + {"ARAP-Zone-Access", + [{"DEFAULT", 1}, + {"FILTER_INCLUSIVELY", 2}, + {"FILTER_EXCLUSIVELY", 4}]}, + {"Login-Service", + [{"TELNET", 0}, + {"RLOGIN", 1}, + {"TCP_CLEAR", 2}, + {"PORTMASTER", 3}, + {"LAT", 4}, + {"X25-PAD", 5}, + {"X25-T3POS", 6}, + {"TCP_CLEAR_QUIET", 8}]}, + {"Tunnel-Type", + [{"PPTP", 1}, + {"L2F", 2}, + {"L2TP", 3}, + {"ATMP", 4}, + {"VTP", 5}, + {"AH", 6}, + {"IP-IP", 7}, + {"MIN-IP-IP", 8}, + {"ESP", 9}, + {"GRE", 10}, + {"DVS", 11}, + {"IP-IN-IP", 12}, + {"VLAN", 13}]}, + {"Tunnel-Medium-Type", + [{"IPV4", 1}, + {"IPV6", 2}, + {"NSAP", 3}, + {"HDLC", 4}, + {"BBN_1822", 5}, + {"802", 6}, + {"E163", 7}, + {"E164", 8}, + {"F69", 9}, + {"X121", 10}, + {"IPX", 11}, + {"APPLETALK", 12}, + {"DECNET_IV", 13}, + {"BANYAN_VINES", 14}, + {"E164_NSAP", 15}]}, + {"Acct-Authentic", + [{"RADIUS", 1}, + {"LOCAL", 2}, + {"REMOTE", 3}, + {"DIAMETER", 4}]}, + {"Accounting-Auth-Method", + [{"PAP", 1}, + {"CHAP", 2}, + {"MS-CHAP-1", 3}, + {"MS-CHAP-2", 4}, + {"EAP", 5}, + {"NONE", 7}]}]}, + {diameter_rfc4006_cc, + [{"CC-Request-Type", + [{"INITIAL_REQUEST", 1}, + {"UPDATE_REQUEST", 2}, + {"TERMINATION_REQUEST", 3}, + {"EVENT_REQUEST", 4}]}, + {"CC-Session-Failover", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Check-Balance-Result", + [{"ENOUGH_CREDIT", 0}, {"NO_CREDIT", 1}]}, + {"Credit-Control", + [{"AUTHORIZATION", 0}, {"RE_AUTHORIZATION", 1}]}, + {"Credit-Control-Failure-Handling", + [{"TERMINATE", 0}, + {"CONTINUE", 1}, + {"RETRY_AND_TERMINATE", 2}]}, + {"Direct-Debiting-Failure-Handling", + [{"TERMINATE_OR_BUFFER", 0}, {"CONTINUE", 1}]}, + {"Tariff-Change-Usage", + [{"UNIT_BEFORE_TARIFF_CHANGE", 0}, + {"UNIT_AFTER_TARIFF_CHANGE", 1}, + {"UNIT_INDETERMINATE", 2}]}, + {"CC-Unit-Type", + [{"TIME", 0}, + {"MONEY", 1}, + {"TOTAL-OCTETS", 2}, + {"INPUT-OCTETS", 3}, + {"OUTPUT-OCTETS", 4}, + {"SERVICE-SPECIFIC-UNITS", 5}]}, + {"Final-Unit-Action", + [{"TERMINATE", 0}, + {"REDIRECT", 1}, + {"RESTRICT_ACCESS", 2}]}, + {"Redirect-Address-Type", + [{"IPV4", 0}, {"IPV6", 1}, {"URL", 2}, {"SIP_URI", 3}]}, + {"Multiple-Services-Indicator", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Requested-Action", + [{"DIRECT_DEBITING", 0}, + {"REFUND_ACCOUNT", 1}, + {"CHECK_BALANCE", 2}, + {"PRICE_ENQUIRY", 3}]}, + {"Subscription-Id-Type", + [{"END_USER_E164", 0}, + {"END_USER_IMSI", 1}, + {"END_USER_SIP_URI", 2}, + {"END_USER_NAI", 3}, + {"END_USER_PRIVATE", 4}]}, + {"User-Equipment-Info-Type", + [{"IMEISV", 0}, + {"MAC", 1}, + {"EUI64", 2}, + {"MODIFIED_EUI64", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {diameter_3gpp_ts29_229, + [{"Server-Assignment-Type", + [{"NO_ASSIGNMENT", 0}, + {"REGISTRATION", 1}, + {"RE_REGISTRATION", 2}, + {"UNREGISTERED_USER", 3}, + {"TIMEOUT_DEREGISTRATION", 4}, + {"USER_DEREGISTRATION", 5}, + {"TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 6}, + {"USER_DEREGISTRATION_STORE_SERVER_NAME", 7}, + {"ADMINISTRATIVE_DEREGISTRATION", 8}, + {"AUTHENTICATION_FAILURE", 9}, + {"AUTHENTICATION_TIMEOUT", 10}, + {"DEREGISTRATION_TOO_MUCH_DATA", 11}, + {"AAA_USER_DATA_REQUEST", 12}, + {"PGW_UPDATE", 13}, + {"RESTORATION", 14}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_rfc4005_nasreq, + [{"CHAP-Auth", + 402, + [], + [{"CHAP-Algorithm"}, + {"CHAP-Ident"}, + ["CHAP-Response"], + {'*', ["AVP"]}]}, + {"Tunneling", + 401, + [], + [{"Tunnel-Type"}, + {"Tunnel-Medium-Type"}, + {"Tunnel-Client-Endpoint"}, + {"Tunnel-Server-Endpoint"}, + ["Tunnel-Preference"], + ["Tunnel-Client-Auth-Id"], + ["Tunnel-Server-Auth-Id"], + ["Tunnel-Assignment-Id"], + ["Tunnel-Password"], + ["Tunnel-Private-Group-Id"]]}]}, + {diameter_rfc4006_cc, + [{"Cost-Information", + 423, + [], + [{"Unit-Value"}, {"Currency-Code"}, ["Cost-Unit"]]}, + {"Unit-Value", + 445, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Multiple-Services-Credit-Control", + 456, + [], + [["Granted-Service-Unit"], + ["Requested-Service-Unit"], + {'*', ["Used-Service-Unit"]}, + ["Tariff-Change-Usage"], + {'*', ["Service-Identifier"]}, + ["Rating-Group"], + {'*', ["G-S-U-Pool-Reference"]}, + ["Validity-Time"], + ["Result-Code"], + ["Final-Unit-Indication"], + {'*', ["AVP"]}]}, + {"Granted-Service-Unit", + 431, + [], + [["Tariff-Time-Change"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Requested-Service-Unit", + 437, + [], + [["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Used-Service-Unit", + 446, + [], + [["Tariff-Change-Usage"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"CC-Money", + 413, + [], + [{"Unit-Value"}, ["Currency-Code"]]}, + {"G-S-U-Pool-Reference", + 457, + [], + [{"G-S-U-Pool-Identifier"}, + {"CC-Unit-Type"}, + {"Unit-Value"}]}, + {"Final-Unit-Indication", + 430, + [], + [{"Final-Unit-Action"}, + {'*', ["Restriction-Filter-Rule"]}, + {'*', ["Filter-Id"]}, + ["Redirect-Server"]]}, + {"Redirect-Server", + 434, + [], + [{"Redirect-Address-Type"}, + {"Redirect-Server-Address"}]}, + {"Service-Parameter-Info", + 440, + [], + [{"Service-Parameter-Type"}, + {"Service-Parameter-Value"}]}, + {"Subscription-Id", + 443, + [], + [{"Subscription-Id-Type"}, {"Subscription-Id-Data"}]}, + {"User-Equipment-Info", + 458, + [], + [{"User-Equipment-Info-Type"}, + {"User-Equipment-Info-Value"}]}]}, + {diameter_3gpp_ts29_214, + [{"Flows", + 510, + [], + [{"Media-Component-Number"}, + {'*', ["Flow-Number"]}, + ["Final-Unit-Action"]]}]}, + {diameter_3gpp_ts29_229, + [{"Charging-Information", + 618, + [], + [["Primary-Event-Charging-Function-Name"], + ["Secondary-Event-Charging-Function-Name"], + ["Primary-Charging-Collection-Function-Name"], + ["Secondary-Charging-Collection-Function-Name"], + {'*', ["AVP"]}]}, + {"Supported-Features", + 628, + [], + [{"Vendor-Id"}, + {"Feature-List-ID"}, + {"Feature-List"}, + {'*', ["AVP"]}]}, + {"Supported-Applications", + 631, + [10415], + [{'*', ["Auth-Application-Id"]}, + {'*', ["Acct-Application-Id"]}, + {'*', ["Vendor-Specific-Application-Id"]}, + {'*', ["AVP"]}]}, + {"SIP-Auth-Data-Item", + 612, + [10415], + [["SIP-Item-Number"], + ["SIP-Authentication-Scheme"], + ["SIP-Authenticate"], + ["SIP-Authorization"], + ["SIP-Authentication-Context"], + ["Confidentiality-Key"], + ["Integrity-Key"], + ["SIP-Digest-Authenticate"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + {'*', ["Line-Identifier"]}, + {'*', ["AVP"]}]}, + {"Deregistration-Reason", + 615, + [10415], + [{"Reason-Code"}, ["Reason-Info"], {'*', ["AVP"]}]}, + {"SIP-Digest-Authenticate", + 635, + [10415], + [{"Digest-Realm"}, + {"Digest-QoP"}, + {"Digest-HA1"}, + ["Digest-Algorithm"], + {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_3gpp_ts29_229", []}, + {"diameter_3gpp_ts29_214", []}, + {"diameter_3gpp_ts29_061_gmb", []}, + {"diameter_etsi_es283_034", []}, + {"diameter_3gpp_base", []}, + {"diameter_rfc4006_cc", []}, + {"diameter_rfc4005_nasreq", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"CCR", + 272, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"CC-Request-Type"}, + {"CC-Request-Number"}, + ["Credit-Management-Status"], + ["Destination-Host"], + ["Origin-State-Id"], + {'*', ["Subscription-Id"]}, + {'*', ["Supported-Features"]}, + ["TDF-Information"], + ["Network-Request-Support"], + {'*', ["Packet-Filter-Information"]}, + ["Packet-Filter-Operation"], + ["Bearer-Identifier"], + ["Bearer-Operation"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["IP-CAN-Type"], + ["3GPP-RAT-Type"], + ["RAT-Type"], + ["Termination-Cause"], + ["User-Equipment-Info"], + ["QoS-Information"], + ["QoS-Negotiation"], + ["QoS-Upgrade"], + ["Default-EPS-Bearer-QoS"], + ["Default-QoS-Information"], + {{0, 2}, ["AN-GW-Address"]}, + ["AN-GW-Status"], + ["3GPP-SGSN-MCC-MNC"], + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["3GPP-GGSN-Address"], + ["3GPP-GGSN-IPv6-Address"], + ["3GPP-Selection-Mode"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["User-Location-Info-Time"], + ["TWAN-Identifier"], + ["3GPP-MS-TimeZone"], + {'*', ["RAN-NAS-Release-Cause"]}, + ["3GPP-Charging-Characteristics"], + ["Called-Station-Id"], + ["PDN-Connection-ID"], + ["Bearer-Usage"], + ["Online"], + ["Offline"], + {'*', ["TFT-Packet-Filter-Information"]}, + {'*', ["Charging-Rule-Report"]}, + {'*', ["Application-Detection-Information"]}, + {'*', ["Event-Trigger"]}, + ["Event-Report-Indication"], + ["Access-Network-Charging-Address"], + {'*', ["Access-Network-Charging-Identifier-Gx"]}, + {'*', ["CoA-Information"]}, + {'*', ["Usage-Monitoring-Information"]}, + ["Routing-Rule-Install"], + ["Routing-Rule-Remove"], + ["HeNB-Local-IP-Address"], + ["UE-Local-IP-Address"], + ["UDP-Source-Port"], + ["Presence-Reporting-Area-Information"], + ["Logical-Access-ID"], + ["Physical-Access-ID"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"CCA", + 272, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"CC-Request-Type"}, + {"CC-Request-Number"}, + ["Result-Code"], + ["Experimental-Result"], + {'*', ["Supported-Features"]}, + ["Bearer-Control-Mode"], + {'*', ["Event-Trigger"]}, + ["Event-Report-Indication"], + ["Origin-State-Id"], + {'*', ["Redirect-Host"]}, + ["Redirect-Host-Usage"], + ["Redirect-Max-Cache-Time"], + {'*', ["Charging-Rule-Remove"]}, + {'*', ["Charging-Rule-Install"]}, + ["Charging-Information"], + ["Online"], + ["Offline"], + {'*', ["QoS-Information"]}, + ["Revalidation-Time"], + ["Default-EPS-Bearer-QoS"], + ["Default-QoS-Information"], + ["Bearer-Usage"], + {'*', ["Usage-Monitoring-Information"]}, + {'*', ["CSG-Information-Reporting"]}, + ["Presence-Reporting-Area-Information"], + ["Session-Release-Cause"], + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"RAR", + 258, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Destination-Host"}, + {"Re-Auth-Request-Type"}, + ["Session-Release-Cause"], + ["Origin-State-Id"], + {'*', ["Event-Trigger"]}, + ["Event-Report-Indication"], + {'*', ["Charging-Rule-Remove"]}, + {'*', ["Charging-Rule-Install"]}, + ["Default-EPS-Bearer-QoS"], + {'*', ["QoS-Information"]}, + ["Default-QoS-Information"], + ["Revalidation-Time"], + {'*', ["Usage-Monitoring-Information"]}, + ["PCSCF-Restoration-Indication"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"RAA", + 258, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Result-Code"], + ["Experimental-Result"], + ["Origin-State-Id"], + ["IP-CAN-Type"], + ["RAT-Type"], + {{0, 2}, ["AN-GW-Address"]}, + ["3GPP-SGSN-MCC-MNC"], + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["User-Location-Info-Time"], + ["NetLoc-Access-Support"], + ["3GPP-MS-TimeZone"], + ["Default-QoS-Information"], + {'*', ["Charging-Rule-Report"]}, + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}]}, + {name, "diameter_3gpp_ts29_212"}, + {prefix, "diameter_gx"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_214.erl b/src/diameter_3gpp_ts29_214.erl new file mode 100644 index 0000000..462791b --- /dev/null +++ b/src/diameter_3gpp_ts29_214.erl @@ -0,0 +1,1958 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_214). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records([diameter_rx_Flows, + 'diameter_rx_Proxy-Info', + 'diameter_rx_Failed-AVP', + 'diameter_rx_Experimental-Result', + 'diameter_rx_Vendor-Specific-Application-Id', + 'diameter_rx_Cost-Information', + 'diameter_rx_Unit-Value', + 'diameter_rx_Multiple-Services-Credit-Control', + 'diameter_rx_Granted-Service-Unit', + 'diameter_rx_Requested-Service-Unit', + 'diameter_rx_Used-Service-Unit', + 'diameter_rx_CC-Money', + 'diameter_rx_G-S-U-Pool-Reference', + 'diameter_rx_Final-Unit-Indication', + 'diameter_rx_Redirect-Server', + 'diameter_rx_Service-Parameter-Info', + 'diameter_rx_Subscription-Id', + 'diameter_rx_User-Equipment-Info']). + +-record(diameter_rx_Flows, + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + +-record('diameter_rx_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_rx_Failed-AVP', {'AVP' = []}). + +-record('diameter_rx_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_rx_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('diameter_rx_Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('diameter_rx_Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_rx_Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('diameter_rx_Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_rx_Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_rx_Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_rx_CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('diameter_rx_G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('diameter_rx_Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('diameter_rx_Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('diameter_rx_Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('diameter_rx_Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('diameter_rx_User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_214. + +id() -> 16777236. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Flows') -> diameter_rx_Flows; +name2rec('Proxy-Info') -> 'diameter_rx_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_rx_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_rx_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_rx_Vendor-Specific-Application-Id'; +name2rec('Cost-Information') -> + 'diameter_rx_Cost-Information'; +name2rec('Unit-Value') -> 'diameter_rx_Unit-Value'; +name2rec('Multiple-Services-Credit-Control') -> + 'diameter_rx_Multiple-Services-Credit-Control'; +name2rec('Granted-Service-Unit') -> + 'diameter_rx_Granted-Service-Unit'; +name2rec('Requested-Service-Unit') -> + 'diameter_rx_Requested-Service-Unit'; +name2rec('Used-Service-Unit') -> + 'diameter_rx_Used-Service-Unit'; +name2rec('CC-Money') -> 'diameter_rx_CC-Money'; +name2rec('G-S-U-Pool-Reference') -> + 'diameter_rx_G-S-U-Pool-Reference'; +name2rec('Final-Unit-Indication') -> + 'diameter_rx_Final-Unit-Indication'; +name2rec('Redirect-Server') -> + 'diameter_rx_Redirect-Server'; +name2rec('Service-Parameter-Info') -> + 'diameter_rx_Service-Parameter-Info'; +name2rec('Subscription-Id') -> + 'diameter_rx_Subscription-Id'; +name2rec('User-Equipment-Info') -> + 'diameter_rx_User-Equipment-Info'; +name2rec(T) -> msg2rec(T). + +avp_name(504, 10415) -> + {'AF-Application-Identifier', 'OctetString'}; +avp_name(505, 10415) -> + {'AF-Charging-Identifier', 'OctetString'}; +avp_name(529, 10415) -> + {'AF-Signalling-Protocol', 'Enumerated'}; +avp_name(500, 10415) -> {'Abort-Cause', 'Enumerated'}; +avp_name(501, 10415) -> + {'Access-Network-Charging-Address', 'Address'}; +avp_name(503, 10415) -> + {'Access-Network-Charging-Identifier-Value', + 'OctetString'}; +avp_name(532, 10415) -> + {'Application-Service-Provider-Identity', 'UTF8String'}; +avp_name(524, 10415) -> {'Codec-Data', 'OctetString'}; +avp_name(507, 10415) -> + {'Flow-Description', 'IPFilterRule'}; +avp_name(509, 10415) -> {'Flow-Number', 'Unsigned32'}; +avp_name(511, 10415) -> {'Flow-Status', 'Enumerated'}; +avp_name(512, 10415) -> {'Flow-Usage', 'Enumerated'}; +avp_name(510, 10415) -> {'Flows', 'Grouped'}; +avp_name(538, 10415) -> + {'GCS-Identifier', 'OctetString'}; +avp_name(537, 10415) -> {'IP-Domain-Id', 'OctetString'}; +avp_name(528, 10415) -> + {'MPS-Identifier', 'OctetString'}; +avp_name(515, 10415) -> + {'Max-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(516, 10415) -> + {'Max-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(518, 10415) -> + {'Media-Component-Number', 'Unsigned32'}; +avp_name(520, 10415) -> {'Media-Type', 'Enumerated'}; +avp_name(534, 10415) -> + {'Min-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(535, 10415) -> + {'Min-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(521, 10415) -> {'RR-Bandwidth', 'Unsigned32'}; +avp_name(522, 10415) -> {'RS-Bandwidth', 'Unsigned32'}; +avp_name(536, 10415) -> + {'Required-Access-Info', 'Enumerated'}; +avp_name(533, 10415) -> + {'Rx-Request-Type', 'Enumerated'}; +avp_name(523, 10415) -> + {'SIP-Forking-Indication', 'Enumerated'}; +avp_name(527, 10415) -> + {'Service-Info-Status', 'Enumerated'}; +avp_name(525, 10415) -> {'Service-URN', 'OctetString'}; +avp_name(513, 10415) -> + {'Specific-Action', 'Enumerated'}; +avp_name(531, 10415) -> + {'Sponsor-Identity', 'UTF8String'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(411, undefined) -> + {'CC-Correlation-Id', 'OctetString'}; +avp_name(412, undefined) -> + {'CC-Input-Octets', 'Unsigned64'}; +avp_name(413, undefined) -> {'CC-Money', 'Grouped'}; +avp_name(414, undefined) -> + {'CC-Output-Octets', 'Unsigned64'}; +avp_name(415, undefined) -> + {'CC-Request-Number', 'Unsigned32'}; +avp_name(416, undefined) -> + {'CC-Request-Type', 'Enumerated'}; +avp_name(417, undefined) -> + {'CC-Service-Specific-Units', 'Unsigned64'}; +avp_name(418, undefined) -> + {'CC-Session-Failover', 'Enumerated'}; +avp_name(419, undefined) -> + {'CC-Sub-Session-Id', 'Unsigned64'}; +avp_name(420, undefined) -> {'CC-Time', 'Unsigned32'}; +avp_name(421, undefined) -> + {'CC-Total-Octets', 'Unsigned64'}; +avp_name(454, undefined) -> + {'CC-Unit-Type', 'Enumerated'}; +avp_name(422, undefined) -> + {'Check-Balance-Result', 'Enumerated'}; +avp_name(423, undefined) -> + {'Cost-Information', 'Grouped'}; +avp_name(424, undefined) -> {'Cost-Unit', 'UTF8String'}; +avp_name(426, undefined) -> + {'Credit-Control', 'Enumerated'}; +avp_name(427, undefined) -> + {'Credit-Control-Failure-Handling', 'Enumerated'}; +avp_name(425, undefined) -> + {'Currency-Code', 'Unsigned32'}; +avp_name(428, undefined) -> + {'Direct-Debiting-Failure-Handling', 'Enumerated'}; +avp_name(429, undefined) -> {'Exponent', 'Integer32'}; +avp_name(449, undefined) -> + {'Final-Unit-Action', 'Enumerated'}; +avp_name(430, undefined) -> + {'Final-Unit-Indication', 'Grouped'}; +avp_name(453, undefined) -> + {'G-S-U-Pool-Identifier', 'Unsigned32'}; +avp_name(457, undefined) -> + {'G-S-U-Pool-Reference', 'Grouped'}; +avp_name(431, undefined) -> + {'Granted-Service-Unit', 'Grouped'}; +avp_name(456, undefined) -> + {'Multiple-Services-Credit-Control', 'Grouped'}; +avp_name(455, undefined) -> + {'Multiple-Services-Indicator', 'Enumerated'}; +avp_name(432, undefined) -> + {'Rating-Group', 'Unsigned32'}; +avp_name(433, undefined) -> + {'Redirect-Address-Type', 'Enumerated'}; +avp_name(434, undefined) -> + {'Redirect-Server', 'Grouped'}; +avp_name(435, undefined) -> + {'Redirect-Server-Address', 'UTF8String'}; +avp_name(436, undefined) -> + {'Requested-Action', 'Enumerated'}; +avp_name(437, undefined) -> + {'Requested-Service-Unit', 'Grouped'}; +avp_name(438, undefined) -> + {'Restriction-Filter-Rule', 'IPFilterRule'}; +avp_name(461, undefined) -> + {'Service-Context-Id', 'UTF8String'}; +avp_name(439, undefined) -> + {'Service-Identifier', 'Unsigned32'}; +avp_name(440, undefined) -> + {'Service-Parameter-Info', 'Grouped'}; +avp_name(441, undefined) -> + {'Service-Parameter-Type', 'Unsigned32'}; +avp_name(442, undefined) -> + {'Service-Parameter-Value', 'OctetString'}; +avp_name(443, undefined) -> + {'Subscription-Id', 'Grouped'}; +avp_name(444, undefined) -> + {'Subscription-Id-Data', 'UTF8String'}; +avp_name(450, undefined) -> + {'Subscription-Id-Type', 'Enumerated'}; +avp_name(452, undefined) -> + {'Tariff-Change-Usage', 'Enumerated'}; +avp_name(451, undefined) -> + {'Tariff-Time-Change', 'Time'}; +avp_name(445, undefined) -> {'Unit-Value', 'Grouped'}; +avp_name(446, undefined) -> + {'Used-Service-Unit', 'Grouped'}; +avp_name(458, undefined) -> + {'User-Equipment-Info', 'Grouped'}; +avp_name(459, undefined) -> + {'User-Equipment-Info-Type', 'Enumerated'}; +avp_name(460, undefined) -> + {'User-Equipment-Info-Value', 'OctetString'}; +avp_name(448, undefined) -> + {'Validity-Time', 'Unsigned32'}; +avp_name(447, undefined) -> + {'Value-Digits', 'Integer64'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Flows') -> + [{'Media-Component-Number', 1}, + {'Flow-Number', {0, '*'}}, + {'Final-Unit-Action', {0, 1}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Cost-Information') -> + [{'Unit-Value', 1}, + {'Currency-Code', 1}, + {'Cost-Unit', {0, 1}}]; +avp_arity('Unit-Value') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Multiple-Services-Credit-Control') -> + [{'Granted-Service-Unit', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Tariff-Change-Usage', {0, 1}}, + {'Service-Identifier', {0, '*'}}, + {'Rating-Group', {0, 1}}, + {'G-S-U-Pool-Reference', {0, '*'}}, + {'Validity-Time', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Granted-Service-Unit') -> + [{'Tariff-Time-Change', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-Service-Unit') -> + [{'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Used-Service-Unit') -> + [{'Tariff-Change-Usage', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CC-Money') -> + [{'Unit-Value', 1}, {'Currency-Code', {0, 1}}]; +avp_arity('G-S-U-Pool-Reference') -> + [{'G-S-U-Pool-Identifier', 1}, + {'CC-Unit-Type', 1}, + {'Unit-Value', 1}]; +avp_arity('Final-Unit-Indication') -> + [{'Final-Unit-Action', 1}, + {'Restriction-Filter-Rule', {0, '*'}}, + {'Filter-Id', {0, '*'}}, + {'Redirect-Server', {0, 1}}]; +avp_arity('Redirect-Server') -> + [{'Redirect-Address-Type', 1}, + {'Redirect-Server-Address', 1}]; +avp_arity('Service-Parameter-Info') -> + [{'Service-Parameter-Type', 1}, + {'Service-Parameter-Value', 1}]; +avp_arity('Subscription-Id') -> + [{'Subscription-Id-Type', 1}, + {'Subscription-Id-Data', 1}]; +avp_arity('User-Equipment-Info') -> + [{'User-Equipment-Info-Type', 1}, + {'User-Equipment-Info-Value', 1}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Flows', 'Media-Component-Number') -> 1; +avp_arity('Flows', 'Flow-Number') -> {0, '*'}; +avp_arity('Flows', 'Final-Unit-Action') -> {0, 1}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Cost-Information', 'Unit-Value') -> 1; +avp_arity('Cost-Information', 'Currency-Code') -> 1; +avp_arity('Cost-Information', 'Cost-Unit') -> {0, 1}; +avp_arity('Unit-Value', 'Value-Digits') -> 1; +avp_arity('Unit-Value', 'Exponent') -> {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Granted-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Requested-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Used-Service-Unit') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Service-Identifier') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Rating-Group') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'G-S-U-Pool-Reference') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Validity-Time') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Result-Code') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', 'AVP') -> + {0, '*'}; +avp_arity('Granted-Service-Unit', + 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Requested-Service-Unit', 'CC-Time') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'CC-Money') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Used-Service-Unit', 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('CC-Money', 'Unit-Value') -> 1; +avp_arity('CC-Money', 'Currency-Code') -> {0, 1}; +avp_arity('G-S-U-Pool-Reference', + 'G-S-U-Pool-Identifier') -> + 1; +avp_arity('G-S-U-Pool-Reference', 'CC-Unit-Type') -> 1; +avp_arity('G-S-U-Pool-Reference', 'Unit-Value') -> 1; +avp_arity('Final-Unit-Indication', + 'Final-Unit-Action') -> + 1; +avp_arity('Final-Unit-Indication', + 'Restriction-Filter-Rule') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Filter-Id') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Redirect-Server') -> + {0, 1}; +avp_arity('Redirect-Server', 'Redirect-Address-Type') -> + 1; +avp_arity('Redirect-Server', + 'Redirect-Server-Address') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Type') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Value') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Type') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Data') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Type') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Value') -> + 1; +avp_arity(_, _) -> 0. + +avp_header('AF-Application-Identifier') -> + {504, 192, 10415}; +avp_header('AF-Charging-Identifier') -> + {505, 192, 10415}; +avp_header('AF-Signalling-Protocol') -> + {529, 128, 10415}; +avp_header('Abort-Cause') -> {500, 192, 10415}; +avp_header('Access-Network-Charging-Address') -> + {501, 192, 10415}; +avp_header('Access-Network-Charging-Identifier-Value') -> + {503, 192, 10415}; +avp_header('Application-Service-Provider-Identity') -> + {532, 128, 10415}; +avp_header('Codec-Data') -> {524, 192, 10415}; +avp_header('Flow-Description') -> {507, 192, 10415}; +avp_header('Flow-Number') -> {509, 192, 10415}; +avp_header('Flow-Status') -> {511, 192, 10415}; +avp_header('Flow-Usage') -> {512, 192, 10415}; +avp_header('Flows') -> {510, 192, 10415}; +avp_header('GCS-Identifier') -> {538, 128, 10415}; +avp_header('IP-Domain-Id') -> {537, 128, 10415}; +avp_header('MPS-Identifier') -> {528, 128, 10415}; +avp_header('Max-Requested-Bandwidth-DL') -> + {515, 192, 10415}; +avp_header('Max-Requested-Bandwidth-UL') -> + {516, 192, 10415}; +avp_header('Media-Component-Number') -> + {518, 192, 10415}; +avp_header('Media-Type') -> {520, 192, 10415}; +avp_header('Min-Requested-Bandwidth-DL') -> + {534, 128, 10415}; +avp_header('Min-Requested-Bandwidth-UL') -> + {535, 128, 10415}; +avp_header('RR-Bandwidth') -> {521, 192, 10415}; +avp_header('RS-Bandwidth') -> {522, 192, 10415}; +avp_header('Required-Access-Info') -> {536, 128, 10415}; +avp_header('Rx-Request-Type') -> {533, 128, 10415}; +avp_header('SIP-Forking-Indication') -> + {523, 192, 10415}; +avp_header('Service-Info-Status') -> {527, 192, 10415}; +avp_header('Service-URN') -> {525, 192, 10415}; +avp_header('Specific-Action') -> {513, 192, 10415}; +avp_header('Sponsor-Identity') -> {531, 128, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('CC-Correlation-Id') -> + diameter_rfc4006_cc:avp_header('CC-Correlation-Id'); +avp_header('CC-Input-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Input-Octets'); +avp_header('CC-Money') -> + diameter_rfc4006_cc:avp_header('CC-Money'); +avp_header('CC-Output-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Output-Octets'); +avp_header('CC-Request-Number') -> + diameter_rfc4006_cc:avp_header('CC-Request-Number'); +avp_header('CC-Request-Type') -> + diameter_rfc4006_cc:avp_header('CC-Request-Type'); +avp_header('CC-Service-Specific-Units') -> + diameter_rfc4006_cc:avp_header('CC-Service-Specific-Units'); +avp_header('CC-Session-Failover') -> + diameter_rfc4006_cc:avp_header('CC-Session-Failover'); +avp_header('CC-Sub-Session-Id') -> + diameter_rfc4006_cc:avp_header('CC-Sub-Session-Id'); +avp_header('CC-Time') -> + diameter_rfc4006_cc:avp_header('CC-Time'); +avp_header('CC-Total-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Total-Octets'); +avp_header('CC-Unit-Type') -> + diameter_rfc4006_cc:avp_header('CC-Unit-Type'); +avp_header('Check-Balance-Result') -> + diameter_rfc4006_cc:avp_header('Check-Balance-Result'); +avp_header('Cost-Information') -> + diameter_rfc4006_cc:avp_header('Cost-Information'); +avp_header('Cost-Unit') -> + diameter_rfc4006_cc:avp_header('Cost-Unit'); +avp_header('Credit-Control') -> + diameter_rfc4006_cc:avp_header('Credit-Control'); +avp_header('Credit-Control-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Credit-Control-Failure-Handling'); +avp_header('Currency-Code') -> + diameter_rfc4006_cc:avp_header('Currency-Code'); +avp_header('Direct-Debiting-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Direct-Debiting-Failure-Handling'); +avp_header('Exponent') -> + diameter_rfc4006_cc:avp_header('Exponent'); +avp_header('Final-Unit-Action') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Action'); +avp_header('Final-Unit-Indication') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Indication'); +avp_header('G-S-U-Pool-Identifier') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Identifier'); +avp_header('G-S-U-Pool-Reference') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Reference'); +avp_header('Granted-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Granted-Service-Unit'); +avp_header('Multiple-Services-Credit-Control') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Credit-Control'); +avp_header('Multiple-Services-Indicator') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Indicator'); +avp_header('Rating-Group') -> + diameter_rfc4006_cc:avp_header('Rating-Group'); +avp_header('Redirect-Address-Type') -> + diameter_rfc4006_cc:avp_header('Redirect-Address-Type'); +avp_header('Redirect-Server') -> + diameter_rfc4006_cc:avp_header('Redirect-Server'); +avp_header('Redirect-Server-Address') -> + diameter_rfc4006_cc:avp_header('Redirect-Server-Address'); +avp_header('Requested-Action') -> + diameter_rfc4006_cc:avp_header('Requested-Action'); +avp_header('Requested-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Requested-Service-Unit'); +avp_header('Restriction-Filter-Rule') -> + diameter_rfc4006_cc:avp_header('Restriction-Filter-Rule'); +avp_header('Service-Context-Id') -> + diameter_rfc4006_cc:avp_header('Service-Context-Id'); +avp_header('Service-Identifier') -> + diameter_rfc4006_cc:avp_header('Service-Identifier'); +avp_header('Service-Parameter-Info') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Info'); +avp_header('Service-Parameter-Type') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Type'); +avp_header('Service-Parameter-Value') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Value'); +avp_header('Subscription-Id') -> + diameter_rfc4006_cc:avp_header('Subscription-Id'); +avp_header('Subscription-Id-Data') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Data'); +avp_header('Subscription-Id-Type') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Type'); +avp_header('Tariff-Change-Usage') -> + diameter_rfc4006_cc:avp_header('Tariff-Change-Usage'); +avp_header('Tariff-Time-Change') -> + diameter_rfc4006_cc:avp_header('Tariff-Time-Change'); +avp_header('Unit-Value') -> + diameter_rfc4006_cc:avp_header('Unit-Value'); +avp_header('Used-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Used-Service-Unit'); +avp_header('User-Equipment-Info') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info'); +avp_header('User-Equipment-Info-Type') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Type'); +avp_header('User-Equipment-Info-Value') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Value'); +avp_header('Validity-Time') -> + diameter_rfc4006_cc:avp_header('Validity-Time'); +avp_header('Value-Digits') -> + diameter_rfc4006_cc:avp_header('Value-Digits'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'AF-Application-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'AF-Charging-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'AF-Signalling-Protocol', _) -> + enumerated_avp(T, 'AF-Signalling-Protocol', Data); +avp(T, Data, 'Abort-Cause', _) -> + enumerated_avp(T, 'Abort-Cause', Data); +avp(T, Data, 'Access-Network-Charging-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Access-Network-Charging-Identifier-Value', + Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Application-Service-Provider-Identity', + Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Codec-Data', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Flow-Description', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'Flow-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Flow-Status', _) -> + enumerated_avp(T, 'Flow-Status', Data); +avp(T, Data, 'Flow-Usage', _) -> + enumerated_avp(T, 'Flow-Usage', Data); +avp(T, Data, 'Flows', Opts) -> + grouped_avp(T, 'Flows', Data, Opts); +avp(T, Data, 'GCS-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'IP-Domain-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MPS-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Max-Requested-Bandwidth-DL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Max-Requested-Bandwidth-UL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Media-Component-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Media-Type', _) -> + enumerated_avp(T, 'Media-Type', Data); +avp(T, Data, 'Min-Requested-Bandwidth-DL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Min-Requested-Bandwidth-UL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'RR-Bandwidth', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'RS-Bandwidth', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Required-Access-Info', _) -> + enumerated_avp(T, 'Required-Access-Info', Data); +avp(T, Data, 'Rx-Request-Type', _) -> + enumerated_avp(T, 'Rx-Request-Type', Data); +avp(T, Data, 'SIP-Forking-Indication', _) -> + enumerated_avp(T, 'SIP-Forking-Indication', Data); +avp(T, Data, 'Service-Info-Status', _) -> + enumerated_avp(T, 'Service-Info-Status', Data); +avp(T, Data, 'Service-URN', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Specific-Action', _) -> + enumerated_avp(T, 'Specific-Action', Data); +avp(T, Data, 'Sponsor-Identity', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'CC-Correlation-Id', Opts) -> + avp(T, + Data, + 'CC-Correlation-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Input-Octets', Opts) -> + avp(T, + Data, + 'CC-Input-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Money', Opts) -> + grouped_avp(T, 'CC-Money', Data, Opts); +avp(T, Data, 'CC-Output-Octets', Opts) -> + avp(T, + Data, + 'CC-Output-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Number', Opts) -> + avp(T, + Data, + 'CC-Request-Number', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Type', Opts) -> + avp(T, + Data, + 'CC-Request-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Service-Specific-Units', Opts) -> + avp(T, + Data, + 'CC-Service-Specific-Units', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Session-Failover', Opts) -> + avp(T, + Data, + 'CC-Session-Failover', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'CC-Sub-Session-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Time', Opts) -> + avp(T, Data, 'CC-Time', Opts, diameter_rfc4006_cc); +avp(T, Data, 'CC-Total-Octets', Opts) -> + avp(T, + Data, + 'CC-Total-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Unit-Type', Opts) -> + avp(T, Data, 'CC-Unit-Type', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Check-Balance-Result', Opts) -> + avp(T, + Data, + 'Check-Balance-Result', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Cost-Information', Opts) -> + grouped_avp(T, 'Cost-Information', Data, Opts); +avp(T, Data, 'Cost-Unit', Opts) -> + avp(T, Data, 'Cost-Unit', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control', Opts) -> + avp(T, + Data, + 'Credit-Control', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control-Failure-Handling', Opts) -> + avp(T, + Data, + 'Credit-Control-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Currency-Code', Opts) -> + avp(T, + Data, + 'Currency-Code', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Direct-Debiting-Failure-Handling', + Opts) -> + avp(T, + Data, + 'Direct-Debiting-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Exponent', Opts) -> + avp(T, Data, 'Exponent', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Action', Opts) -> + avp(T, + Data, + 'Final-Unit-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Indication', Opts) -> + grouped_avp(T, 'Final-Unit-Indication', Data, Opts); +avp(T, Data, 'G-S-U-Pool-Identifier', Opts) -> + avp(T, + Data, + 'G-S-U-Pool-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'G-S-U-Pool-Reference', Opts) -> + grouped_avp(T, 'G-S-U-Pool-Reference', Data, Opts); +avp(T, Data, 'Granted-Service-Unit', Opts) -> + grouped_avp(T, 'Granted-Service-Unit', Data, Opts); +avp(T, Data, 'Multiple-Services-Credit-Control', + Opts) -> + grouped_avp(T, + 'Multiple-Services-Credit-Control', + Data, + Opts); +avp(T, Data, 'Multiple-Services-Indicator', Opts) -> + avp(T, + Data, + 'Multiple-Services-Indicator', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Rating-Group', Opts) -> + avp(T, Data, 'Rating-Group', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Address-Type', Opts) -> + avp(T, + Data, + 'Redirect-Address-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Server', Opts) -> + grouped_avp(T, 'Redirect-Server', Data, Opts); +avp(T, Data, 'Redirect-Server-Address', Opts) -> + avp(T, + Data, + 'Redirect-Server-Address', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Action', Opts) -> + avp(T, + Data, + 'Requested-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Service-Unit', Opts) -> + grouped_avp(T, 'Requested-Service-Unit', Data, Opts); +avp(T, Data, 'Restriction-Filter-Rule', Opts) -> + avp(T, + Data, + 'Restriction-Filter-Rule', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Context-Id', Opts) -> + avp(T, + Data, + 'Service-Context-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Identifier', Opts) -> + avp(T, + Data, + 'Service-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Info', Opts) -> + grouped_avp(T, 'Service-Parameter-Info', Data, Opts); +avp(T, Data, 'Service-Parameter-Type', Opts) -> + avp(T, + Data, + 'Service-Parameter-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Value', Opts) -> + avp(T, + Data, + 'Service-Parameter-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id', Opts) -> + grouped_avp(T, 'Subscription-Id', Data, Opts); +avp(T, Data, 'Subscription-Id-Data', Opts) -> + avp(T, + Data, + 'Subscription-Id-Data', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id-Type', Opts) -> + avp(T, + Data, + 'Subscription-Id-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Change-Usage', Opts) -> + avp(T, + Data, + 'Tariff-Change-Usage', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Time-Change', Opts) -> + avp(T, + Data, + 'Tariff-Time-Change', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Unit-Value', Opts) -> + grouped_avp(T, 'Unit-Value', Data, Opts); +avp(T, Data, 'Used-Service-Unit', Opts) -> + grouped_avp(T, 'Used-Service-Unit', Data, Opts); +avp(T, Data, 'User-Equipment-Info', Opts) -> + grouped_avp(T, 'User-Equipment-Info', Data, Opts); +avp(T, Data, 'User-Equipment-Info-Type', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'User-Equipment-Info-Value', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Validity-Time', Opts) -> + avp(T, + Data, + 'Validity-Time', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Value-Digits', Opts) -> + avp(T, Data, 'Value-Digits', Opts, diameter_rfc4006_cc); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Flows', Opts) -> + empty_group('Flows', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Cost-Information', Opts) -> + empty_group('Cost-Information', Opts); +empty_value('Unit-Value', Opts) -> + empty_group('Unit-Value', Opts); +empty_value('Multiple-Services-Credit-Control', Opts) -> + empty_group('Multiple-Services-Credit-Control', Opts); +empty_value('Granted-Service-Unit', Opts) -> + empty_group('Granted-Service-Unit', Opts); +empty_value('Requested-Service-Unit', Opts) -> + empty_group('Requested-Service-Unit', Opts); +empty_value('Used-Service-Unit', Opts) -> + empty_group('Used-Service-Unit', Opts); +empty_value('CC-Money', Opts) -> + empty_group('CC-Money', Opts); +empty_value('G-S-U-Pool-Reference', Opts) -> + empty_group('G-S-U-Pool-Reference', Opts); +empty_value('Final-Unit-Indication', Opts) -> + empty_group('Final-Unit-Indication', Opts); +empty_value('Redirect-Server', Opts) -> + empty_group('Redirect-Server', Opts); +empty_value('Service-Parameter-Info', Opts) -> + empty_group('Service-Parameter-Info', Opts); +empty_value('Subscription-Id', Opts) -> + empty_group('Subscription-Id', Opts); +empty_value('User-Equipment-Info', Opts) -> + empty_group('User-Equipment-Info', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('CC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Session-Failover', _) -> <<0, 0, 0, 0>>; +empty_value('Check-Balance-Result', _) -> + <<0, 0, 0, 0>>; +empty_value('Credit-Control', _) -> <<0, 0, 0, 0>>; +empty_value('Credit-Control-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Direct-Debiting-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Tariff-Change-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Unit-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Final-Unit-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Address-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Multiple-Services-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Subscription-Id-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Equipment-Info-Type', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"AF-Application-Identifier", + 504, + "OctetString", + "MV"}, + {"AF-Charging-Identifier", 505, "OctetString", "MV"}, + {"AF-Signalling-Protocol", 529, "Enumerated", "V"}, + {"Abort-Cause", 500, "Enumerated", "MV"}, + {"Access-Network-Charging-Address", + 501, + "Address", + "MV"}, + {"Access-Network-Charging-Identifier-Value", + 503, + "OctetString", + "MV"}, + {"Application-Service-Provider-Identity", + 532, + "UTF8String", + "V"}, + {"Codec-Data", 524, "OctetString", "MV"}, + {"Flow-Description", 507, "IPFilterRule", "MV"}, + {"Flow-Number", 509, "Unsigned32", "MV"}, + {"Flow-Status", 511, "Enumerated", "MV"}, + {"Flow-Usage", 512, "Enumerated", "MV"}, + {"Flows", 510, "Grouped", "MV"}, + {"GCS-Identifier", 538, "OctetString", "V"}, + {"IP-Domain-Id", 537, "OctetString", "V"}, + {"MPS-Identifier", 528, "OctetString", "V"}, + {"Max-Requested-Bandwidth-DL", 515, "Unsigned32", "MV"}, + {"Max-Requested-Bandwidth-UL", 516, "Unsigned32", "MV"}, + {"Media-Component-Number", 518, "Unsigned32", "MV"}, + {"Media-Type", 520, "Enumerated", "MV"}, + {"Min-Requested-Bandwidth-DL", 534, "Unsigned32", "V"}, + {"Min-Requested-Bandwidth-UL", 535, "Unsigned32", "V"}, + {"RR-Bandwidth", 521, "Unsigned32", "MV"}, + {"RS-Bandwidth", 522, "Unsigned32", "MV"}, + {"Required-Access-Info", 536, "Enumerated", "V"}, + {"Rx-Request-Type", 533, "Enumerated", "V"}, + {"SIP-Forking-Indication", 523, "Enumerated", "MV"}, + {"Service-Info-Status", 527, "Enumerated", "MV"}, + {"Service-URN", 525, "OctetString", "MV"}, + {"Specific-Action", 513, "Enumerated", "MV"}, + {"Sponsor-Identity", 531, "UTF8String", "V"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, + [{"Flows", + 510, + [], + [{"Media-Component-Number"}, + {'*', ["Flow-Number"]}, + ["Final-Unit-Action"]]}]}, + {id, 16777236}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_rfc4006_cc, + [{"CC-Correlation-Id", 411, "OctetString", []}, + {"CC-Input-Octets", 412, "Unsigned64", "M"}, + {"CC-Money", 413, "Grouped", "M"}, + {"CC-Output-Octets", 414, "Unsigned64", "M"}, + {"CC-Request-Number", 415, "Unsigned32", "M"}, + {"CC-Request-Type", 416, "Enumerated", "M"}, + {"CC-Service-Specific-Units", 417, "Unsigned64", "M"}, + {"CC-Session-Failover", 418, "Enumerated", "M"}, + {"CC-Sub-Session-Id", 419, "Unsigned64", "M"}, + {"CC-Time", 420, "Unsigned32", "M"}, + {"CC-Total-Octets", 421, "Unsigned64", "M"}, + {"CC-Unit-Type", 454, "Enumerated", "M"}, + {"Check-Balance-Result", 422, "Enumerated", "M"}, + {"Cost-Information", 423, "Grouped", "M"}, + {"Cost-Unit", 424, "UTF8String", "M"}, + {"Credit-Control", 426, "Enumerated", "M"}, + {"Credit-Control-Failure-Handling", + 427, + "Enumerated", + "M"}, + {"Currency-Code", 425, "Unsigned32", "M"}, + {"Direct-Debiting-Failure-Handling", + 428, + "Enumerated", + "M"}, + {"Exponent", 429, "Integer32", "M"}, + {"Final-Unit-Action", 449, "Enumerated", "M"}, + {"Final-Unit-Indication", 430, "Grouped", "M"}, + {"G-S-U-Pool-Identifier", 453, "Unsigned32", "M"}, + {"G-S-U-Pool-Reference", 457, "Grouped", "M"}, + {"Granted-Service-Unit", 431, "Grouped", "M"}, + {"Multiple-Services-Credit-Control", + 456, + "Grouped", + "M"}, + {"Multiple-Services-Indicator", 455, "Enumerated", "M"}, + {"Rating-Group", 432, "Unsigned32", "M"}, + {"Redirect-Address-Type", 433, "Enumerated", "M"}, + {"Redirect-Server", 434, "Grouped", "M"}, + {"Redirect-Server-Address", 435, "UTF8String", "M"}, + {"Requested-Action", 436, "Enumerated", "M"}, + {"Requested-Service-Unit", 437, "Grouped", "M"}, + {"Restriction-Filter-Rule", 438, "IPFilterRule", "M"}, + {"Service-Context-Id", 461, "UTF8String", "M"}, + {"Service-Identifier", 439, "Unsigned32", "M"}, + {"Service-Parameter-Info", 440, "Grouped", []}, + {"Service-Parameter-Type", 441, "Unsigned32", []}, + {"Service-Parameter-Value", 442, "OctetString", []}, + {"Subscription-Id", 443, "Grouped", "M"}, + {"Subscription-Id-Data", 444, "UTF8String", "M"}, + {"Subscription-Id-Type", 450, "Enumerated", "M"}, + {"Tariff-Change-Usage", 452, "Enumerated", "M"}, + {"Tariff-Time-Change", 451, "Time", "M"}, + {"Unit-Value", 445, "Grouped", "M"}, + {"Used-Service-Unit", 446, "Grouped", "M"}, + {"User-Equipment-Info", 458, "Grouped", []}, + {"User-Equipment-Info-Type", 459, "Enumerated", []}, + {"User-Equipment-Info-Value", 460, "OctetString", []}, + {"Validity-Time", 448, "Unsigned32", "M"}, + {"Value-Digits", 447, "Integer64", "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_rfc4006_cc, + [{"CC-Request-Type", + [{"INITIAL_REQUEST", 1}, + {"UPDATE_REQUEST", 2}, + {"TERMINATION_REQUEST", 3}, + {"EVENT_REQUEST", 4}]}, + {"CC-Session-Failover", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Check-Balance-Result", + [{"ENOUGH_CREDIT", 0}, {"NO_CREDIT", 1}]}, + {"Credit-Control", + [{"AUTHORIZATION", 0}, {"RE_AUTHORIZATION", 1}]}, + {"Credit-Control-Failure-Handling", + [{"TERMINATE", 0}, + {"CONTINUE", 1}, + {"RETRY_AND_TERMINATE", 2}]}, + {"Direct-Debiting-Failure-Handling", + [{"TERMINATE_OR_BUFFER", 0}, {"CONTINUE", 1}]}, + {"Tariff-Change-Usage", + [{"UNIT_BEFORE_TARIFF_CHANGE", 0}, + {"UNIT_AFTER_TARIFF_CHANGE", 1}, + {"UNIT_INDETERMINATE", 2}]}, + {"CC-Unit-Type", + [{"TIME", 0}, + {"MONEY", 1}, + {"TOTAL-OCTETS", 2}, + {"INPUT-OCTETS", 3}, + {"OUTPUT-OCTETS", 4}, + {"SERVICE-SPECIFIC-UNITS", 5}]}, + {"Final-Unit-Action", + [{"TERMINATE", 0}, + {"REDIRECT", 1}, + {"RESTRICT_ACCESS", 2}]}, + {"Redirect-Address-Type", + [{"IPV4", 0}, {"IPV6", 1}, {"URL", 2}, {"SIP_URI", 3}]}, + {"Multiple-Services-Indicator", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Requested-Action", + [{"DIRECT_DEBITING", 0}, + {"REFUND_ACCOUNT", 1}, + {"CHECK_BALANCE", 2}, + {"PRICE_ENQUIRY", 3}]}, + {"Subscription-Id-Type", + [{"END_USER_E164", 0}, + {"END_USER_IMSI", 1}, + {"END_USER_SIP_URI", 2}, + {"END_USER_NAI", 3}, + {"END_USER_PRIVATE", 4}]}, + {"User-Equipment-Info-Type", + [{"IMEISV", 0}, + {"MAC", 1}, + {"EUI64", 2}, + {"MODIFIED_EUI64", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_rfc4006_cc, + [{"Cost-Information", + 423, + [], + [{"Unit-Value"}, {"Currency-Code"}, ["Cost-Unit"]]}, + {"Unit-Value", + 445, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Multiple-Services-Credit-Control", + 456, + [], + [["Granted-Service-Unit"], + ["Requested-Service-Unit"], + {'*', ["Used-Service-Unit"]}, + ["Tariff-Change-Usage"], + {'*', ["Service-Identifier"]}, + ["Rating-Group"], + {'*', ["G-S-U-Pool-Reference"]}, + ["Validity-Time"], + ["Result-Code"], + ["Final-Unit-Indication"], + {'*', ["AVP"]}]}, + {"Granted-Service-Unit", + 431, + [], + [["Tariff-Time-Change"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Requested-Service-Unit", + 437, + [], + [["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Used-Service-Unit", + 446, + [], + [["Tariff-Change-Usage"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"CC-Money", + 413, + [], + [{"Unit-Value"}, ["Currency-Code"]]}, + {"G-S-U-Pool-Reference", + 457, + [], + [{"G-S-U-Pool-Identifier"}, + {"CC-Unit-Type"}, + {"Unit-Value"}]}, + {"Final-Unit-Indication", + 430, + [], + [{"Final-Unit-Action"}, + {'*', ["Restriction-Filter-Rule"]}, + {'*', ["Filter-Id"]}, + ["Redirect-Server"]]}, + {"Redirect-Server", + 434, + [], + [{"Redirect-Address-Type"}, + {"Redirect-Server-Address"}]}, + {"Service-Parameter-Info", + 440, + [], + [{"Service-Parameter-Type"}, + {"Service-Parameter-Value"}]}, + {"Subscription-Id", + 443, + [], + [{"Subscription-Id-Type"}, {"Subscription-Id-Data"}]}, + {"User-Equipment-Info", + 458, + [], + [{"User-Equipment-Info-Type"}, + {"User-Equipment-Info-Value"}]}]}]}, + {inherits, + [{"diameter_rfc4006_cc", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_3gpp_ts29_214"}, + {prefix, "diameter_rx"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_229.erl b/src/diameter_3gpp_ts29_229.erl new file mode 100644 index 0000000..25ecc4b --- /dev/null +++ b/src/diameter_3gpp_ts29_229.erl @@ -0,0 +1,2663 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_229). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['diameter_cx_Charging-Information', + 'diameter_cx_Supported-Features', + 'diameter_cx_Supported-Applications', + 'diameter_cx_SIP-Auth-Data-Item', + 'diameter_cx_Deregistration-Reason', + 'diameter_cx_SIP-Digest-Authenticate', + 'diameter_cx_Proxy-Info', + 'diameter_cx_Failed-AVP', + 'diameter_cx_Experimental-Result', + 'diameter_cx_Vendor-Specific-Application-Id', + 'diameter_cx_Location-Information', + 'diameter_cx_CHAP-Auth', + diameter_cx_Tunneling]). + +-record('diameter_cx_Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('diameter_cx_Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('diameter_cx_Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('diameter_cx_SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('diameter_cx_Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('diameter_cx_SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + +-record('diameter_cx_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_cx_Failed-AVP', {'AVP' = []}). + +-record('diameter_cx_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_cx_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('diameter_cx_Location-Information', + {'Line-Identifier' = [], + 'Civic-Location' = [], + 'Geospatial-Location' = [], + 'AVP' = []}). + +-record('diameter_cx_CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record(diameter_cx_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_229. + +id() -> 16777236. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Charging-Information') -> + 'diameter_cx_Charging-Information'; +name2rec('Supported-Features') -> + 'diameter_cx_Supported-Features'; +name2rec('Supported-Applications') -> + 'diameter_cx_Supported-Applications'; +name2rec('SIP-Auth-Data-Item') -> + 'diameter_cx_SIP-Auth-Data-Item'; +name2rec('Deregistration-Reason') -> + 'diameter_cx_Deregistration-Reason'; +name2rec('SIP-Digest-Authenticate') -> + 'diameter_cx_SIP-Digest-Authenticate'; +name2rec('Proxy-Info') -> 'diameter_cx_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_cx_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_cx_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_cx_Vendor-Specific-Application-Id'; +name2rec('Location-Information') -> + 'diameter_cx_Location-Information'; +name2rec('CHAP-Auth') -> 'diameter_cx_CHAP-Auth'; +name2rec('Tunneling') -> diameter_cx_Tunneling; +name2rec(T) -> msg2rec(T). + +avp_name(643, 10415) -> + {'Call-ID-SIP-Header', 'OctetString'}; +avp_name(618, 10415) -> + {'Charging-Information', 'Grouped'}; +avp_name(625, 10415) -> + {'Confidentiality-Key', 'OctetString'}; +avp_name(641, 10415) -> {'Contact', 'OctetString'}; +avp_name(615, 10415) -> + {'Deregistration-Reason', 'Grouped'}; +avp_name(111, undefined) -> + {'Digest-Algorithm', 'UTF8String'}; +avp_name(121, undefined) -> + {'Digest-HA1', 'UTF8String'}; +avp_name(110, undefined) -> + {'Digest-QoP', 'UTF8String'}; +avp_name(104, undefined) -> + {'Digest-Realm', 'UTF8String'}; +avp_name(630, 10415) -> {'Feature-List', 'Unsigned32'}; +avp_name(629, 10415) -> + {'Feature-List-ID', 'Unsigned32'}; +avp_name(644, 10415) -> + {'From-SIP-Header', 'OctetString'}; +avp_name(654, 10415) -> + {'Initial-CSeq-Sequence-Number', 'Unsigned32'}; +avp_name(626, 10415) -> + {'Integrity-Key', 'OctetString'}; +avp_name(653, 10415) -> {'LIA-Flags', 'Unsigned32'}; +avp_name(638, 10415) -> + {'Loose-Route-Indication', 'Enumerated'}; +avp_name(604, 10415) -> + {'Mandatory-Capability', 'Unsigned32'}; +avp_name(648, 10415) -> + {'Multiple-Registration-Indication', 'Enumerated'}; +avp_name(605, 10415) -> + {'Optional-Capability', 'Unsigned32'}; +avp_name(633, 10415) -> + {'Originating-Request', 'Enumerated'}; +avp_name(640, 10415) -> {'Path', 'OctetString'}; +avp_name(621, 10415) -> + {'Primary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(619, 10415) -> + {'Primary-Event-Charging-Function-Name', 'DiameterURI'}; +avp_name(652, 10415) -> + {'Priviledged-Sender-Indication', 'Enumerated'}; +avp_name(601, 10415) -> + {'Public-Identity', 'UTF8String'}; +avp_name(616, 10415) -> {'Reason-Code', 'Enumerated'}; +avp_name(617, 10415) -> {'Reason-Info', 'UTF8String'}; +avp_name(646, 10415) -> {'Record-Route', 'OctetString'}; +avp_name(655, 10415) -> {'SAR-Flags', 'Unsigned32'}; +avp_name(612, 10415) -> + {'SIP-Auth-Data-Item', 'Grouped'}; +avp_name(609, 10415) -> + {'SIP-Authenticate', 'OctetString'}; +avp_name(611, 10415) -> + {'SIP-Authentication-Context', 'OctetString'}; +avp_name(608, 10415) -> + {'SIP-Authentication-Scheme', 'UTF8String'}; +avp_name(610, 10415) -> + {'SIP-Authorization', 'OctetString'}; +avp_name(635, 10415) -> + {'SIP-Digest-Authenticate', 'Grouped'}; +avp_name(613, 10415) -> + {'SIP-Item-Number', 'Unsigned32'}; +avp_name(607, 10415) -> + {'SIP-Number-Auth-Items', 'Unsigned32'}; +avp_name(622, 10415) -> + {'Secondary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(620, 10415) -> + {'Secondary-Event-Charging-Function-Name', + 'DiameterURI'}; +avp_name(614, 10415) -> + {'Server-Assignment-Type', 'Enumerated'}; +avp_name(602, 10415) -> {'Server-Name', 'UTF8String'}; +avp_name(650, 10415) -> + {'Session-Priority', 'Enumerated'}; +avp_name(631, 10415) -> + {'Supported-Applications', 'Grouped'}; +avp_name(628, 10415) -> + {'Supported-Features', 'Grouped'}; +avp_name(645, 10415) -> + {'To-SIP-Header', 'OctetString'}; +avp_name(637, 10415) -> {'UAR-Flags', 'Unsigned32'}; +avp_name(623, 10415) -> + {'User-Authorization-Type', 'Enumerated'}; +avp_name(606, 10415) -> {'User-Data', 'OctetString'}; +avp_name(624, 10415) -> + {'User-Data-Already-Available', 'Enumerated'}; +avp_name(600, 10415) -> + {'Visited-Network-Identifier', 'OctetString'}; +avp_name(634, 10415) -> + {'Wildcarded-Public-Identity', 'UTF8String'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(355, 13019) -> + {'Civic-Location', 'OctetString'}; +avp_name(354, 13019) -> {'Event-Type', 'Enumerated'}; +avp_name(356, 13019) -> + {'Geospatial-Location', 'OctetString'}; +avp_name(500, 13019) -> + {'Line-Identifier', 'OctetString'}; +avp_name(350, 13019) -> + {'Location-Information', 'Grouped'}; +avp_name(351, 13019) -> + {'Policy-Control-Contact-Point', 'DiameterIdentity'}; +avp_name(353, 13019) -> + {'Requested-Information', 'Enumerated'}; +avp_name(352, 13019) -> + {'Terminal-Type', 'OctetString'}; +avp_name(84, undefined) -> + {'ARAP-Challenge-Response', 'OctetString'}; +avp_name(71, undefined) -> + {'ARAP-Features', 'OctetString'}; +avp_name(70, undefined) -> + {'ARAP-Password', 'OctetString'}; +avp_name(73, undefined) -> + {'ARAP-Security', 'Unsigned32'}; +avp_name(74, undefined) -> + {'ARAP-Security-Data', 'OctetString'}; +avp_name(72, undefined) -> + {'ARAP-Zone-Access', 'Enumerated'}; +avp_name(406, undefined) -> + {'Accounting-Auth-Method', 'Enumerated'}; +avp_name(363, undefined) -> + {'Accounting-Input-Octets', 'Unsigned64'}; +avp_name(365, undefined) -> + {'Accounting-Input-Packets', 'Unsigned64'}; +avp_name(364, undefined) -> + {'Accounting-Output-Octets', 'Unsigned64'}; +avp_name(366, undefined) -> + {'Accounting-Output-Packets', 'Unsigned64'}; +avp_name(45, undefined) -> + {'Acct-Authentic', 'Enumerated'}; +avp_name(41, undefined) -> + {'Acct-Delay-Time', 'Unsigned32'}; +avp_name(51, undefined) -> + {'Acct-Link-Count', 'Unsigned32'}; +avp_name(46, undefined) -> + {'Acct-Session-Time', 'Unsigned32'}; +avp_name(68, undefined) -> + {'Acct-Tunnel-Connection', 'OctetString'}; +avp_name(86, undefined) -> + {'Acct-Tunnel-Packets-Lost', 'Unsigned32'}; +avp_name(403, undefined) -> + {'CHAP-Algorithm', 'Enumerated'}; +avp_name(402, undefined) -> {'CHAP-Auth', 'Grouped'}; +avp_name(60, undefined) -> + {'CHAP-Challenge', 'OctetString'}; +avp_name(404, undefined) -> + {'CHAP-Ident', 'OctetString'}; +avp_name(405, undefined) -> + {'CHAP-Response', 'OctetString'}; +avp_name(20, undefined) -> + {'Callback-Id', 'UTF8String'}; +avp_name(19, undefined) -> + {'Callback-Number', 'UTF8String'}; +avp_name(30, undefined) -> + {'Called-Station-Id', 'UTF8String'}; +avp_name(31, undefined) -> + {'Calling-Station-Id', 'UTF8String'}; +avp_name(78, undefined) -> + {'Configuration-Token', 'OctetString'}; +avp_name(77, undefined) -> + {'Connect-Info', 'UTF8String'}; +avp_name(11, undefined) -> {'Filter-Id', 'UTF8String'}; +avp_name(37, undefined) -> + {'Framed-AppleTalk-Link', 'Unsigned32'}; +avp_name(38, undefined) -> + {'Framed-AppleTalk-Network', 'Unsigned32'}; +avp_name(39, undefined) -> + {'Framed-AppleTalk-Zone', 'OctetString'}; +avp_name(13, undefined) -> + {'Framed-Compression', 'Enumerated'}; +avp_name(8, undefined) -> + {'Framed-IP-Address', 'OctetString'}; +avp_name(9, undefined) -> + {'Framed-IP-Netmask', 'OctetString'}; +avp_name(23, undefined) -> + {'Framed-IPX-Network', 'UTF8String'}; +avp_name(100, undefined) -> + {'Framed-IPv6-Pool', 'OctetString'}; +avp_name(97, undefined) -> + {'Framed-IPv6-Prefix', 'OctetString'}; +avp_name(99, undefined) -> + {'Framed-IPv6-Route', 'UTF8String'}; +avp_name(96, undefined) -> + {'Framed-Interface-Id', 'Unsigned64'}; +avp_name(12, undefined) -> {'Framed-MTU', 'Unsigned32'}; +avp_name(88, undefined) -> + {'Framed-Pool', 'OctetString'}; +avp_name(7, undefined) -> + {'Framed-Protocol', 'Enumerated'}; +avp_name(22, undefined) -> + {'Framed-Route', 'UTF8String'}; +avp_name(10, undefined) -> + {'Framed-Routing', 'Enumerated'}; +avp_name(28, undefined) -> + {'Idle-Timeout', 'Unsigned32'}; +avp_name(14, undefined) -> + {'Login-IP-Host', 'OctetString'}; +avp_name(98, undefined) -> + {'Login-IPv6-Host', 'OctetString'}; +avp_name(36, undefined) -> + {'Login-LAT-Group', 'OctetString'}; +avp_name(35, undefined) -> + {'Login-LAT-Node', 'OctetString'}; +avp_name(63, undefined) -> + {'Login-LAT-Port', 'OctetString'}; +avp_name(34, undefined) -> + {'Login-LAT-Service', 'OctetString'}; +avp_name(15, undefined) -> + {'Login-Service', 'Enumerated'}; +avp_name(16, undefined) -> + {'Login-TCP-Port', 'Unsigned32'}; +avp_name(400, undefined) -> + {'NAS-Filter-Rule', 'IPFilterRule'}; +avp_name(4, undefined) -> + {'NAS-IP-Address', 'OctetString'}; +avp_name(95, undefined) -> + {'NAS-IPv6-Address', 'OctetString'}; +avp_name(32, undefined) -> + {'NAS-Identifier', 'UTF8String'}; +avp_name(5, undefined) -> {'NAS-Port', 'Unsigned32'}; +avp_name(87, undefined) -> + {'NAS-Port-Id', 'UTF8String'}; +avp_name(61, undefined) -> + {'NAS-Port-Type', 'Enumerated'}; +avp_name(408, undefined) -> + {'Origin-AAA-Protocol', 'Enumerated'}; +avp_name(94, undefined) -> + {'Originating-Line-Info', 'OctetString'}; +avp_name(75, undefined) -> + {'Password-Retry', 'Unsigned32'}; +avp_name(62, undefined) -> {'Port-Limit', 'Unsigned32'}; +avp_name(76, undefined) -> {'Prompt', 'Enumerated'}; +avp_name(407, undefined) -> + {'QoS-Filter-Rule', 'QoSFilterRule'}; +avp_name(18, undefined) -> + {'Reply-Message', 'UTF8String'}; +avp_name(6, undefined) -> + {'Service-Type', 'Enumerated'}; +avp_name(24, undefined) -> {'State', 'OctetString'}; +avp_name(82, undefined) -> + {'Tunnel-Assignment-Id', 'OctetString'}; +avp_name(90, undefined) -> + {'Tunnel-Client-Auth-Id', 'UTF8String'}; +avp_name(66, undefined) -> + {'Tunnel-Client-Endpoint', 'UTF8String'}; +avp_name(65, undefined) -> + {'Tunnel-Medium-Type', 'Enumerated'}; +avp_name(69, undefined) -> + {'Tunnel-Password', 'OctetString'}; +avp_name(83, undefined) -> + {'Tunnel-Preference', 'Unsigned32'}; +avp_name(81, undefined) -> + {'Tunnel-Private-Group-Id', 'OctetString'}; +avp_name(91, undefined) -> + {'Tunnel-Server-Auth-Id', 'UTF8String'}; +avp_name(67, undefined) -> + {'Tunnel-Server-Endpoint', 'UTF8String'}; +avp_name(64, undefined) -> + {'Tunnel-Type', 'Enumerated'}; +avp_name(401, undefined) -> {'Tunneling', 'Grouped'}; +avp_name(2, undefined) -> + {'User-Password', 'OctetString'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Charging-Information') -> + [{'Primary-Event-Charging-Function-Name', {0, 1}}, + {'Secondary-Event-Charging-Function-Name', {0, 1}}, + {'Primary-Charging-Collection-Function-Name', {0, 1}}, + {'Secondary-Charging-Collection-Function-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Features') -> + [{'Vendor-Id', 1}, + {'Feature-List-ID', 1}, + {'Feature-List', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Applications') -> + [{'Auth-Application-Id', {0, '*'}}, + {'Acct-Application-Id', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Auth-Data-Item') -> + [{'SIP-Item-Number', {0, 1}}, + {'SIP-Authentication-Scheme', {0, 1}}, + {'SIP-Authenticate', {0, 1}}, + {'SIP-Authorization', {0, 1}}, + {'SIP-Authentication-Context', {0, 1}}, + {'Confidentiality-Key', {0, 1}}, + {'Integrity-Key', {0, 1}}, + {'SIP-Digest-Authenticate', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Line-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Deregistration-Reason') -> + [{'Reason-Code', 1}, + {'Reason-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Digest-Authenticate') -> + [{'Digest-Realm', 1}, + {'Digest-QoP', 1}, + {'Digest-HA1', 1}, + {'Digest-Algorithm', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Location-Information') -> + [{'Line-Identifier', {0, 1}}, + {'Civic-Location', {0, 1}}, + {'Geospatial-Location', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CHAP-Auth') -> + [{'CHAP-Algorithm', 1}, + {'CHAP-Ident', 1}, + {'CHAP-Response', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Tunneling') -> + [{'Tunnel-Type', 1}, + {'Tunnel-Medium-Type', 1}, + {'Tunnel-Client-Endpoint', 1}, + {'Tunnel-Server-Endpoint', 1}, + {'Tunnel-Preference', {0, 1}}, + {'Tunnel-Client-Auth-Id', {0, 1}}, + {'Tunnel-Server-Auth-Id', {0, 1}}, + {'Tunnel-Assignment-Id', {0, 1}}, + {'Tunnel-Password', {0, 1}}, + {'Tunnel-Private-Group-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Charging-Information', + 'Primary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', 'AVP') -> {0, '*'}; +avp_arity('Supported-Features', 'Vendor-Id') -> 1; +avp_arity('Supported-Features', 'Feature-List-ID') -> 1; +avp_arity('Supported-Features', 'Feature-List') -> 1; +avp_arity('Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('Supported-Applications', + 'Auth-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Acct-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Vendor-Specific-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', 'AVP') -> {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Item-Number') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Scheme') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authorization') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Context') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Confidentiality-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Integrity-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Digest-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IP-Address') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IPv6-Prefix') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Framed-Interface-Id') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Line-Identifier') -> + {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'AVP') -> {0, '*'}; +avp_arity('Deregistration-Reason', 'Reason-Code') -> 1; +avp_arity('Deregistration-Reason', 'Reason-Info') -> + {0, 1}; +avp_arity('Deregistration-Reason', 'AVP') -> {0, '*'}; +avp_arity('SIP-Digest-Authenticate', 'Digest-Realm') -> + 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-QoP') -> 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-HA1') -> 1; +avp_arity('SIP-Digest-Authenticate', + 'Digest-Algorithm') -> + {0, 1}; +avp_arity('SIP-Digest-Authenticate', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Location-Information', 'Line-Identifier') -> + {0, 1}; +avp_arity('Location-Information', 'Civic-Location') -> + {0, 1}; +avp_arity('Location-Information', + 'Geospatial-Location') -> + {0, 1}; +avp_arity('Location-Information', 'AVP') -> {0, '*'}; +avp_arity('CHAP-Auth', 'CHAP-Algorithm') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Ident') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Response') -> {0, 1}; +avp_arity('CHAP-Auth', 'AVP') -> {0, '*'}; +avp_arity('Tunneling', 'Tunnel-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Medium-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Client-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Server-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Preference') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Client-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Server-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Assignment-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Password') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Private-Group-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Call-ID-SIP-Header') -> {643, 128, 10415}; +avp_header('Charging-Information') -> {618, 192, 10415}; +avp_header('Confidentiality-Key') -> {625, 192, 10415}; +avp_header('Contact') -> {641, 128, 10415}; +avp_header('Deregistration-Reason') -> + {615, 192, 10415}; +avp_header('Digest-Algorithm') -> {111, 64, undefined}; +avp_header('Digest-HA1') -> {121, 64, undefined}; +avp_header('Digest-QoP') -> {110, 64, undefined}; +avp_header('Digest-Realm') -> {104, 64, undefined}; +avp_header('Feature-List') -> {630, 128, 10415}; +avp_header('Feature-List-ID') -> {629, 128, 10415}; +avp_header('From-SIP-Header') -> {644, 128, 10415}; +avp_header('Initial-CSeq-Sequence-Number') -> + {654, 128, 10415}; +avp_header('Integrity-Key') -> {626, 192, 10415}; +avp_header('LIA-Flags') -> {653, 128, 10415}; +avp_header('Loose-Route-Indication') -> + {638, 128, 10415}; +avp_header('Mandatory-Capability') -> {604, 192, 10415}; +avp_header('Multiple-Registration-Indication') -> + {648, 128, 10415}; +avp_header('Optional-Capability') -> {605, 192, 10415}; +avp_header('Originating-Request') -> {633, 192, 10415}; +avp_header('Path') -> {640, 128, 10415}; +avp_header('Primary-Charging-Collection-Function-Name') -> + {621, 192, 10415}; +avp_header('Primary-Event-Charging-Function-Name') -> + {619, 192, 10415}; +avp_header('Priviledged-Sender-Indication') -> + {652, 128, 10415}; +avp_header('Public-Identity') -> {601, 192, 10415}; +avp_header('Reason-Code') -> {616, 192, 10415}; +avp_header('Reason-Info') -> {617, 192, 10415}; +avp_header('Record-Route') -> {646, 128, 10415}; +avp_header('SAR-Flags') -> {655, 128, 10415}; +avp_header('SIP-Auth-Data-Item') -> {612, 192, 10415}; +avp_header('SIP-Authenticate') -> {609, 192, 10415}; +avp_header('SIP-Authentication-Context') -> + {611, 192, 10415}; +avp_header('SIP-Authentication-Scheme') -> + {608, 192, 10415}; +avp_header('SIP-Authorization') -> {610, 192, 10415}; +avp_header('SIP-Digest-Authenticate') -> + {635, 128, 10415}; +avp_header('SIP-Item-Number') -> {613, 192, 10415}; +avp_header('SIP-Number-Auth-Items') -> + {607, 192, 10415}; +avp_header('Secondary-Charging-Collection-Function-Name') -> + {622, 192, 10415}; +avp_header('Secondary-Event-Charging-Function-Name') -> + {620, 192, 10415}; +avp_header('Server-Assignment-Type') -> + {614, 192, 10415}; +avp_header('Server-Name') -> {602, 192, 10415}; +avp_header('Session-Priority') -> {650, 128, 10415}; +avp_header('Supported-Applications') -> + {631, 128, 10415}; +avp_header('Supported-Features') -> {628, 128, 10415}; +avp_header('To-SIP-Header') -> {645, 128, 10415}; +avp_header('UAR-Flags') -> {637, 128, 10415}; +avp_header('User-Authorization-Type') -> + {623, 192, 10415}; +avp_header('User-Data') -> {606, 192, 10415}; +avp_header('User-Data-Already-Available') -> + {624, 192, 10415}; +avp_header('Visited-Network-Identifier') -> + {600, 192, 10415}; +avp_header('Wildcarded-Public-Identity') -> + {634, 128, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('Civic-Location') -> + diameter_etsi_es283_035:avp_header('Civic-Location'); +avp_header('Event-Type') -> + diameter_etsi_es283_035:avp_header('Event-Type'); +avp_header('Geospatial-Location') -> + diameter_etsi_es283_035:avp_header('Geospatial-Location'); +avp_header('Line-Identifier') -> + diameter_etsi_es283_035:avp_header('Line-Identifier'); +avp_header('Location-Information') -> + diameter_etsi_es283_035:avp_header('Location-Information'); +avp_header('Policy-Control-Contact-Point') -> + diameter_etsi_es283_035:avp_header('Policy-Control-Contact-Point'); +avp_header('Requested-Information') -> + diameter_etsi_es283_035:avp_header('Requested-Information'); +avp_header('Terminal-Type') -> + diameter_etsi_es283_035:avp_header('Terminal-Type'); +avp_header('ARAP-Challenge-Response') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Challenge-Response'); +avp_header('ARAP-Features') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Features'); +avp_header('ARAP-Password') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Password'); +avp_header('ARAP-Security') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Security'); +avp_header('ARAP-Security-Data') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Security-Data'); +avp_header('ARAP-Zone-Access') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Zone-Access'); +avp_header('Accounting-Auth-Method') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Auth-Method'); +avp_header('Accounting-Input-Octets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Input-Octets'); +avp_header('Accounting-Input-Packets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Input-Packets'); +avp_header('Accounting-Output-Octets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Output-Octets'); +avp_header('Accounting-Output-Packets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Output-Packets'); +avp_header('Acct-Authentic') -> + diameter_rfc4005_nasreq:avp_header('Acct-Authentic'); +avp_header('Acct-Delay-Time') -> + diameter_rfc4005_nasreq:avp_header('Acct-Delay-Time'); +avp_header('Acct-Link-Count') -> + diameter_rfc4005_nasreq:avp_header('Acct-Link-Count'); +avp_header('Acct-Session-Time') -> + diameter_rfc4005_nasreq:avp_header('Acct-Session-Time'); +avp_header('Acct-Tunnel-Connection') -> + diameter_rfc4005_nasreq:avp_header('Acct-Tunnel-Connection'); +avp_header('Acct-Tunnel-Packets-Lost') -> + diameter_rfc4005_nasreq:avp_header('Acct-Tunnel-Packets-Lost'); +avp_header('CHAP-Algorithm') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Algorithm'); +avp_header('CHAP-Auth') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Auth'); +avp_header('CHAP-Challenge') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Challenge'); +avp_header('CHAP-Ident') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Ident'); +avp_header('CHAP-Response') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Response'); +avp_header('Callback-Id') -> + diameter_rfc4005_nasreq:avp_header('Callback-Id'); +avp_header('Callback-Number') -> + diameter_rfc4005_nasreq:avp_header('Callback-Number'); +avp_header('Called-Station-Id') -> + diameter_rfc4005_nasreq:avp_header('Called-Station-Id'); +avp_header('Calling-Station-Id') -> + diameter_rfc4005_nasreq:avp_header('Calling-Station-Id'); +avp_header('Configuration-Token') -> + diameter_rfc4005_nasreq:avp_header('Configuration-Token'); +avp_header('Connect-Info') -> + diameter_rfc4005_nasreq:avp_header('Connect-Info'); +avp_header('Filter-Id') -> + diameter_rfc4005_nasreq:avp_header('Filter-Id'); +avp_header('Framed-AppleTalk-Link') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Link'); +avp_header('Framed-AppleTalk-Network') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Network'); +avp_header('Framed-AppleTalk-Zone') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Zone'); +avp_header('Framed-Compression') -> + diameter_rfc4005_nasreq:avp_header('Framed-Compression'); +avp_header('Framed-IP-Address') -> + diameter_rfc4005_nasreq:avp_header('Framed-IP-Address'); +avp_header('Framed-IP-Netmask') -> + diameter_rfc4005_nasreq:avp_header('Framed-IP-Netmask'); +avp_header('Framed-IPX-Network') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPX-Network'); +avp_header('Framed-IPv6-Pool') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Pool'); +avp_header('Framed-IPv6-Prefix') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Prefix'); +avp_header('Framed-IPv6-Route') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Route'); +avp_header('Framed-Interface-Id') -> + diameter_rfc4005_nasreq:avp_header('Framed-Interface-Id'); +avp_header('Framed-MTU') -> + diameter_rfc4005_nasreq:avp_header('Framed-MTU'); +avp_header('Framed-Pool') -> + diameter_rfc4005_nasreq:avp_header('Framed-Pool'); +avp_header('Framed-Protocol') -> + diameter_rfc4005_nasreq:avp_header('Framed-Protocol'); +avp_header('Framed-Route') -> + diameter_rfc4005_nasreq:avp_header('Framed-Route'); +avp_header('Framed-Routing') -> + diameter_rfc4005_nasreq:avp_header('Framed-Routing'); +avp_header('Idle-Timeout') -> + diameter_rfc4005_nasreq:avp_header('Idle-Timeout'); +avp_header('Login-IP-Host') -> + diameter_rfc4005_nasreq:avp_header('Login-IP-Host'); +avp_header('Login-IPv6-Host') -> + diameter_rfc4005_nasreq:avp_header('Login-IPv6-Host'); +avp_header('Login-LAT-Group') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Group'); +avp_header('Login-LAT-Node') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Node'); +avp_header('Login-LAT-Port') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Port'); +avp_header('Login-LAT-Service') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Service'); +avp_header('Login-Service') -> + diameter_rfc4005_nasreq:avp_header('Login-Service'); +avp_header('Login-TCP-Port') -> + diameter_rfc4005_nasreq:avp_header('Login-TCP-Port'); +avp_header('NAS-Filter-Rule') -> + diameter_rfc4005_nasreq:avp_header('NAS-Filter-Rule'); +avp_header('NAS-IP-Address') -> + diameter_rfc4005_nasreq:avp_header('NAS-IP-Address'); +avp_header('NAS-IPv6-Address') -> + diameter_rfc4005_nasreq:avp_header('NAS-IPv6-Address'); +avp_header('NAS-Identifier') -> + diameter_rfc4005_nasreq:avp_header('NAS-Identifier'); +avp_header('NAS-Port') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port'); +avp_header('NAS-Port-Id') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port-Id'); +avp_header('NAS-Port-Type') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port-Type'); +avp_header('Origin-AAA-Protocol') -> + diameter_rfc4005_nasreq:avp_header('Origin-AAA-Protocol'); +avp_header('Originating-Line-Info') -> + diameter_rfc4005_nasreq:avp_header('Originating-Line-Info'); +avp_header('Password-Retry') -> + diameter_rfc4005_nasreq:avp_header('Password-Retry'); +avp_header('Port-Limit') -> + diameter_rfc4005_nasreq:avp_header('Port-Limit'); +avp_header('Prompt') -> + diameter_rfc4005_nasreq:avp_header('Prompt'); +avp_header('QoS-Filter-Rule') -> + diameter_rfc4005_nasreq:avp_header('QoS-Filter-Rule'); +avp_header('Reply-Message') -> + diameter_rfc4005_nasreq:avp_header('Reply-Message'); +avp_header('Service-Type') -> + diameter_rfc4005_nasreq:avp_header('Service-Type'); +avp_header('State') -> + diameter_rfc4005_nasreq:avp_header('State'); +avp_header('Tunnel-Assignment-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Assignment-Id'); +avp_header('Tunnel-Client-Auth-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Client-Auth-Id'); +avp_header('Tunnel-Client-Endpoint') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Client-Endpoint'); +avp_header('Tunnel-Medium-Type') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Medium-Type'); +avp_header('Tunnel-Password') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Password'); +avp_header('Tunnel-Preference') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Preference'); +avp_header('Tunnel-Private-Group-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Private-Group-Id'); +avp_header('Tunnel-Server-Auth-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Server-Auth-Id'); +avp_header('Tunnel-Server-Endpoint') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Server-Endpoint'); +avp_header('Tunnel-Type') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Type'); +avp_header('Tunneling') -> + diameter_rfc4005_nasreq:avp_header('Tunneling'); +avp_header('User-Password') -> + diameter_rfc4005_nasreq:avp_header('User-Password'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Call-ID-SIP-Header', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Charging-Information', Opts) -> + grouped_avp(T, 'Charging-Information', Data, Opts); +avp(T, Data, 'Confidentiality-Key', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Contact', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Deregistration-Reason', Opts) -> + grouped_avp(T, 'Deregistration-Reason', Data, Opts); +avp(T, Data, 'Digest-Algorithm', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Digest-HA1', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Digest-QoP', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Digest-Realm', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Feature-List', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Feature-List-ID', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'From-SIP-Header', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Initial-CSeq-Sequence-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Integrity-Key', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'LIA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Loose-Route-Indication', _) -> + enumerated_avp(T, 'Loose-Route-Indication', Data); +avp(T, Data, 'Mandatory-Capability', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Multiple-Registration-Indication', _) -> + enumerated_avp(T, + 'Multiple-Registration-Indication', + Data); +avp(T, Data, 'Optional-Capability', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Originating-Request', _) -> + enumerated_avp(T, 'Originating-Request', Data); +avp(T, Data, 'Path', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, + 'Primary-Charging-Collection-Function-Name', Opts) -> + diameter_types:'DiameterURI'(T, Data, Opts); +avp(T, Data, 'Primary-Event-Charging-Function-Name', + Opts) -> + diameter_types:'DiameterURI'(T, Data, Opts); +avp(T, Data, 'Priviledged-Sender-Indication', _) -> + enumerated_avp(T, + 'Priviledged-Sender-Indication', + Data); +avp(T, Data, 'Public-Identity', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Reason-Code', _) -> + enumerated_avp(T, 'Reason-Code', Data); +avp(T, Data, 'Reason-Info', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Record-Route', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SAR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SIP-Auth-Data-Item', Opts) -> + grouped_avp(T, 'SIP-Auth-Data-Item', Data, Opts); +avp(T, Data, 'SIP-Authenticate', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SIP-Authentication-Context', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SIP-Authentication-Scheme', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'SIP-Authorization', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SIP-Digest-Authenticate', Opts) -> + grouped_avp(T, 'SIP-Digest-Authenticate', Data, Opts); +avp(T, Data, 'SIP-Item-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SIP-Number-Auth-Items', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, + 'Secondary-Charging-Collection-Function-Name', Opts) -> + diameter_types:'DiameterURI'(T, Data, Opts); +avp(T, Data, 'Secondary-Event-Charging-Function-Name', + Opts) -> + diameter_types:'DiameterURI'(T, Data, Opts); +avp(T, Data, 'Server-Assignment-Type', _) -> + enumerated_avp(T, 'Server-Assignment-Type', Data); +avp(T, Data, 'Server-Name', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Session-Priority', _) -> + enumerated_avp(T, 'Session-Priority', Data); +avp(T, Data, 'Supported-Applications', Opts) -> + grouped_avp(T, 'Supported-Applications', Data, Opts); +avp(T, Data, 'Supported-Features', Opts) -> + grouped_avp(T, 'Supported-Features', Data, Opts); +avp(T, Data, 'To-SIP-Header', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'UAR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'User-Authorization-Type', _) -> + enumerated_avp(T, 'User-Authorization-Type', Data); +avp(T, Data, 'User-Data', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'User-Data-Already-Available', _) -> + enumerated_avp(T, 'User-Data-Already-Available', Data); +avp(T, Data, 'Visited-Network-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Wildcarded-Public-Identity', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'Civic-Location', Opts) -> + avp(T, + Data, + 'Civic-Location', + Opts, + diameter_etsi_es283_035); +avp(T, Data, 'Event-Type', Opts) -> + avp(T, + Data, + 'Event-Type', + Opts, + diameter_etsi_es283_035); +avp(T, Data, 'Geospatial-Location', Opts) -> + avp(T, + Data, + 'Geospatial-Location', + Opts, + diameter_etsi_es283_035); +avp(T, Data, 'Line-Identifier', Opts) -> + avp(T, + Data, + 'Line-Identifier', + Opts, + diameter_etsi_es283_035); +avp(T, Data, 'Location-Information', Opts) -> + grouped_avp(T, 'Location-Information', Data, Opts); +avp(T, Data, 'Policy-Control-Contact-Point', Opts) -> + avp(T, + Data, + 'Policy-Control-Contact-Point', + Opts, + diameter_etsi_es283_035); +avp(T, Data, 'Requested-Information', Opts) -> + avp(T, + Data, + 'Requested-Information', + Opts, + diameter_etsi_es283_035); +avp(T, Data, 'Terminal-Type', Opts) -> + avp(T, + Data, + 'Terminal-Type', + Opts, + diameter_etsi_es283_035); +avp(T, Data, 'ARAP-Challenge-Response', Opts) -> + avp(T, + Data, + 'ARAP-Challenge-Response', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Features', Opts) -> + avp(T, + Data, + 'ARAP-Features', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Password', Opts) -> + avp(T, + Data, + 'ARAP-Password', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Security', Opts) -> + avp(T, + Data, + 'ARAP-Security', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Security-Data', Opts) -> + avp(T, + Data, + 'ARAP-Security-Data', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Zone-Access', Opts) -> + avp(T, + Data, + 'ARAP-Zone-Access', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Auth-Method', Opts) -> + avp(T, + Data, + 'Accounting-Auth-Method', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Input-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Octets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Input-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Packets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Output-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Octets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Output-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Packets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Authentic', Opts) -> + avp(T, + Data, + 'Acct-Authentic', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Delay-Time', Opts) -> + avp(T, + Data, + 'Acct-Delay-Time', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Link-Count', Opts) -> + avp(T, + Data, + 'Acct-Link-Count', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Session-Time', Opts) -> + avp(T, + Data, + 'Acct-Session-Time', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Tunnel-Connection', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Connection', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Tunnel-Packets-Lost', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Packets-Lost', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Algorithm', Opts) -> + avp(T, + Data, + 'CHAP-Algorithm', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Auth', Opts) -> + grouped_avp(T, 'CHAP-Auth', Data, Opts); +avp(T, Data, 'CHAP-Challenge', Opts) -> + avp(T, + Data, + 'CHAP-Challenge', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Ident', Opts) -> + avp(T, + Data, + 'CHAP-Ident', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Response', Opts) -> + avp(T, + Data, + 'CHAP-Response', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Callback-Id', Opts) -> + avp(T, + Data, + 'Callback-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Callback-Number', Opts) -> + avp(T, + Data, + 'Callback-Number', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Called-Station-Id', Opts) -> + avp(T, + Data, + 'Called-Station-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Calling-Station-Id', Opts) -> + avp(T, + Data, + 'Calling-Station-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Configuration-Token', Opts) -> + avp(T, + Data, + 'Configuration-Token', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Connect-Info', Opts) -> + avp(T, + Data, + 'Connect-Info', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Filter-Id', Opts) -> + avp(T, + Data, + 'Filter-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Link', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Link', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Network', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Network', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Zone', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Zone', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Compression', Opts) -> + avp(T, + Data, + 'Framed-Compression', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IP-Address', Opts) -> + avp(T, + Data, + 'Framed-IP-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IP-Netmask', Opts) -> + avp(T, + Data, + 'Framed-IP-Netmask', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPX-Network', Opts) -> + avp(T, + Data, + 'Framed-IPX-Network', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Pool', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Pool', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Prefix', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Prefix', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Route', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Route', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Interface-Id', Opts) -> + avp(T, + Data, + 'Framed-Interface-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-MTU', Opts) -> + avp(T, + Data, + 'Framed-MTU', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Pool', Opts) -> + avp(T, + Data, + 'Framed-Pool', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Protocol', Opts) -> + avp(T, + Data, + 'Framed-Protocol', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Route', Opts) -> + avp(T, + Data, + 'Framed-Route', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Routing', Opts) -> + avp(T, + Data, + 'Framed-Routing', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Idle-Timeout', Opts) -> + avp(T, + Data, + 'Idle-Timeout', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-IP-Host', Opts) -> + avp(T, + Data, + 'Login-IP-Host', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-IPv6-Host', Opts) -> + avp(T, + Data, + 'Login-IPv6-Host', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Group', Opts) -> + avp(T, + Data, + 'Login-LAT-Group', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Node', Opts) -> + avp(T, + Data, + 'Login-LAT-Node', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Port', Opts) -> + avp(T, + Data, + 'Login-LAT-Port', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Service', Opts) -> + avp(T, + Data, + 'Login-LAT-Service', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-Service', Opts) -> + avp(T, + Data, + 'Login-Service', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-TCP-Port', Opts) -> + avp(T, + Data, + 'Login-TCP-Port', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Filter-Rule', Opts) -> + avp(T, + Data, + 'NAS-Filter-Rule', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-IP-Address', Opts) -> + avp(T, + Data, + 'NAS-IP-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-IPv6-Address', Opts) -> + avp(T, + Data, + 'NAS-IPv6-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Identifier', Opts) -> + avp(T, + Data, + 'NAS-Identifier', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port', Opts) -> + avp(T, Data, 'NAS-Port', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port-Id', Opts) -> + avp(T, + Data, + 'NAS-Port-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port-Type', Opts) -> + avp(T, + Data, + 'NAS-Port-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Origin-AAA-Protocol', Opts) -> + avp(T, + Data, + 'Origin-AAA-Protocol', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Originating-Line-Info', Opts) -> + avp(T, + Data, + 'Originating-Line-Info', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Password-Retry', Opts) -> + avp(T, + Data, + 'Password-Retry', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Port-Limit', Opts) -> + avp(T, + Data, + 'Port-Limit', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Prompt', Opts) -> + avp(T, Data, 'Prompt', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'QoS-Filter-Rule', Opts) -> + avp(T, + Data, + 'QoS-Filter-Rule', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Reply-Message', Opts) -> + avp(T, + Data, + 'Reply-Message', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Service-Type', Opts) -> + avp(T, + Data, + 'Service-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'State', Opts) -> + avp(T, Data, 'State', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Assignment-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Assignment-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Client-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Auth-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Client-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Endpoint', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Medium-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Medium-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Password', Opts) -> + avp(T, + Data, + 'Tunnel-Password', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Preference', Opts) -> + avp(T, + Data, + 'Tunnel-Preference', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Private-Group-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Private-Group-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Server-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Auth-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Server-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Endpoint', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunneling', Opts) -> + grouped_avp(T, 'Tunneling', Data, Opts); +avp(T, Data, 'User-Password', Opts) -> + avp(T, + Data, + 'User-Password', + Opts, + diameter_rfc4005_nasreq); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Server-Assignment-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Server-Assignment-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Server-Assignment-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Server-Assignment-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Server-Assignment-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Server-Assignment-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Server-Assignment-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Server-Assignment-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Server-Assignment-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Server-Assignment-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Server-Assignment-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Server-Assignment-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Server-Assignment-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Server-Assignment-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Server-Assignment-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Server-Assignment-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Charging-Information', Opts) -> + empty_group('Charging-Information', Opts); +empty_value('Supported-Features', Opts) -> + empty_group('Supported-Features', Opts); +empty_value('Supported-Applications', Opts) -> + empty_group('Supported-Applications', Opts); +empty_value('SIP-Auth-Data-Item', Opts) -> + empty_group('SIP-Auth-Data-Item', Opts); +empty_value('Deregistration-Reason', Opts) -> + empty_group('Deregistration-Reason', Opts); +empty_value('SIP-Digest-Authenticate', Opts) -> + empty_group('SIP-Digest-Authenticate', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Location-Information', Opts) -> + empty_group('Location-Information', Opts); +empty_value('CHAP-Auth', Opts) -> + empty_group('CHAP-Auth', Opts); +empty_value('Tunneling', Opts) -> + empty_group('Tunneling', Opts); +empty_value('Server-Assignment-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Information', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('NAS-Port-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Prompt', _) -> <<0, 0, 0, 0>>; +empty_value('CHAP-Algorithm', _) -> <<0, 0, 0, 0>>; +empty_value('Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Routing', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Compression', _) -> <<0, 0, 0, 0>>; +empty_value('ARAP-Zone-Access', _) -> <<0, 0, 0, 0>>; +empty_value('Login-Service', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Medium-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Acct-Authentic', _) -> <<0, 0, 0, 0>>; +empty_value('Accounting-Auth-Method', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Call-ID-SIP-Header", 643, "OctetString", "V"}, + {"Charging-Information", 618, "Grouped", "MV"}, + {"Confidentiality-Key", 625, "OctetString", "MV"}, + {"Contact", 641, "OctetString", "V"}, + {"Deregistration-Reason", 615, "Grouped", "MV"}, + {"Digest-Algorithm", 111, "UTF8String", "M"}, + {"Digest-HA1", 121, "UTF8String", "M"}, + {"Digest-QoP", 110, "UTF8String", "M"}, + {"Digest-Realm", 104, "UTF8String", "M"}, + {"Feature-List", 630, "Unsigned32", "V"}, + {"Feature-List-ID", 629, "Unsigned32", "V"}, + {"From-SIP-Header", 644, "OctetString", "V"}, + {"Initial-CSeq-Sequence-Number", + 654, + "Unsigned32", + "V"}, + {"Integrity-Key", 626, "OctetString", "MV"}, + {"LIA-Flags", 653, "Unsigned32", "V"}, + {"Loose-Route-Indication", 638, "Enumerated", "V"}, + {"Mandatory-Capability", 604, "Unsigned32", "MV"}, + {"Multiple-Registration-Indication", + 648, + "Enumerated", + "V"}, + {"Optional-Capability", 605, "Unsigned32", "MV"}, + {"Originating-Request", 633, "Enumerated", "MV"}, + {"Path", 640, "OctetString", "V"}, + {"Primary-Charging-Collection-Function-Name", + 621, + "DiameterURI", + "MV"}, + {"Primary-Event-Charging-Function-Name", + 619, + "DiameterURI", + "MV"}, + {"Priviledged-Sender-Indication", + 652, + "Enumerated", + "V"}, + {"Public-Identity", 601, "UTF8String", "MV"}, + {"Reason-Code", 616, "Enumerated", "MV"}, + {"Reason-Info", 617, "UTF8String", "MV"}, + {"Record-Route", 646, "OctetString", "V"}, + {"SAR-Flags", 655, "Unsigned32", "V"}, + {"SIP-Auth-Data-Item", 612, "Grouped", "MV"}, + {"SIP-Authenticate", 609, "OctetString", "MV"}, + {"SIP-Authentication-Context", + 611, + "OctetString", + "MV"}, + {"SIP-Authentication-Scheme", 608, "UTF8String", "MV"}, + {"SIP-Authorization", 610, "OctetString", "MV"}, + {"SIP-Digest-Authenticate", 635, "Grouped", "V"}, + {"SIP-Item-Number", 613, "Unsigned32", "MV"}, + {"SIP-Number-Auth-Items", 607, "Unsigned32", "MV"}, + {"Secondary-Charging-Collection-Function-Name", + 622, + "DiameterURI", + "MV"}, + {"Secondary-Event-Charging-Function-Name", + 620, + "DiameterURI", + "MV"}, + {"Server-Assignment-Type", 614, "Enumerated", "MV"}, + {"Server-Name", 602, "UTF8String", "MV"}, + {"Session-Priority", 650, "Enumerated", "V"}, + {"Supported-Applications", 631, "Grouped", "V"}, + {"Supported-Features", 628, "Grouped", "V"}, + {"To-SIP-Header", 645, "OctetString", "V"}, + {"UAR-Flags", 637, "Unsigned32", "V"}, + {"User-Authorization-Type", 623, "Enumerated", "MV"}, + {"User-Data", 606, "OctetString", "MV"}, + {"User-Data-Already-Available", + 624, + "Enumerated", + "MV"}, + {"Visited-Network-Identifier", + 600, + "OctetString", + "MV"}, + {"Wildcarded-Public-Identity", + 634, + "UTF8String", + "V"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"Server-Assignment-Type", + [{"NO_ASSIGNMENT", 0}, + {"REGISTRATION", 1}, + {"RE_REGISTRATION", 2}, + {"UNREGISTERED_USER", 3}, + {"TIMEOUT_DEREGISTRATION", 4}, + {"USER_DEREGISTRATION", 5}, + {"TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 6}, + {"USER_DEREGISTRATION_STORE_SERVER_NAME", 7}, + {"ADMINISTRATIVE_DEREGISTRATION", 8}, + {"AUTHENTICATION_FAILURE", 9}, + {"AUTHENTICATION_TIMEOUT", 10}, + {"DEREGISTRATION_TOO_MUCH_DATA", 11}, + {"AAA_USER_DATA_REQUEST", 12}, + {"PGW_UPDATE", 13}, + {"RESTORATION", 14}]}]}, + {grouped, + [{"Charging-Information", + 618, + [], + [["Primary-Event-Charging-Function-Name"], + ["Secondary-Event-Charging-Function-Name"], + ["Primary-Charging-Collection-Function-Name"], + ["Secondary-Charging-Collection-Function-Name"], + {'*', ["AVP"]}]}, + {"Supported-Features", + 628, + [], + [{"Vendor-Id"}, + {"Feature-List-ID"}, + {"Feature-List"}, + {'*', ["AVP"]}]}, + {"Supported-Applications", + 631, + [10415], + [{'*', ["Auth-Application-Id"]}, + {'*', ["Acct-Application-Id"]}, + {'*', ["Vendor-Specific-Application-Id"]}, + {'*', ["AVP"]}]}, + {"SIP-Auth-Data-Item", + 612, + [10415], + [["SIP-Item-Number"], + ["SIP-Authentication-Scheme"], + ["SIP-Authenticate"], + ["SIP-Authorization"], + ["SIP-Authentication-Context"], + ["Confidentiality-Key"], + ["Integrity-Key"], + ["SIP-Digest-Authenticate"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + {'*', ["Line-Identifier"]}, + {'*', ["AVP"]}]}, + {"Deregistration-Reason", + 615, + [10415], + [{"Reason-Code"}, ["Reason-Info"], {'*', ["AVP"]}]}, + {"SIP-Digest-Authenticate", + 635, + [10415], + [{"Digest-Realm"}, + {"Digest-QoP"}, + {"Digest-HA1"}, + ["Digest-Algorithm"], + {'*', ["AVP"]}]}]}, + {id, 16777236}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_etsi_es283_035, + [{"Civic-Location", 355, "OctetString", "V"}, + {"Event-Type", 354, "Enumerated", "V"}, + {"Geospatial-Location", 356, "OctetString", "V"}, + {"Line-Identifier", 500, "OctetString", "V"}, + {"Location-Information", 350, "Grouped", "V"}, + {"Policy-Control-Contact-Point", + 351, + "DiameterIdentity", + "V"}, + {"Requested-Information", 353, "Enumerated", "V"}, + {"Terminal-Type", 352, "OctetString", "V"}]}, + {diameter_rfc4005_nasreq, + [{"ARAP-Challenge-Response", 84, "OctetString", "M"}, + {"ARAP-Features", 71, "OctetString", "M"}, + {"ARAP-Password", 70, "OctetString", "M"}, + {"ARAP-Security", 73, "Unsigned32", "M"}, + {"ARAP-Security-Data", 74, "OctetString", "M"}, + {"ARAP-Zone-Access", 72, "Enumerated", "M"}, + {"Accounting-Auth-Method", 406, "Enumerated", "M"}, + {"Accounting-Input-Octets", 363, "Unsigned64", "M"}, + {"Accounting-Input-Packets", 365, "Unsigned64", "M"}, + {"Accounting-Output-Octets", 364, "Unsigned64", "M"}, + {"Accounting-Output-Packets", 366, "Unsigned64", "M"}, + {"Acct-Authentic", 45, "Enumerated", "M"}, + {"Acct-Delay-Time", 41, "Unsigned32", "M"}, + {"Acct-Link-Count", 51, "Unsigned32", "M"}, + {"Acct-Session-Time", 46, "Unsigned32", "M"}, + {"Acct-Tunnel-Connection", 68, "OctetString", "M"}, + {"Acct-Tunnel-Packets-Lost", 86, "Unsigned32", "M"}, + {"CHAP-Algorithm", 403, "Enumerated", "M"}, + {"CHAP-Auth", 402, "Grouped", "M"}, + {"CHAP-Challenge", 60, "OctetString", "M"}, + {"CHAP-Ident", 404, "OctetString", "M"}, + {"CHAP-Response", 405, "OctetString", "M"}, + {"Callback-Id", 20, "UTF8String", "M"}, + {"Callback-Number", 19, "UTF8String", "M"}, + {"Called-Station-Id", 30, "UTF8String", "M"}, + {"Calling-Station-Id", 31, "UTF8String", "M"}, + {"Configuration-Token", 78, "OctetString", "M"}, + {"Connect-Info", 77, "UTF8String", "M"}, + {"Filter-Id", 11, "UTF8String", "M"}, + {"Framed-AppleTalk-Link", 37, "Unsigned32", "M"}, + {"Framed-AppleTalk-Network", 38, "Unsigned32", "M"}, + {"Framed-AppleTalk-Zone", 39, "OctetString", "M"}, + {"Framed-Compression", 13, "Enumerated", "M"}, + {"Framed-IP-Address", 8, "OctetString", "M"}, + {"Framed-IP-Netmask", 9, "OctetString", "M"}, + {"Framed-IPX-Network", 23, "UTF8String", "M"}, + {"Framed-IPv6-Pool", 100, "OctetString", "M"}, + {"Framed-IPv6-Prefix", 97, "OctetString", "M"}, + {"Framed-IPv6-Route", 99, "UTF8String", "M"}, + {"Framed-Interface-Id", 96, "Unsigned64", "M"}, + {"Framed-MTU", 12, "Unsigned32", "M"}, + {"Framed-Pool", 88, "OctetString", "M"}, + {"Framed-Protocol", 7, "Enumerated", "M"}, + {"Framed-Route", 22, "UTF8String", "M"}, + {"Framed-Routing", 10, "Enumerated", "M"}, + {"Idle-Timeout", 28, "Unsigned32", "M"}, + {"Login-IP-Host", 14, "OctetString", "M"}, + {"Login-IPv6-Host", 98, "OctetString", "M"}, + {"Login-LAT-Group", 36, "OctetString", "M"}, + {"Login-LAT-Node", 35, "OctetString", "M"}, + {"Login-LAT-Port", 63, "OctetString", "M"}, + {"Login-LAT-Service", 34, "OctetString", "M"}, + {"Login-Service", 15, "Enumerated", "M"}, + {"Login-TCP-Port", 16, "Unsigned32", "M"}, + {"NAS-Filter-Rule", 400, "IPFilterRule", "M"}, + {"NAS-IP-Address", 4, "OctetString", "M"}, + {"NAS-IPv6-Address", 95, "OctetString", "M"}, + {"NAS-Identifier", 32, "UTF8String", "M"}, + {"NAS-Port", 5, "Unsigned32", "M"}, + {"NAS-Port-Id", 87, "UTF8String", "M"}, + {"NAS-Port-Type", 61, "Enumerated", "M"}, + {"Origin-AAA-Protocol", 408, "Enumerated", "M"}, + {"Originating-Line-Info", 94, "OctetString", []}, + {"Password-Retry", 75, "Unsigned32", "M"}, + {"Port-Limit", 62, "Unsigned32", "M"}, + {"Prompt", 76, "Enumerated", "M"}, + {"QoS-Filter-Rule", 407, "QoSFilterRule", []}, + {"Reply-Message", 18, "UTF8String", "M"}, + {"Service-Type", 6, "Enumerated", "M"}, + {"State", 24, "OctetString", "M"}, + {"Tunnel-Assignment-Id", 82, "OctetString", "M"}, + {"Tunnel-Client-Auth-Id", 90, "UTF8String", "M"}, + {"Tunnel-Client-Endpoint", 66, "UTF8String", "M"}, + {"Tunnel-Medium-Type", 65, "Enumerated", "M"}, + {"Tunnel-Password", 69, "OctetString", "M"}, + {"Tunnel-Preference", 83, "Unsigned32", "M"}, + {"Tunnel-Private-Group-Id", 81, "OctetString", "M"}, + {"Tunnel-Server-Auth-Id", 91, "UTF8String", "M"}, + {"Tunnel-Server-Endpoint", 67, "UTF8String", "M"}, + {"Tunnel-Type", 64, "Enumerated", "M"}, + {"Tunneling", 401, "Grouped", "M"}, + {"User-Password", 2, "OctetString", "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_etsi_es283_035, + [{"Requested-Information", + [{"IP-CONNECTIVITY-USER-ID", 0}, + {"LOCATION-INFORMATION", 1}, + {"POLICY-CONTROL-CONTACT-POINT", 2}, + {"ACCESS-NETWORK-TYPE", 3}, + {"TERMINAL-TYPE", 4}, + {"LOGICAL-ACCESS-ID", 5}, + {"PHYSICAL-ACCESS-ID", 6}]}, + {"Event-Type", + [{"USER-LOGON", 0}, + {"LOCATION-INFORMATION-CHANGED", 1}, + {"POLICY-CONTROL-CONTACT-POINT-CHANGED", 2}, + {"ACCESS-NETWORK-TYPE-CHANGED", 3}, + {"TERMINAL-TYPE-CHANGED", 4}, + {"LOGICAL-ACCESS-ID-CHANGED", 5}, + {"PHYSICAL-ACCESS-ID-CHANGED", 6}, + {"IP-ADDRESS-CHANGED", 7}, + {"INITIAL-GATE-SETTING-CHANGED", 8}, + {"QOS-PROFILE-CHANGED", 9}, + {"USER-LOGOFF", 10}]}]}, + {diameter_rfc4005_nasreq, + [{"NAS-Port-Type", + [{"ASYNC", 0}, + {"SYNC", 1}, + {"ISDN_SYNC", 2}, + {"ISDN_ASYNC_V120", 3}, + {"ISDN_ASYNC_V110", 4}, + {"VIRTUAL", 5}, + {"PIAFS", 6}, + {"HDLC_CLEAR_CHANNEL", 7}, + {"X25", 8}, + {"X75", 9}, + {"G3FAX", 10}, + {"SDSL", 11}, + {"ADSL-CAP", 12}, + {"ADSL-DMT", 13}, + {"IDSL", 14}, + {"ETHERNET", 15}, + {"XDSL", 16}, + {"CABLE", 17}, + {"WIRELESS_OTHER", 18}, + {"WIRELESS_802.11", 19}, + {"TOKEN-RING", 20}, + {"FDDI", 21}, + {"WIRELESS_CDMA2000", 22}, + {"WIRELESS_UMTS", 23}, + {"WIRELESS_1X-EV", 24}, + {"IAPP", 25}]}, + {"Prompt", [{"NO_ECHO", 0}, {"ECHO", 1}]}, + {"CHAP-Algorithm", [{"WITH_MD5", 5}]}, + {"Service-Type", + [{"LOGIN", 1}, + {"FRAMED", 2}, + {"CALLBACK_LOGIN", 3}, + {"CALLBACK_FRAMED", 4}, + {"OUTBOUND", 5}, + {"ADMINISTRATIVE", 6}, + {"NAS_PROMPT", 7}, + {"AUTHENTICATE_ONLY", 8}, + {"CALLBACK_NAS_PROMPT", 9}, + {"CALL_CHECK", 10}, + {"CALLBACK_ADMINISTRATIVE", 11}, + {"VOICE", 12}, + {"FAX", 13}, + {"MODEM_RELAY", 14}, + {"IAPP-REGISTER", 15}, + {"IAPP-AP-CHECK", 16}, + {"AUTHORIZE_ONLY", 17}]}, + {"Framed-Protocol", + [{"PPP", 1}, + {"SLIP", 2}, + {"ARAP", 3}, + {"GANDALF", 4}, + {"XYLOGICS", 5}, + {"X75", 6}]}, + {"Framed-Routing", + [{"NONE", 0}, + {"SEND", 1}, + {"LISTEN", 2}, + {"SEND_AND_LISTEN", 3}]}, + {"Framed-Compression", + [{"NONE", 0}, {"VJ", 1}, {"IPX", 2}, {"STAC-LZS", 3}]}, + {"ARAP-Zone-Access", + [{"DEFAULT", 1}, + {"FILTER_INCLUSIVELY", 2}, + {"FILTER_EXCLUSIVELY", 4}]}, + {"Login-Service", + [{"TELNET", 0}, + {"RLOGIN", 1}, + {"TCP_CLEAR", 2}, + {"PORTMASTER", 3}, + {"LAT", 4}, + {"X25-PAD", 5}, + {"X25-T3POS", 6}, + {"TCP_CLEAR_QUIET", 8}]}, + {"Tunnel-Type", + [{"PPTP", 1}, + {"L2F", 2}, + {"L2TP", 3}, + {"ATMP", 4}, + {"VTP", 5}, + {"AH", 6}, + {"IP-IP", 7}, + {"MIN-IP-IP", 8}, + {"ESP", 9}, + {"GRE", 10}, + {"DVS", 11}, + {"IP-IN-IP", 12}, + {"VLAN", 13}]}, + {"Tunnel-Medium-Type", + [{"IPV4", 1}, + {"IPV6", 2}, + {"NSAP", 3}, + {"HDLC", 4}, + {"BBN_1822", 5}, + {"802", 6}, + {"E163", 7}, + {"E164", 8}, + {"F69", 9}, + {"X121", 10}, + {"IPX", 11}, + {"APPLETALK", 12}, + {"DECNET_IV", 13}, + {"BANYAN_VINES", 14}, + {"E164_NSAP", 15}]}, + {"Acct-Authentic", + [{"RADIUS", 1}, + {"LOCAL", 2}, + {"REMOTE", 3}, + {"DIAMETER", 4}]}, + {"Accounting-Auth-Method", + [{"PAP", 1}, + {"CHAP", 2}, + {"MS-CHAP-1", 3}, + {"MS-CHAP-2", 4}, + {"EAP", 5}, + {"NONE", 7}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_etsi_es283_035, + [{"Location-Information", + 350, + [13019], + [["Line-Identifier"], + ["Civic-Location"], + ["Geospatial-Location"], + {'*', ["AVP"]}]}]}, + {diameter_rfc4005_nasreq, + [{"CHAP-Auth", + 402, + [], + [{"CHAP-Algorithm"}, + {"CHAP-Ident"}, + ["CHAP-Response"], + {'*', ["AVP"]}]}, + {"Tunneling", + 401, + [], + [{"Tunnel-Type"}, + {"Tunnel-Medium-Type"}, + {"Tunnel-Client-Endpoint"}, + {"Tunnel-Server-Endpoint"}, + ["Tunnel-Preference"], + ["Tunnel-Client-Auth-Id"], + ["Tunnel-Server-Auth-Id"], + ["Tunnel-Assignment-Id"], + ["Tunnel-Password"], + ["Tunnel-Private-Group-Id"]]}]}]}, + {inherits, + [{"diameter_rfc4005_nasreq", []}, + {"diameter_etsi_es283_035", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_3gpp_ts29_229"}, + {prefix, "diameter_cx"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_272.erl b/src/diameter_3gpp_ts29_272.erl new file mode 100644 index 0000000..696f77d --- /dev/null +++ b/src/diameter_3gpp_ts29_272.erl @@ -0,0 +1,18002 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_272). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['ULR', + 'ULA', + 'AIR', + 'AIA', + 'CLR', + 'CLA', + 'IDR', + 'IDA', + 'DSR', + 'DSA', + 'PUR', + 'PUA', + 'RSR', + 'RSA', + 'NOR', + 'NOA', + 'ECR', + 'ECA', + 'Subscription-Data', + 'Terminal-Information', + 'Requested-EUTRAN-Authentication-Info', + 'Requested-UTRAN-GERAN-Authentication-Info', + 'Authentication-Info', + 'E-UTRAN-Vector', + 'UTRAN-Vector', + 'GERAN-Vector', + 'APN-Configuration-Profile', + 'APN-Configuration', + 'EPS-Subscribed-QoS-Profile', + 'AMBR', + 'Trace-Data', + 'GPRS-Subscription-Data', + 'PDP-Context', + 'CSG-Subscription-Data', + 'Specific-APN-Info', + 'LCS-Info', + 'LCS-PrivacyException', + 'External-Client', + 'Service-Type', + 'MO-LR', + 'Teleservice-List', + 'Call-Barring-Info', + 'EPS-User-State', + 'EPS-Location-Information', + 'MME-User-State', + 'SGSN-User-State', + 'MME-Location-Information', + 'SGSN-Location-Information', + 'Active-APN', + 'MDT-Configuration', + 'Area-Scope', + 'Equivalent-PLMN-List', + 'VPLMN-CSG-Subscription-Data', + 'Local-Time-Zone', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id', + 'Flows', + 'Charging-Information', + 'Supported-Features', + 'Supported-Applications', + 'SIP-Auth-Data-Item', + 'Deregistration-Reason', + 'SIP-Digest-Authenticate', + 'Serving-Node', + 'Additional-Serving-Node', + 'Access-Network-Info-Change', + 'Access-Transfer-Information', + 'Accumulated-Cost', + 'Additional-Content-Information', + 'Address-Domain', + 'AF-Correlation-Information', + 'Announcement-Information', + 'AoC-Cost-Information', + 'AoC-Information', + 'AoC-Service', + 'AoC-Subscription-Information', + 'APN-Rate-Control', + 'APN-Rate-Control-Downlink', + 'APN-Rate-Control-Uplink', + 'Application-Server-Information', + 'Basic-Service-Code', + 'Called-Identity-Change', + 'Coverage-Info', + 'CPDT-Information', + 'Current-Tariff', + 'Destination-Interface', + 'Early-Media-Description', + 'Enhanced-Diagnostics', + 'Envelope', + 'Event-Type', + 'Incremental-Cost', + 'IMS-Information', + 'Inter-Operator-Identifier', + 'ISUP-Cause', + 'LCS-Client-ID', + 'LCS-Client-Name', + 'LCS-Information', + 'LCS-Requestor-ID', + 'Location-Info', + 'Location-Type', + 'MBMS-Information', + 'Message-Body', + 'Message-Class', + 'MM-Content-Type', + 'MMS-Information', + 'MMTel-Information', + 'Monitoring-Event-Information', + 'Monitoring-Event-Report-Data', + 'Next-Tariff', + 'NIDD-Submission', + 'NNI-Information', + 'Offline-Charging', + 'Originator-Address', + 'Originator-Interface', + 'Originator-Received-Address', + 'Participant-Group', + 'PoC-Information', + 'PoC-User-Role', + 'ProSe-Direct-Communication-Reception-Data-Container', + 'ProSe-Direct-Communication-Transmission-Data-Container', + 'ProSe-Information', + 'PS-Furnish-Charging-Information', + 'PS-Information', + 'Radio-Parameter-Set-Info', + 'RAN-Secondary-RAT-Usage-Report', + 'Rate-Element', + 'Real-Time-Tariff-Information', + 'Recipient-Address', + 'Recipient-Info', + 'Recipient-Received-Address', + 'Related-Change-Condition-Information', + 'Related-Trigger', + 'Remaining-Balance', + 'Scale-Factor', + 'SCS-AS-Address', + 'SDP-Media-Component', + 'SDP-TimeStamps', + 'Service-Data-Container', + 'Service-Information', + 'Service-Specific-Info', + 'SM-Device-Trigger-Information', + 'SMS-Information', + 'Supplementary-Service', + 'Talk-Burst-Exchange', + 'Tariff-Information', + 'Time-Quota-Mechanism', + 'Time-Stamps', + 'Traffic-Data-Volumes', + 'Transmitter-Info', + 'Trigger', + 'Trunk-Group-Id', + 'TWAN-User-Location-Info', + 'Unit-Cost', + 'User-CSG-Information', + 'UWAN-User-Location-Info', + 'Variable-Part', + 'VCS-Information', + 'Emergency-Info', + 'MIP6-Agent-Info', + 'Access-Network-Charging-Identifier-Gx', + 'Allocation-Retention-Priority', + 'Application-Detection-Information', + 'Charging-Rule-Definition', + 'Charging-Rule-Install', + 'Charging-Rule-Remove', + 'Charging-Rule-Report', + 'CoA-Information', + 'Conditional-APN-Aggregate-Max-Bitrate', + 'Default-EPS-Bearer-QoS', + 'Default-QoS-Information', + 'Event-Report-Indication', + 'Fixed-User-Location-Info', + 'Flow-Information', + 'Packet-Filter-Information', + 'Presence-Reporting-Area-Information', + 'QoS-Information', + 'Redirect-Information', + 'Routing-Filter', + 'Routing-Rule-Definition', + 'Routing-Rule-Install', + 'Routing-Rule-Remove', + 'TDF-Information', + 'Tunnel-Information', + 'TFT-Packet-Filter-Information', + 'Usage-Monitoring-Information']). + +-record('ULR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'RAT-Type', + 'ULR-Flags', + 'Visited-PLMN-Id', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'Terminal-Information' = [], + 'UE-SRVCC-Capability' = [], + 'SGSN-Number' = [], + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions' = + [], + 'GMLC-Address' = [], + 'Equivalent-PLMN-List' = [], + 'MME-Number-for-MT-SMS' = [], + 'SMS-Register-Request' = [], + 'Supported-Features' = [], + 'Active-APN' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('ULA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Error-Diagnostic' = [], + 'ULA-Flags' = [], + 'Subscription-Data' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('AIR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Visited-PLMN-Id', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'Requested-EUTRAN-Authentication-Info' = [], + 'Requested-UTRAN-GERAN-Authentication-Info' = [], + 'Supported-Features' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('AIA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Error-Diagnostic' = [], + 'Authentication-Info' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('CLR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'Cancellation-Type', + 'Supported-Features' = [], + 'Vendor-Specific-Application-Id' = [], + 'CLR-Flags' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('CLA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('IDR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'Subscription-Data', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'IDR-Flags' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('IDA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'IMS-Voice-Over-PS-Sessions-Supported' = [], + 'Last-UE-Activity-Time' = [], + 'RAT-Type' = [], + 'IDA-Flags' = [], + 'EPS-User-State' = [], + 'EPS-Location-Information' = [], + 'Local-Time-Zone' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('DSR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'DSR-Flags', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Context-Identifier' = [], + 'Trace-Reference' = [], + 'TS-Code' = [], + 'SS-Code' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('DSA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'DSA-Flags' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('PUR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'PUR-Flags' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('PUA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'PUA-Flags' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('RSR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'User-Id' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('RSA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Supported-Features' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('NOR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'Supported-Features' = [], + 'Terminal-Information' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Context-Identifier' = [], + 'Service-Selection' = [], + 'Alert-Reason' = [], + 'UE-SRVCC-Capability' = [], + 'NOR-Flags' = [], + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions' = + [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('NOA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('ECR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Terminal-Information', + 'Vendor-Specific-Application-Id' = [], + 'Destination-Host' = [], + 'User-Name' = [], + 'AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('ECA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Equipment-Status' = [], + 'AVP' = [], + 'Failed-AVP' = [], + 'Proxy-Info' = [], + 'Route-Record' = []}). + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('Flows', + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + +-record('Serving-Node', + {'SGSN-Number' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Name' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + +-record('Additional-Serving-Node', + {'SGSN-Number' = [], + 'MME-Name' = [], + 'SGSN-Name' = [], + 'SGSN-Realm' = [], + 'MME-Realm' = [], + 'MSC-Number' = [], + '3GPP-AAA-Server-Name' = [], + 'LCS-Capabilities-Sets' = [], + 'GMLC-Address' = [], + 'AVP' = []}). + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_272. + +id() -> 16777251. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(320, true) -> 'DSR'; +msg_name(320, false) -> 'DSA'; +msg_name(321, true) -> 'PUR'; +msg_name(321, false) -> 'PUA'; +msg_name(322, true) -> 'RSR'; +msg_name(322, false) -> 'RSA'; +msg_name(323, true) -> 'NOR'; +msg_name(323, false) -> 'NOA'; +msg_name(324, true) -> 'ECR'; +msg_name(324, false) -> 'ECA'; +msg_name(316, true) -> 'ULR'; +msg_name(316, false) -> 'ULA'; +msg_name(317, true) -> 'CLR'; +msg_name(317, false) -> 'CLA'; +msg_name(318, true) -> 'AIR'; +msg_name(318, false) -> 'AIA'; +msg_name(319, true) -> 'IDR'; +msg_name(319, false) -> 'IDA'; +msg_name(_, _) -> ''. + +msg_header('ULR') -> {316, 192, 16777251}; +msg_header('ULA') -> {316, 64, 16777251}; +msg_header('AIR') -> {318, 192, 16777251}; +msg_header('AIA') -> {318, 64, 16777251}; +msg_header('CLR') -> {317, 192, 16777251}; +msg_header('CLA') -> {317, 64, 16777251}; +msg_header('IDR') -> {319, 192, 16777251}; +msg_header('IDA') -> {319, 64, 16777251}; +msg_header('DSR') -> {320, 192, 16777251}; +msg_header('DSA') -> {320, 64, 16777251}; +msg_header('PUR') -> {321, 192, 16777251}; +msg_header('PUA') -> {321, 64, 16777251}; +msg_header('RSR') -> {322, 192, 16777251}; +msg_header('RSA') -> {322, 64, 16777251}; +msg_header('NOR') -> {323, 192, 16777251}; +msg_header('NOA') -> {323, 64, 16777251}; +msg_header('ECR') -> {324, 192, 16777251}; +msg_header('ECA') -> {324, 64, 16777251}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('ULR') -> 'ULR'; +rec2msg('ULA') -> 'ULA'; +rec2msg('AIR') -> 'AIR'; +rec2msg('AIA') -> 'AIA'; +rec2msg('CLR') -> 'CLR'; +rec2msg('CLA') -> 'CLA'; +rec2msg('IDR') -> 'IDR'; +rec2msg('IDA') -> 'IDA'; +rec2msg('DSR') -> 'DSR'; +rec2msg('DSA') -> 'DSA'; +rec2msg('PUR') -> 'PUR'; +rec2msg('PUA') -> 'PUA'; +rec2msg('RSR') -> 'RSR'; +rec2msg('RSA') -> 'RSA'; +rec2msg('NOR') -> 'NOR'; +rec2msg('NOA') -> 'NOA'; +rec2msg('ECR') -> 'ECR'; +rec2msg('ECA') -> 'ECA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('ULR') -> 'ULR'; +msg2rec('ULA') -> 'ULA'; +msg2rec('AIR') -> 'AIR'; +msg2rec('AIA') -> 'AIA'; +msg2rec('CLR') -> 'CLR'; +msg2rec('CLA') -> 'CLA'; +msg2rec('IDR') -> 'IDR'; +msg2rec('IDA') -> 'IDA'; +msg2rec('DSR') -> 'DSR'; +msg2rec('DSA') -> 'DSA'; +msg2rec('PUR') -> 'PUR'; +msg2rec('PUA') -> 'PUA'; +msg2rec('RSR') -> 'RSR'; +msg2rec('RSA') -> 'RSA'; +msg2rec('NOR') -> 'NOR'; +msg2rec('NOA') -> 'NOA'; +msg2rec('ECR') -> 'ECR'; +msg2rec('ECA') -> 'ECA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Subscription-Data') -> 'Subscription-Data'; +name2rec('Terminal-Information') -> + 'Terminal-Information'; +name2rec('Requested-EUTRAN-Authentication-Info') -> + 'Requested-EUTRAN-Authentication-Info'; +name2rec('Requested-UTRAN-GERAN-Authentication-Info') -> + 'Requested-UTRAN-GERAN-Authentication-Info'; +name2rec('Authentication-Info') -> + 'Authentication-Info'; +name2rec('E-UTRAN-Vector') -> 'E-UTRAN-Vector'; +name2rec('UTRAN-Vector') -> 'UTRAN-Vector'; +name2rec('GERAN-Vector') -> 'GERAN-Vector'; +name2rec('APN-Configuration-Profile') -> + 'APN-Configuration-Profile'; +name2rec('APN-Configuration') -> 'APN-Configuration'; +name2rec('EPS-Subscribed-QoS-Profile') -> + 'EPS-Subscribed-QoS-Profile'; +name2rec('AMBR') -> 'AMBR'; +name2rec('Trace-Data') -> 'Trace-Data'; +name2rec('GPRS-Subscription-Data') -> + 'GPRS-Subscription-Data'; +name2rec('PDP-Context') -> 'PDP-Context'; +name2rec('CSG-Subscription-Data') -> + 'CSG-Subscription-Data'; +name2rec('Specific-APN-Info') -> 'Specific-APN-Info'; +name2rec('LCS-Info') -> 'LCS-Info'; +name2rec('LCS-PrivacyException') -> + 'LCS-PrivacyException'; +name2rec('External-Client') -> 'External-Client'; +name2rec('Service-Type') -> 'Service-Type'; +name2rec('MO-LR') -> 'MO-LR'; +name2rec('Teleservice-List') -> 'Teleservice-List'; +name2rec('Call-Barring-Info') -> 'Call-Barring-Info'; +name2rec('EPS-User-State') -> 'EPS-User-State'; +name2rec('EPS-Location-Information') -> + 'EPS-Location-Information'; +name2rec('MME-User-State') -> 'MME-User-State'; +name2rec('SGSN-User-State') -> 'SGSN-User-State'; +name2rec('MME-Location-Information') -> + 'MME-Location-Information'; +name2rec('SGSN-Location-Information') -> + 'SGSN-Location-Information'; +name2rec('Active-APN') -> 'Active-APN'; +name2rec('MDT-Configuration') -> 'MDT-Configuration'; +name2rec('Area-Scope') -> 'Area-Scope'; +name2rec('Equivalent-PLMN-List') -> + 'Equivalent-PLMN-List'; +name2rec('VPLMN-CSG-Subscription-Data') -> + 'VPLMN-CSG-Subscription-Data'; +name2rec('Local-Time-Zone') -> 'Local-Time-Zone'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec('Flows') -> 'Flows'; +name2rec('Charging-Information') -> + 'Charging-Information'; +name2rec('Supported-Features') -> 'Supported-Features'; +name2rec('Supported-Applications') -> + 'Supported-Applications'; +name2rec('SIP-Auth-Data-Item') -> 'SIP-Auth-Data-Item'; +name2rec('Deregistration-Reason') -> + 'Deregistration-Reason'; +name2rec('SIP-Digest-Authenticate') -> + 'SIP-Digest-Authenticate'; +name2rec('Serving-Node') -> 'Serving-Node'; +name2rec('Additional-Serving-Node') -> + 'Additional-Serving-Node'; +name2rec('Access-Network-Info-Change') -> + 'Access-Network-Info-Change'; +name2rec('Access-Transfer-Information') -> + 'Access-Transfer-Information'; +name2rec('Accumulated-Cost') -> 'Accumulated-Cost'; +name2rec('Additional-Content-Information') -> + 'Additional-Content-Information'; +name2rec('Address-Domain') -> 'Address-Domain'; +name2rec('AF-Correlation-Information') -> + 'AF-Correlation-Information'; +name2rec('Announcement-Information') -> + 'Announcement-Information'; +name2rec('AoC-Cost-Information') -> + 'AoC-Cost-Information'; +name2rec('AoC-Information') -> 'AoC-Information'; +name2rec('AoC-Service') -> 'AoC-Service'; +name2rec('AoC-Subscription-Information') -> + 'AoC-Subscription-Information'; +name2rec('APN-Rate-Control') -> 'APN-Rate-Control'; +name2rec('APN-Rate-Control-Downlink') -> + 'APN-Rate-Control-Downlink'; +name2rec('APN-Rate-Control-Uplink') -> + 'APN-Rate-Control-Uplink'; +name2rec('Application-Server-Information') -> + 'Application-Server-Information'; +name2rec('Basic-Service-Code') -> 'Basic-Service-Code'; +name2rec('Called-Identity-Change') -> + 'Called-Identity-Change'; +name2rec('Coverage-Info') -> 'Coverage-Info'; +name2rec('CPDT-Information') -> 'CPDT-Information'; +name2rec('Current-Tariff') -> 'Current-Tariff'; +name2rec('Destination-Interface') -> + 'Destination-Interface'; +name2rec('Early-Media-Description') -> + 'Early-Media-Description'; +name2rec('Enhanced-Diagnostics') -> + 'Enhanced-Diagnostics'; +name2rec('Envelope') -> 'Envelope'; +name2rec('Event-Type') -> 'Event-Type'; +name2rec('Incremental-Cost') -> 'Incremental-Cost'; +name2rec('IMS-Information') -> 'IMS-Information'; +name2rec('Inter-Operator-Identifier') -> + 'Inter-Operator-Identifier'; +name2rec('ISUP-Cause') -> 'ISUP-Cause'; +name2rec('LCS-Client-ID') -> 'LCS-Client-ID'; +name2rec('LCS-Client-Name') -> 'LCS-Client-Name'; +name2rec('LCS-Information') -> 'LCS-Information'; +name2rec('LCS-Requestor-ID') -> 'LCS-Requestor-ID'; +name2rec('Location-Info') -> 'Location-Info'; +name2rec('Location-Type') -> 'Location-Type'; +name2rec('MBMS-Information') -> 'MBMS-Information'; +name2rec('Message-Body') -> 'Message-Body'; +name2rec('Message-Class') -> 'Message-Class'; +name2rec('MM-Content-Type') -> 'MM-Content-Type'; +name2rec('MMS-Information') -> 'MMS-Information'; +name2rec('MMTel-Information') -> 'MMTel-Information'; +name2rec('Monitoring-Event-Information') -> + 'Monitoring-Event-Information'; +name2rec('Monitoring-Event-Report-Data') -> + 'Monitoring-Event-Report-Data'; +name2rec('Next-Tariff') -> 'Next-Tariff'; +name2rec('NIDD-Submission') -> 'NIDD-Submission'; +name2rec('NNI-Information') -> 'NNI-Information'; +name2rec('Offline-Charging') -> 'Offline-Charging'; +name2rec('Originator-Address') -> 'Originator-Address'; +name2rec('Originator-Interface') -> + 'Originator-Interface'; +name2rec('Originator-Received-Address') -> + 'Originator-Received-Address'; +name2rec('Participant-Group') -> 'Participant-Group'; +name2rec('PoC-Information') -> 'PoC-Information'; +name2rec('PoC-User-Role') -> 'PoC-User-Role'; +name2rec('ProSe-Direct-Communication-Reception-Data-Container') -> + 'ProSe-Direct-Communication-Reception-Data-Container'; +name2rec('ProSe-Direct-Communication-Transmission-Data-Container') -> + 'ProSe-Direct-Communication-Transmission-Data-Container'; +name2rec('ProSe-Information') -> 'ProSe-Information'; +name2rec('PS-Furnish-Charging-Information') -> + 'PS-Furnish-Charging-Information'; +name2rec('PS-Information') -> 'PS-Information'; +name2rec('Radio-Parameter-Set-Info') -> + 'Radio-Parameter-Set-Info'; +name2rec('RAN-Secondary-RAT-Usage-Report') -> + 'RAN-Secondary-RAT-Usage-Report'; +name2rec('Rate-Element') -> 'Rate-Element'; +name2rec('Real-Time-Tariff-Information') -> + 'Real-Time-Tariff-Information'; +name2rec('Recipient-Address') -> 'Recipient-Address'; +name2rec('Recipient-Info') -> 'Recipient-Info'; +name2rec('Recipient-Received-Address') -> + 'Recipient-Received-Address'; +name2rec('Related-Change-Condition-Information') -> + 'Related-Change-Condition-Information'; +name2rec('Related-Trigger') -> 'Related-Trigger'; +name2rec('Remaining-Balance') -> 'Remaining-Balance'; +name2rec('Scale-Factor') -> 'Scale-Factor'; +name2rec('SCS-AS-Address') -> 'SCS-AS-Address'; +name2rec('SDP-Media-Component') -> + 'SDP-Media-Component'; +name2rec('SDP-TimeStamps') -> 'SDP-TimeStamps'; +name2rec('Service-Data-Container') -> + 'Service-Data-Container'; +name2rec('Service-Information') -> + 'Service-Information'; +name2rec('Service-Specific-Info') -> + 'Service-Specific-Info'; +name2rec('SM-Device-Trigger-Information') -> + 'SM-Device-Trigger-Information'; +name2rec('SMS-Information') -> 'SMS-Information'; +name2rec('Supplementary-Service') -> + 'Supplementary-Service'; +name2rec('Talk-Burst-Exchange') -> + 'Talk-Burst-Exchange'; +name2rec('Tariff-Information') -> 'Tariff-Information'; +name2rec('Time-Quota-Mechanism') -> + 'Time-Quota-Mechanism'; +name2rec('Time-Stamps') -> 'Time-Stamps'; +name2rec('Traffic-Data-Volumes') -> + 'Traffic-Data-Volumes'; +name2rec('Transmitter-Info') -> 'Transmitter-Info'; +name2rec('Trigger') -> 'Trigger'; +name2rec('Trunk-Group-Id') -> 'Trunk-Group-Id'; +name2rec('TWAN-User-Location-Info') -> + 'TWAN-User-Location-Info'; +name2rec('Unit-Cost') -> 'Unit-Cost'; +name2rec('User-CSG-Information') -> + 'User-CSG-Information'; +name2rec('UWAN-User-Location-Info') -> + 'UWAN-User-Location-Info'; +name2rec('Variable-Part') -> 'Variable-Part'; +name2rec('VCS-Information') -> 'VCS-Information'; +name2rec('Emergency-Info') -> 'Emergency-Info'; +name2rec('MIP6-Agent-Info') -> 'MIP6-Agent-Info'; +name2rec('Access-Network-Charging-Identifier-Gx') -> + 'Access-Network-Charging-Identifier-Gx'; +name2rec('Allocation-Retention-Priority') -> + 'Allocation-Retention-Priority'; +name2rec('Application-Detection-Information') -> + 'Application-Detection-Information'; +name2rec('Charging-Rule-Definition') -> + 'Charging-Rule-Definition'; +name2rec('Charging-Rule-Install') -> + 'Charging-Rule-Install'; +name2rec('Charging-Rule-Remove') -> + 'Charging-Rule-Remove'; +name2rec('Charging-Rule-Report') -> + 'Charging-Rule-Report'; +name2rec('CoA-Information') -> 'CoA-Information'; +name2rec('Conditional-APN-Aggregate-Max-Bitrate') -> + 'Conditional-APN-Aggregate-Max-Bitrate'; +name2rec('Default-EPS-Bearer-QoS') -> + 'Default-EPS-Bearer-QoS'; +name2rec('Default-QoS-Information') -> + 'Default-QoS-Information'; +name2rec('Event-Report-Indication') -> + 'Event-Report-Indication'; +name2rec('Fixed-User-Location-Info') -> + 'Fixed-User-Location-Info'; +name2rec('Flow-Information') -> 'Flow-Information'; +name2rec('Packet-Filter-Information') -> + 'Packet-Filter-Information'; +name2rec('Presence-Reporting-Area-Information') -> + 'Presence-Reporting-Area-Information'; +name2rec('QoS-Information') -> 'QoS-Information'; +name2rec('Redirect-Information') -> + 'Redirect-Information'; +name2rec('Routing-Filter') -> 'Routing-Filter'; +name2rec('Routing-Rule-Definition') -> + 'Routing-Rule-Definition'; +name2rec('Routing-Rule-Install') -> + 'Routing-Rule-Install'; +name2rec('Routing-Rule-Remove') -> + 'Routing-Rule-Remove'; +name2rec('TDF-Information') -> 'TDF-Information'; +name2rec('Tunnel-Information') -> 'Tunnel-Information'; +name2rec('TFT-Packet-Filter-Information') -> + 'TFT-Packet-Filter-Information'; +name2rec('Usage-Monitoring-Information') -> + 'Usage-Monitoring-Information'; +name2rec(T) -> msg2rec(T). + +avp_name(1471, 10415) -> {'3GPP2-MEID', 'OctetString'}; +avp_name(1643, 10415) -> {'A-MSISDN', 'OctetString'}; +avp_name(1435, 10415) -> {'AMBR', 'Grouped'}; +avp_name(1430, 10415) -> + {'APN-Configuration', 'Grouped'}; +avp_name(1429, 10415) -> + {'APN-Configuration-Profile', 'Grouped'}; +avp_name(1449, 10415) -> {'AUTN', 'OctetString'}; +avp_name(1426, 10415) -> + {'Access-Restriction-Data', 'Unsigned32'}; +avp_name(1612, 10415) -> {'Active-APN', 'Grouped'}; +avp_name(1611, 10415) -> + {'Age-Of-Location-Information', 'Unsigned32'}; +avp_name(1434, 10415) -> {'Alert-Reason', 'Enumerated'}; +avp_name(1428, 10415) -> + {'All-APN-Configurations-Included-Indicator', + 'Enumerated'}; +avp_name(1624, 10415) -> {'Area-Scope', 'Grouped'}; +avp_name(1413, 10415) -> + {'Authentication-Info', 'Grouped'}; +avp_name(1638, 10415) -> {'CLR-Flags', 'Unsigned32'}; +avp_name(1437, 10415) -> {'CSG-Id', 'Unsigned32'}; +avp_name(1436, 10415) -> + {'CSG-Subscription-Data', 'Grouped'}; +avp_name(1488, 10415) -> + {'Call-Barring-Info', 'Grouped'}; +avp_name(1420, 10415) -> + {'Cancellation-Type', 'Enumerated'}; +avp_name(1604, 10415) -> + {'Cell-Global-Identity', 'OctetString'}; +avp_name(1480, 10415) -> + {'Client-Identity', 'OctetString'}; +avp_name(1657, 10415) -> + {'Collection-Period-RRM-LTE', 'Enumerated'}; +avp_name(1658, 10415) -> + {'Collection-Period-RRM-UMTS', 'Enumerated'}; +avp_name(1468, 10415) -> + {'Complete-Data-List-Included-Indicator', 'Enumerated'}; +avp_name(1423, 10415) -> + {'Context-Identifier', 'Unsigned32'}; +avp_name(1704, 10415) -> + {'Core-Network-Restrictions', 'Unsigned32'}; +avp_name(1610, 10415) -> + {'Current-Location-Retrieved', 'Enumerated'}; +avp_name(1422, 10415) -> {'DSA-Flags', 'Unsigned32'}; +avp_name(1421, 10415) -> {'DSR-Flags', 'Unsigned32'}; +avp_name(1650, 10415) -> + {'Daylight-Saving-Time', 'Enumerated'}; +avp_name(1602, 10415) -> + {'E-UTRAN-Cell-Global-Identity', 'OctetString'}; +avp_name(1414, 10415) -> {'E-UTRAN-Vector', 'Grouped'}; +avp_name(1496, 10415) -> + {'EPS-Location-Information', 'Grouped'}; +avp_name(1431, 10415) -> + {'EPS-Subscribed-QoS-Profile', 'Grouped'}; +avp_name(1495, 10415) -> {'EPS-User-State', 'Grouped'}; +avp_name(1445, 10415) -> + {'Equipment-Status', 'Enumerated'}; +avp_name(1637, 10415) -> + {'Equivalent-PLMN-List', 'Grouped'}; +avp_name(1614, 10415) -> + {'Error-Diagnostic', 'Enumerated'}; +avp_name(1661, 10415) -> + {'Event-Threshold-Event-1F', 'Integer32'}; +avp_name(1662, 10415) -> + {'Event-Threshold-Event-1I', 'Integer32'}; +avp_name(1629, 10415) -> + {'Event-Threshold-RSRP', 'Unsigned32'}; +avp_name(1630, 10415) -> + {'Event-Threshold-RSRQ', 'Unsigned32'}; +avp_name(1439, 10415) -> {'Expiration-Date', 'Time'}; +avp_name(1621, 10415) -> {'Ext-PDP-Address', 'Address'}; +avp_name(1620, 10415) -> + {'Ext-PDP-Type', 'OctetString'}; +avp_name(1479, 10415) -> {'External-Client', 'Grouped'}; +avp_name(1416, 10415) -> {'GERAN-Vector', 'Grouped'}; +avp_name(1481, 10415) -> + {'GMLC-Restriction', 'Enumerated'}; +avp_name(1467, 10415) -> + {'GPRS-Subscription-Data', 'Grouped'}; +avp_name(1609, 10415) -> + {'Geodetic-Information', 'OctetString'}; +avp_name(1608, 10415) -> + {'Geographical-Information', 'OctetString'}; +avp_name(1418, 10415) -> {'HPLMN-ODB', 'Unsigned32'}; +avp_name(1493, 10415) -> + {'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + 'Enumerated'}; +avp_name(1491, 10415) -> + {'ICS-Indicator', 'Enumerated'}; +avp_name(1441, 10415) -> {'IDA-Flags', 'Unsigned32'}; +avp_name(1490, 10415) -> {'IDR-Flags', 'Unsigned32'}; +avp_name(1402, 10415) -> {'IMEI', 'UTF8String'}; +avp_name(1492, 10415) -> + {'IMS-Voice-Over-PS-Sessions-Supported', 'Enumerated'}; +avp_name(1412, 10415) -> + {'Immediate-Response-Preferred', 'Unsigned32'}; +avp_name(1419, 10415) -> {'Item-Number', 'Unsigned32'}; +avp_name(1623, 10415) -> {'Job-Type', 'Enumerated'}; +avp_name(1450, 10415) -> {'KASME', 'OctetString'}; +avp_name(1453, 10415) -> {'Kc', 'OctetString'}; +avp_name(1473, 10415) -> {'LCS-Info', 'Grouped'}; +avp_name(1475, 10415) -> + {'LCS-PrivacyException', 'Grouped'}; +avp_name(1618, 10415) -> + {'LIPA-Permission', 'Enumerated'}; +avp_name(1494, 10415) -> + {'Last-UE-Activity-Time', 'Time'}; +avp_name(1625, 10415) -> + {'List-Of-Measurements', 'Unsigned32'}; +avp_name(1649, 10415) -> {'Local-Time-Zone', 'Grouped'}; +avp_name(1606, 10415) -> + {'Location-Area-Identity', 'OctetString'}; +avp_name(1632, 10415) -> + {'Logging-Duration', 'Enumerated'}; +avp_name(1631, 10415) -> + {'Logging-Interval', 'Enumerated'}; +avp_name(1622, 10415) -> + {'MDT-Configuration', 'Grouped'}; +avp_name(1634, 10415) -> + {'MDT-User-Consent', 'Enumerated'}; +avp_name(1600, 10415) -> + {'MME-Location-Information', 'Grouped'}; +avp_name(1645, 10415) -> + {'MME-Number-for-MT-SMS', 'OctetString'}; +avp_name(1497, 10415) -> {'MME-User-State', 'Grouped'}; +avp_name(1485, 10415) -> {'MO-LR', 'Grouped'}; +avp_name(1616, 10415) -> {'MPS-Priority', 'Unsigned32'}; +avp_name(1656, 10415) -> + {'Measurement-Period-LTE', 'Enumerated'}; +avp_name(1655, 10415) -> + {'Measurement-Period-UMTS', 'Enumerated'}; +avp_name(1660, 10415) -> + {'Measurement-Quantity', 'OctetString'}; +avp_name(1443, 10415) -> {'NOR-Flags', 'Unsigned32'}; +avp_name(1417, 10415) -> + {'Network-Access-Mode', 'Enumerated'}; +avp_name(1478, 10415) -> + {'Notification-To-UE-User', 'Enumerated'}; +avp_name(1410, 10415) -> + {'Number-Of-Requested-Vectors', 'Unsigned32'}; +avp_name(1466, 10415) -> {'OMC-Id', 'OctetString'}; +avp_name(1425, 10415) -> + {'Operator-Determined-Barring', 'Unsigned32'}; +avp_name(1438, 10415) -> + {'PDN-GW-Allocation-Type', 'Enumerated'}; +avp_name(1456, 10415) -> {'PDN-Type', 'Enumerated'}; +avp_name(1469, 10415) -> {'PDP-Context', 'Grouped'}; +avp_name(1470, 10415) -> {'PDP-Type', 'OctetString'}; +avp_name(1482, 10415) -> {'PLMN-Client', 'Enumerated'}; +avp_name(1442, 10415) -> {'PUA-Flags', 'Unsigned32'}; +avp_name(1635, 10415) -> {'PUR-Flags', 'Unsigned32'}; +avp_name(1659, 10415) -> + {'Positioning-Method', 'OctetString'}; +avp_name(1404, 10415) -> + {'QoS-Subscribed', 'OctetString'}; +avp_name(1447, 10415) -> {'RAND', 'OctetString'}; +avp_name(1440, 10415) -> + {'RAT-Frequency-Selection-Priority-ID', 'Unsigned32'}; +avp_name(1411, 10415) -> + {'Re-Synchronization-Info', 'OctetString'}; +avp_name(1446, 10415) -> + {'Regional-Subscription-Zone-Code', 'OctetString'}; +avp_name(1633, 10415) -> + {'Relay-Node-Indicator', 'Enumerated'}; +avp_name(1628, 10415) -> + {'Report-Amount', 'Enumerated'}; +avp_name(1627, 10415) -> + {'Report-Interval', 'Enumerated'}; +avp_name(1626, 10415) -> + {'Reporting-Trigger', 'Unsigned32'}; +avp_name(1408, 10415) -> + {'Requested-EUTRAN-Authentication-Info', 'Grouped'}; +avp_name(1409, 10415) -> + {'Requested-UTRAN-GERAN-Authentication-Info', + 'Grouped'}; +avp_name(1663, 10415) -> + {'Restoration-Priority', 'Unsigned32'}; +avp_name(1457, 10415) -> + {'Roaming-Restricted-Due-To-Unsupported-Feature', + 'Enumerated'}; +avp_name(1605, 10415) -> + {'Routing-Area-Identity', 'OctetString'}; +avp_name(1601, 10415) -> + {'SGSN-Location-Information', 'Grouped'}; +avp_name(1498, 10415) -> {'SGSN-User-State', 'Grouped'}; +avp_name(1613, 10415) -> + {'SIPTO-Permission', 'Enumerated'}; +avp_name(1648, 10415) -> + {'SMS-Register-Request', 'Enumerated'}; +avp_name(1454, 10415) -> {'SRES', 'OctetString'}; +avp_name(1476, 10415) -> {'SS-Code', 'OctetString'}; +avp_name(1477, 10415) -> {'SS-Status', 'OctetString'}; +avp_name(1433, 10415) -> {'STN-SR', 'OctetString'}; +avp_name(1607, 10415) -> + {'Service-Area-Identity', 'OctetString'}; +avp_name(1483, 10415) -> {'Service-Type', 'Grouped'}; +avp_name(1484, 10415) -> + {'ServiceTypeIdentity', 'Unsigned32'}; +avp_name(1403, 10415) -> + {'Software-Version', 'UTF8String'}; +avp_name(1472, 10415) -> + {'Specific-APN-Info', 'Grouped'}; +avp_name(1619, 10415) -> + {'Subscribed-Periodic-RAU-TAU-Timer', 'Unsigned32'}; +avp_name(1636, 10415) -> + {'Subscribed-VSRVCC', 'Enumerated'}; +avp_name(1424, 10415) -> + {'Subscriber-Status', 'Enumerated'}; +avp_name(1400, 10415) -> + {'Subscription-Data', 'Grouped'}; +avp_name(1654, 10415) -> + {'Subscription-Data-Flags', 'Unsigned32'}; +avp_name(1487, 10415) -> {'TS-Code', 'OctetString'}; +avp_name(1486, 10415) -> + {'Teleservice-List', 'Grouped'}; +avp_name(1401, 10415) -> + {'Terminal-Information', 'Grouped'}; +avp_name(1642, 10415) -> {'Time-Zone', 'UTF8String'}; +avp_name(1452, 10415) -> + {'Trace-Collection-Entity', 'Address'}; +avp_name(1458, 10415) -> {'Trace-Data', 'Grouped'}; +avp_name(1462, 10415) -> {'Trace-Depth', 'Enumerated'}; +avp_name(1465, 10415) -> + {'Trace-Event-List', 'OctetString'}; +avp_name(1464, 10415) -> + {'Trace-Interface-List', 'OctetString'}; +avp_name(1463, 10415) -> + {'Trace-NE-Type-List', 'OctetString'}; +avp_name(1459, 10415) -> + {'Trace-Reference', 'OctetString'}; +avp_name(1603, 10415) -> + {'Tracking-Area-Identity', 'OctetString'}; +avp_name(1615, 10415) -> + {'UE-SRVCC-Capability', 'Enumerated'}; +avp_name(1680, 10415) -> + {'UE-Usage-Type', 'Unsigned32'}; +avp_name(1406, 10415) -> {'ULA-Flags', 'Unsigned32'}; +avp_name(1405, 10415) -> {'ULR-Flags', 'Unsigned32'}; +avp_name(1415, 10415) -> {'UTRAN-Vector', 'Grouped'}; +avp_name(1640, 10415) -> {'UVA-Flags', 'Unsigned32'}; +avp_name(1639, 10415) -> {'UVR-Flags', 'Unsigned32'}; +avp_name(1444, 10415) -> {'User-Id', 'UTF8String'}; +avp_name(1499, 10415) -> {'User-State', 'Enumerated'}; +avp_name(1641, 10415) -> + {'VPLMN-CSG-Subscription-Data', 'Grouped'}; +avp_name(1432, 10415) -> + {'VPLMN-Dynamic-Address-Allowed', 'Enumerated'}; +avp_name(1617, 10415) -> + {'VPLMN-LIPA-Allowed', 'Enumerated'}; +avp_name(1407, 10415) -> + {'Visited-PLMN-Id', 'OctetString'}; +avp_name(1448, 10415) -> {'XRES', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(504, 10415) -> + {'AF-Application-Identifier', 'OctetString'}; +avp_name(505, 10415) -> + {'AF-Charging-Identifier', 'OctetString'}; +avp_name(529, 10415) -> + {'AF-Signalling-Protocol', 'Enumerated'}; +avp_name(500, 10415) -> {'Abort-Cause', 'Enumerated'}; +avp_name(501, 10415) -> + {'Access-Network-Charging-Address', 'Address'}; +avp_name(503, 10415) -> + {'Access-Network-Charging-Identifier-Value', + 'OctetString'}; +avp_name(532, 10415) -> + {'Application-Service-Provider-Identity', 'UTF8String'}; +avp_name(524, 10415) -> {'Codec-Data', 'OctetString'}; +avp_name(507, 10415) -> + {'Flow-Description', 'IPFilterRule'}; +avp_name(509, 10415) -> {'Flow-Number', 'Unsigned32'}; +avp_name(511, 10415) -> {'Flow-Status', 'Enumerated'}; +avp_name(512, 10415) -> {'Flow-Usage', 'Enumerated'}; +avp_name(510, 10415) -> {'Flows', 'Grouped'}; +avp_name(538, 10415) -> + {'GCS-Identifier', 'OctetString'}; +avp_name(537, 10415) -> {'IP-Domain-Id', 'OctetString'}; +avp_name(528, 10415) -> + {'MPS-Identifier', 'OctetString'}; +avp_name(515, 10415) -> + {'Max-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(516, 10415) -> + {'Max-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(518, 10415) -> + {'Media-Component-Number', 'Unsigned32'}; +avp_name(520, 10415) -> {'Media-Type', 'Enumerated'}; +avp_name(534, 10415) -> + {'Min-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(535, 10415) -> + {'Min-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(521, 10415) -> {'RR-Bandwidth', 'Unsigned32'}; +avp_name(522, 10415) -> {'RS-Bandwidth', 'Unsigned32'}; +avp_name(536, 10415) -> + {'Required-Access-Info', 'Enumerated'}; +avp_name(533, 10415) -> + {'Rx-Request-Type', 'Enumerated'}; +avp_name(523, 10415) -> + {'SIP-Forking-Indication', 'Enumerated'}; +avp_name(527, 10415) -> + {'Service-Info-Status', 'Enumerated'}; +avp_name(525, 10415) -> {'Service-URN', 'OctetString'}; +avp_name(513, 10415) -> + {'Specific-Action', 'Enumerated'}; +avp_name(531, 10415) -> + {'Sponsor-Identity', 'UTF8String'}; +avp_name(643, 10415) -> + {'Call-ID-SIP-Header', 'OctetString'}; +avp_name(618, 10415) -> + {'Charging-Information', 'Grouped'}; +avp_name(625, 10415) -> + {'Confidentiality-Key', 'OctetString'}; +avp_name(641, 10415) -> {'Contact', 'OctetString'}; +avp_name(615, 10415) -> + {'Deregistration-Reason', 'Grouped'}; +avp_name(111, undefined) -> + {'Digest-Algorithm', 'UTF8String'}; +avp_name(121, undefined) -> + {'Digest-HA1', 'UTF8String'}; +avp_name(110, undefined) -> + {'Digest-QoP', 'UTF8String'}; +avp_name(104, undefined) -> + {'Digest-Realm', 'UTF8String'}; +avp_name(630, 10415) -> {'Feature-List', 'Unsigned32'}; +avp_name(629, 10415) -> + {'Feature-List-ID', 'Unsigned32'}; +avp_name(644, 10415) -> + {'From-SIP-Header', 'OctetString'}; +avp_name(654, 10415) -> + {'Initial-CSeq-Sequence-Number', 'Unsigned32'}; +avp_name(626, 10415) -> + {'Integrity-Key', 'OctetString'}; +avp_name(653, 10415) -> {'LIA-Flags', 'Unsigned32'}; +avp_name(638, 10415) -> + {'Loose-Route-Indication', 'Enumerated'}; +avp_name(604, 10415) -> + {'Mandatory-Capability', 'Unsigned32'}; +avp_name(648, 10415) -> + {'Multiple-Registration-Indication', 'Enumerated'}; +avp_name(605, 10415) -> + {'Optional-Capability', 'Unsigned32'}; +avp_name(633, 10415) -> + {'Originating-Request', 'Enumerated'}; +avp_name(640, 10415) -> {'Path', 'OctetString'}; +avp_name(621, 10415) -> + {'Primary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(619, 10415) -> + {'Primary-Event-Charging-Function-Name', 'DiameterURI'}; +avp_name(652, 10415) -> + {'Priviledged-Sender-Indication', 'Enumerated'}; +avp_name(601, 10415) -> + {'Public-Identity', 'UTF8String'}; +avp_name(616, 10415) -> {'Reason-Code', 'Enumerated'}; +avp_name(617, 10415) -> {'Reason-Info', 'UTF8String'}; +avp_name(646, 10415) -> {'Record-Route', 'OctetString'}; +avp_name(655, 10415) -> {'SAR-Flags', 'Unsigned32'}; +avp_name(612, 10415) -> + {'SIP-Auth-Data-Item', 'Grouped'}; +avp_name(609, 10415) -> + {'SIP-Authenticate', 'OctetString'}; +avp_name(611, 10415) -> + {'SIP-Authentication-Context', 'OctetString'}; +avp_name(608, 10415) -> + {'SIP-Authentication-Scheme', 'UTF8String'}; +avp_name(610, 10415) -> + {'SIP-Authorization', 'OctetString'}; +avp_name(635, 10415) -> + {'SIP-Digest-Authenticate', 'Grouped'}; +avp_name(613, 10415) -> + {'SIP-Item-Number', 'Unsigned32'}; +avp_name(607, 10415) -> + {'SIP-Number-Auth-Items', 'Unsigned32'}; +avp_name(622, 10415) -> + {'Secondary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(620, 10415) -> + {'Secondary-Event-Charging-Function-Name', + 'DiameterURI'}; +avp_name(614, 10415) -> + {'Server-Assignment-Type', 'Enumerated'}; +avp_name(602, 10415) -> {'Server-Name', 'UTF8String'}; +avp_name(650, 10415) -> + {'Session-Priority', 'Enumerated'}; +avp_name(631, 10415) -> + {'Supported-Applications', 'Grouped'}; +avp_name(628, 10415) -> + {'Supported-Features', 'Grouped'}; +avp_name(645, 10415) -> + {'To-SIP-Header', 'OctetString'}; +avp_name(637, 10415) -> {'UAR-Flags', 'Unsigned32'}; +avp_name(623, 10415) -> + {'User-Authorization-Type', 'Enumerated'}; +avp_name(606, 10415) -> {'User-Data', 'OctetString'}; +avp_name(624, 10415) -> + {'User-Data-Already-Available', 'Enumerated'}; +avp_name(600, 10415) -> + {'Visited-Network-Identifier', 'OctetString'}; +avp_name(634, 10415) -> + {'Wildcarded-Public-Identity', 'UTF8String'}; +avp_name(707, 10415) -> + {'Current-Location', 'Enumerated'}; +avp_name(711, 10415) -> {'DSAI-Tag', 'OctetString'}; +avp_name(703, 10415) -> + {'Data-Reference', 'Enumerated'}; +avp_name(709, 10415) -> {'Expiry-Time', 'Time'}; +avp_name(708, 10415) -> {'Identity-Set', 'Enumerated'}; +avp_name(701, 10415) -> {'MSISDN', 'OctetString'}; +avp_name(712, 10415) -> + {'One-Time-Notification', 'Enumerated'}; +avp_name(706, 10415) -> + {'Requested-Domain', 'Enumerated'}; +avp_name(713, 10415) -> + {'Requested-Nodes', 'Unsigned32'}; +avp_name(710, 10415) -> + {'Send-Data-Indication', 'Enumerated'}; +avp_name(716, 10415) -> + {'Sequence-Number', 'Unsigned32'}; +avp_name(704, 10415) -> + {'Service-Indication', 'OctetString'}; +avp_name(714, 10415) -> + {'Serving-Node-Indication', 'Enumerated'}; +avp_name(705, 10415) -> {'Subs-Req-Type', 'Enumerated'}; +avp_name(318, 10415) -> + {'3GPP-AAA-Server-Name', 'DiameterIdentity'}; +avp_name(2406, 10415) -> + {'Additional-Serving-Node', 'Grouped'}; +avp_name(2405, 10415) -> {'GMLC-Address', 'Address'}; +avp_name(2404, 10415) -> + {'LCS-Capabilities-Sets', 'Unsigned32'}; +avp_name(2400, 10415) -> {'LMSI', 'OctetString'}; +avp_name(2402, 10415) -> + {'MME-Name', 'DiameterIdentity'}; +avp_name(2408, 10415) -> + {'MME-Realm', 'DiameterIdentity'}; +avp_name(2403, 10415) -> {'MSC-Number', 'OctetString'}; +avp_name(2407, 10415) -> {'PPR-Address', 'Address'}; +avp_name(2411, 10415) -> {'RIA-Flags', 'Unsigned32'}; +avp_name(2409, 10415) -> + {'SGSN-Name', 'DiameterIdentity'}; +avp_name(2410, 10415) -> + {'SGSN-Realm', 'DiameterIdentity'}; +avp_name(2401, 10415) -> {'Serving-Node', 'Grouped'}; +avp_name(4406, 10415) -> + {'3GPP-PS-Data-Off-Status', 'Enumerated'}; +avp_name(1276, 10415) -> + {'AF-Correlation-Information', 'Grouped'}; +avp_name(3933, 10415) -> + {'APN-Rate-Control', 'Grouped'}; +avp_name(3934, 10415) -> + {'APN-Rate-Control-Downlink', 'Grouped'}; +avp_name(3935, 10415) -> + {'APN-Rate-Control-Uplink', 'Grouped'}; +avp_name(4401, 10415) -> + {'Access-Network-Info-Change', 'Grouped'}; +avp_name(1263, 10415) -> + {'Access-Network-Information', 'OctetString'}; +avp_name(2709, 10415) -> + {'Access-Transfer-Information', 'Grouped'}; +avp_name(2710, 10415) -> + {'Access-Transfer-Type', 'Enumerated'}; +avp_name(2309, 10415) -> {'Account-Expiration', 'Time'}; +avp_name(2052, 10415) -> + {'Accumulated-Cost', 'Grouped'}; +avp_name(1217, 10415) -> {'Adaptations', 'Enumerated'}; +avp_name(1207, 10415) -> + {'Additional-Content-Information', 'Grouped'}; +avp_name(3936, 10415) -> + {'Additional-Exception-Reports', 'Enumerated'}; +avp_name(1205, 10415) -> + {'Additional-Type-Information', 'UTF8String'}; +avp_name(897, 10415) -> {'Address-Data', 'UTF8String'}; +avp_name(898, 10415) -> {'Address-Domain', 'Grouped'}; +avp_name(899, 10415) -> {'Address-Type', 'Enumerated'}; +avp_name(1208, 10415) -> + {'Addressee-Type', 'Enumerated'}; +avp_name(1280, 10415) -> + {'Alternate-Charged-Party-Address', 'UTF8String'}; +avp_name(3905, 10415) -> + {'Announcement-Identifier', 'Unsigned32'}; +avp_name(3904, 10415) -> + {'Announcement-Information', 'Grouped'}; +avp_name(3906, 10415) -> + {'Announcement-Order', 'Unsigned32'}; +avp_name(4408, 10415) -> + {'Announcing-PLMN-ID', 'UTF8String'}; +avp_name(3426, 10415) -> + {'Announcing-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3427, 10415) -> + {'Announcing-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(2053, 10415) -> + {'AoC-Cost-Information', 'Grouped'}; +avp_name(2310, 10415) -> {'AoC-Format', 'Enumerated'}; +avp_name(2054, 10415) -> {'AoC-Information', 'Grouped'}; +avp_name(2055, 10415) -> + {'AoC-Request-Type', 'Enumerated'}; +avp_name(2311, 10415) -> {'AoC-Service', 'Grouped'}; +avp_name(2312, 10415) -> + {'AoC-Service-Obligatory-Type', 'Enumerated'}; +avp_name(2313, 10415) -> + {'AoC-Service-Type', 'Enumerated'}; +avp_name(2314, 10415) -> + {'AoC-Subscription-Information', 'Grouped'}; +avp_name(1218, 10415) -> {'Applic-ID', 'UTF8String'}; +avp_name(837, 10415) -> + {'Application-Provided-Called-Party-Address', + 'UTF8String'}; +avp_name(836, 10415) -> + {'Application-Server', 'UTF8String'}; +avp_name(850, 10415) -> + {'Application-Server-Information', 'Grouped'}; +avp_name(3458, 10415) -> + {'Application-Specific-Data', 'OctetString'}; +avp_name(2035, 10415) -> + {'Associated-Party-Address', 'UTF8String'}; +avp_name(856, 10415) -> + {'Associated-URI', 'UTF8String'}; +avp_name(849, 10415) -> + {'Authorised-QoS', 'UTF8String'}; +avp_name(1219, 10415) -> + {'Aux-Applic-Info', 'UTF8String'}; +avp_name(2716, 10415) -> {'BSSID', 'UTF8String'}; +avp_name(1265, 10415) -> + {'Base-Time-Interval', 'Unsigned32'}; +avp_name(3411, 10415) -> + {'Basic-Service-Code', 'Grouped'}; +avp_name(3412, 10415) -> + {'Bearer-Capability', 'OctetString'}; +avp_name(854, 10415) -> + {'Bearer-Service', 'OctetString'}; +avp_name(846, 10415) -> {'CG-Address', 'Address'}; +avp_name(3421, 10415) -> + {'CN-Operator-Selection-Entity', 'Enumerated'}; +avp_name(3930, 10415) -> + {'CP-CIoT-EPS-Optimisation-Indicator', 'Enumerated'}; +avp_name(3927, 10415) -> + {'CPDT-Information', 'Grouped'}; +avp_name(2317, 10415) -> + {'CSG-Access-Mode', 'Enumerated'}; +avp_name(2318, 10415) -> + {'CSG-Membership-Indication', 'Enumerated'}; +avp_name(2304, 10415) -> + {'CUG-Information', 'OctetString'}; +avp_name(1250, 10415) -> + {'Called-Asserted-Identity', 'UTF8String'}; +avp_name(3916, 10415) -> + {'Called-Identity', 'UTF8String'}; +avp_name(3917, 10415) -> + {'Called-Identity-Change', 'Grouped'}; +avp_name(832, 10415) -> + {'Called-Party-Address', 'UTF8String'}; +avp_name(831, 10415) -> + {'Calling-Party-Address', 'UTF8String'}; +avp_name(2023, 10415) -> + {'Carrier-Select-Routing-Information', 'UTF8String'}; +avp_name(861, 10415) -> {'Cause-Code', 'Integer32'}; +avp_name(3924, 10415) -> + {'Cellular-Network-Information', 'OctetString'}; +avp_name(2037, 10415) -> + {'Change-Condition', 'Integer32'}; +avp_name(2038, 10415) -> {'Change-Time', 'Time'}; +avp_name(2118, 10415) -> + {'Charge-Reason-Code', 'Enumerated'}; +avp_name(857, 10415) -> {'Charged-Party', 'UTF8String'}; +avp_name(2066, 10415) -> + {'Charging-Characteristics-Selection-Mode', + 'Enumerated'}; +avp_name(4400, 10415) -> + {'Charging-Per-IP-CAN-Session-Indicator', 'Enumerated'}; +avp_name(1214, 10415) -> + {'Class-Identifier', 'Enumerated'}; +avp_name(2018, 10415) -> {'Client-Address', 'Address'}; +avp_name(1220, 10415) -> + {'Content-Class', 'Enumerated'}; +avp_name(828, 10415) -> + {'Content-Disposition', 'UTF8String'}; +avp_name(827, 10415) -> + {'Content-Length', 'Unsigned32'}; +avp_name(1206, 10415) -> {'Content-Size', 'Unsigned32'}; +avp_name(826, 10415) -> {'Content-Type', 'UTF8String'}; +avp_name(3459, 10415) -> {'Coverage-Info', 'Grouped'}; +avp_name(3428, 10415) -> + {'Coverage-Status', 'Enumerated'}; +avp_name(2056, 10415) -> {'Current-Tariff', 'Grouped'}; +avp_name(1221, 10415) -> {'DRM-Content', 'Enumerated'}; +avp_name(2001, 10415) -> + {'Data-Coding-Scheme', 'Integer32'}; +avp_name(1230, 10415) -> + {'Deferred-Location-Event-Type', 'UTF8String'}; +avp_name(1216, 10415) -> + {'Delivery-Report-Requested', 'Enumerated'}; +avp_name(2002, 10415) -> + {'Destination-Interface', 'Grouped'}; +avp_name(2039, 10415) -> {'Diagnostics', 'Integer32'}; +avp_name(4402, 10415) -> + {'Discoveree-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4403, 10415) -> + {'Discoveree-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(4404, 10415) -> + {'Discoverer-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4405, 10415) -> + {'Discoverer-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(1200, 10415) -> {'Domain-Name', 'UTF8String'}; +avp_name(2051, 10415) -> + {'Dynamic-Address-Flag', 'Enumerated'}; +avp_name(2068, 10415) -> + {'Dynamic-Address-Flag-Extension', 'Enumerated'}; +avp_name(3425, 10415) -> {'EPDG-Address', 'Address'}; +avp_name(1272, 10415) -> + {'Early-Media-Description', 'Grouped'}; +avp_name(3901, 10415) -> + {'Enhanced-Diagnostics', 'Grouped'}; +avp_name(1266, 10415) -> {'Envelope', 'Grouped'}; +avp_name(1267, 10415) -> {'Envelope-End-Time', 'Time'}; +avp_name(1268, 10415) -> + {'Envelope-Reporting', 'Enumerated'}; +avp_name(1269, 10415) -> + {'Envelope-Start-Time', 'Time'}; +avp_name(825, 10415) -> {'Event', 'UTF8String'}; +avp_name(1258, 10415) -> + {'Event-Charging-TimeStamp', 'Time'}; +avp_name(823, 10415) -> {'Event-Type', 'Grouped'}; +avp_name(888, 10415) -> {'Expires', 'Unsigned32'}; +avp_name(4413, 10415) -> + {'FE-Identifier-List', 'UTF8String'}; +avp_name(1224, 10415) -> + {'File-Repair-Supported', 'Enumerated'}; +avp_name(3415, 10415) -> + {'Forwarding-Pending', 'Enumerated'}; +avp_name(2708, 10415) -> {'From-Address', 'UTF8String'}; +avp_name(847, 10415) -> {'GGSN-Address', 'Address'}; +avp_name(2601, 10415) -> + {'IMS-Application-Reference-Identifier', 'UTF8String'}; +avp_name(841, 10415) -> + {'IMS-Charging-Identifier', 'UTF8String'}; +avp_name(1281, 10415) -> + {'IMS-Communication-Service-Identifier', 'UTF8String'}; +avp_name(2322, 10415) -> + {'IMS-Emergency-Indicator', 'Enumerated'}; +avp_name(876, 10415) -> {'IMS-Information', 'Grouped'}; +avp_name(2713, 10415) -> + {'IMS-Visited-Network-Identifier', 'UTF8String'}; +avp_name(2308, 10415) -> + {'IMSI-Unauthenticated-Flag', 'Enumerated'}; +avp_name(2603, 10415) -> + {'IP-Realm-Default-Indication', 'Enumerated'}; +avp_name(3416, 10415) -> {'ISUP-Cause', 'Grouped'}; +avp_name(3422, 10415) -> + {'ISUP-Cause-Diagnostics', 'OctetString'}; +avp_name(3423, 10415) -> + {'ISUP-Cause-Location', 'Unsigned32'}; +avp_name(3424, 10415) -> + {'ISUP-Cause-Value', 'Unsigned32'}; +avp_name(3414, 10415) -> + {'ISUP-Location-Number', 'OctetString'}; +avp_name(852, 10415) -> + {'Incoming-Trunk-Group-Id', 'UTF8String'}; +avp_name(2062, 10415) -> + {'Incremental-Cost', 'Grouped'}; +avp_name(2321, 10415) -> + {'Initial-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(3402, 10415) -> {'Instance-Id', 'UTF8String'}; +avp_name(838, 10415) -> + {'Inter-Operator-Identifier', 'Grouped'}; +avp_name(3902, 10415) -> + {'Inter-UE-Transfer', 'Enumerated'}; +avp_name(2003, 10415) -> {'Interface-Id', 'UTF8String'}; +avp_name(2004, 10415) -> + {'Interface-Port', 'UTF8String'}; +avp_name(2005, 10415) -> + {'Interface-Text', 'UTF8String'}; +avp_name(2006, 10415) -> + {'Interface-Type', 'Enumerated'}; +avp_name(1231, 10415) -> {'LCS-APN', 'UTF8String'}; +avp_name(1233, 10415) -> + {'LCS-Client-Dialed-By-MS', 'UTF8String'}; +avp_name(1234, 10415) -> + {'LCS-Client-External-ID', 'UTF8String'}; +avp_name(1232, 10415) -> {'LCS-Client-ID', 'Grouped'}; +avp_name(1235, 10415) -> {'LCS-Client-Name', 'Grouped'}; +avp_name(1241, 10415) -> + {'LCS-Client-Type', 'Enumerated'}; +avp_name(1236, 10415) -> + {'LCS-Data-Coding-Scheme', 'UTF8String'}; +avp_name(1237, 10415) -> + {'LCS-Format-Indicator', 'Enumerated'}; +avp_name(878, 10415) -> {'LCS-Information', 'Grouped'}; +avp_name(1238, 10415) -> + {'LCS-Name-String', 'UTF8String'}; +avp_name(1239, 10415) -> + {'LCS-Requestor-ID', 'Grouped'}; +avp_name(1240, 10415) -> + {'LCS-Requestor-ID-String', 'UTF8String'}; +avp_name(3914, 10415) -> {'Language', 'UTF8String'}; +avp_name(3429, 10415) -> + {'Layer-2-Group-ID', 'OctetString'}; +avp_name(2604, 10415) -> + {'Local-GW-Inserted-Indication', 'Enumerated'}; +avp_name(2063, 10415) -> + {'Local-Sequence-Number', 'Unsigned32'}; +avp_name(1242, 10415) -> + {'Location-Estimate', 'OctetString'}; +avp_name(1243, 10415) -> + {'Location-Estimate-Type', 'Enumerated'}; +avp_name(3460, 10415) -> {'Location-Info', 'Grouped'}; +avp_name(1244, 10415) -> {'Location-Type', 'Grouped'}; +avp_name(2020, 10415) -> + {'Low-Balance-Indication', 'Enumerated'}; +avp_name(2602, 10415) -> + {'Low-Priority-Indicator', 'Enumerated'}; +avp_name(2323, 10415) -> + {'MBMS-Charged-Party', 'Enumerated'}; +avp_name(2307, 10415) -> {'MBMS-GW-Address', 'Address'}; +avp_name(880, 10415) -> {'MBMS-Information', 'Grouped'}; +avp_name(1225, 10415) -> + {'MBMS-User-Service-Type', 'Enumerated'}; +avp_name(1203, 10415) -> {'MM-Content-Type', 'Grouped'}; +avp_name(1248, 10415) -> + {'MMBox-Storage-Requested', 'Enumerated'}; +avp_name(877, 10415) -> {'MMS-Information', 'Grouped'}; +avp_name(2030, 10415) -> + {'MMTel-Information', 'Grouped'}; +avp_name(2031, 10415) -> + {'MMTel-SService-Type', 'Unsigned32'}; +avp_name(3417, 10415) -> {'MSC-Address', 'OctetString'}; +avp_name(3406, 10415) -> {'MTC-IWF-Address', 'Address'}; +avp_name(882, 10415) -> + {'Media-Initiator-Flag', 'Enumerated'}; +avp_name(1288, 10415) -> + {'Media-Initiator-Party', 'UTF8String'}; +avp_name(889, 10415) -> {'Message-Body', 'Grouped'}; +avp_name(1213, 10415) -> {'Message-Class', 'Grouped'}; +avp_name(1210, 10415) -> {'Message-ID', 'UTF8String'}; +avp_name(1212, 10415) -> {'Message-Size', 'Unsigned32'}; +avp_name(1211, 10415) -> {'Message-Type', 'Enumerated'}; +avp_name(3430, 10415) -> + {'Monitored-PLMN-Identifier', 'UTF8String'}; +avp_name(3919, 10415) -> + {'Monitoring-Event-Configuration-Activity', + 'Integer32'}; +avp_name(3922, 10415) -> + {'Monitoring-Event-Functionality', 'Integer32'}; +avp_name(3921, 10415) -> + {'Monitoring-Event-Information', 'Grouped'}; +avp_name(3920, 10415) -> + {'Monitoring-Event-Report-Data', 'Grouped'}; +avp_name(3923, 10415) -> + {'Monitoring-Event-Report-Number', 'Unsigned32'}; +avp_name(3431, 10415) -> + {'Monitoring-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3432, 10415) -> + {'Monitoring-UE-Identifier', 'UTF8String'}; +avp_name(3433, 10415) -> + {'Monitoring-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(3928, 10415) -> {'NIDD-Submission', 'Grouped'}; +avp_name(2703, 10415) -> {'NNI-Information', 'Grouped'}; +avp_name(2704, 10415) -> {'NNI-Type', 'Enumerated'}; +avp_name(2705, 10415) -> + {'Neighbour-Node-Address', 'Address'}; +avp_name(3418, 10415) -> + {'Network-Call-Reference-Number', 'OctetString'}; +avp_name(2057, 10415) -> {'Next-Tariff', 'Grouped'}; +avp_name(862, 10415) -> + {'Node-Functionality', 'Enumerated'}; +avp_name(2064, 10415) -> {'Node-Id', 'UTF8String'}; +avp_name(2034, 10415) -> + {'Number-Of-Diversions', 'Unsigned32'}; +avp_name(2019, 10415) -> + {'Number-Of-Messages-Sent', 'Unsigned32'}; +avp_name(885, 10415) -> + {'Number-Of-Participants', 'Unsigned32'}; +avp_name(1282, 10415) -> + {'Number-Of-Received-Talk-Bursts', 'Unsigned32'}; +avp_name(1283, 10415) -> + {'Number-Of-Talk-Bursts', 'Unsigned32'}; +avp_name(2024, 10415) -> + {'Number-Portability-Routing-Information', + 'UTF8String'}; +avp_name(1278, 10415) -> + {'Offline-Charging', 'Grouped'}; +avp_name(2303, 10415) -> + {'Online-Charging-Flag', 'Enumerated'}; +avp_name(839, 10415) -> + {'Originating-IOI', 'UTF8String'}; +avp_name(864, 10415) -> {'Originator', 'Enumerated'}; +avp_name(886, 10415) -> + {'Originator-Address', 'Grouped'}; +avp_name(2009, 10415) -> + {'Originator-Interface', 'Grouped'}; +avp_name(2027, 10415) -> + {'Originator-Received-Address', 'Grouped'}; +avp_name(2008, 10415) -> + {'Originator-SCCP-Address', 'Address'}; +avp_name(2320, 10415) -> + {'Outgoing-Session-Id', 'UTF8String'}; +avp_name(853, 10415) -> + {'Outgoing-Trunk-Group-Id', 'UTF8String'}; +avp_name(3434, 10415) -> + {'PC3-Control-Protocol-Cause', 'Integer32'}; +avp_name(3435, 10415) -> + {'PC3-EPC-Control-Protocol-Cause', 'Integer32'}; +avp_name(1300, 10415) -> + {'PC5-Radio-Technology', 'Enumerated'}; +avp_name(2050, 10415) -> + {'PDN-Connection-Charging-ID', 'Unsigned32'}; +avp_name(1227, 10415) -> {'PDP-Address', 'Address'}; +avp_name(2606, 10415) -> + {'PDP-Address-Prefix-Length', 'Unsigned32'}; +avp_name(1247, 10415) -> + {'PDP-Context-Type', 'Enumerated'}; +avp_name(867, 10415) -> + {'PS-Append-Free-Format-Data', 'Enumerated'}; +avp_name(866, 10415) -> + {'PS-Free-Format-Data', 'OctetString'}; +avp_name(865, 10415) -> + {'PS-Furnish-Charging-Information', 'Grouped'}; +avp_name(874, 10415) -> {'PS-Information', 'Grouped'}; +avp_name(1259, 10415) -> + {'Participant-Access-Priority', 'Enumerated'}; +avp_name(2049, 10415) -> + {'Participant-Action-Type', 'Enumerated'}; +avp_name(1260, 10415) -> + {'Participant-Group', 'Grouped'}; +avp_name(887, 10415) -> + {'Participants-Involved', 'UTF8String'}; +avp_name(3913, 10415) -> + {'Play-Alternative', 'Enumerated'}; +avp_name(1261, 10415) -> + {'PoC-Change-Condition', 'Enumerated'}; +avp_name(1262, 10415) -> {'PoC-Change-Time', 'Time'}; +avp_name(858, 10415) -> + {'PoC-Controlling-Address', 'UTF8String'}; +avp_name(2025, 10415) -> + {'PoC-Event-Type', 'Enumerated'}; +avp_name(859, 10415) -> + {'PoC-Group-Name', 'UTF8String'}; +avp_name(879, 10415) -> {'PoC-Information', 'Grouped'}; +avp_name(883, 10415) -> + {'PoC-Server-Role', 'Enumerated'}; +avp_name(1229, 10415) -> + {'PoC-Session-Id', 'UTF8String'}; +avp_name(1277, 10415) -> + {'PoC-Session-Initiation-Type', 'Enumerated'}; +avp_name(884, 10415) -> + {'PoC-Session-Type', 'Enumerated'}; +avp_name(1252, 10415) -> {'PoC-User-Role', 'Grouped'}; +avp_name(1253, 10415) -> + {'PoC-User-Role-IDs', 'UTF8String'}; +avp_name(1254, 10415) -> + {'PoC-User-Role-Info-Units', 'Enumerated'}; +avp_name(1245, 10415) -> + {'Positioning-Data', 'UTF8String'}; +avp_name(2315, 10415) -> + {'Preferred-AoC-Currency', 'Unsigned32'}; +avp_name(1209, 10415) -> {'Priority', 'Enumerated'}; +avp_name(3915, 10415) -> + {'Privacy-Indicator', 'Enumerated'}; +avp_name(3440, 10415) -> + {'ProSe-3rd-Party-Application-ID', 'UTF8String'}; +avp_name(3461, 10415) -> + {'ProSe-Direct-Communication-Reception-Data-Container', + 'Grouped'}; +avp_name(3441, 10415) -> + {'ProSe-Direct-Communication-Transmission-Data-Container', + 'Grouped'}; +avp_name(3442, 10415) -> + {'ProSe-Direct-Discovery-Model', 'Enumerated'}; +avp_name(3443, 10415) -> + {'ProSe-Event-Type', 'Enumerated'}; +avp_name(3444, 10415) -> + {'ProSe-Function-IP-Address', 'Address'}; +avp_name(3457, 10415) -> + {'ProSe-Function-PLMN-Identifier', 'UTF8String'}; +avp_name(3445, 10415) -> + {'ProSe-Functionality', 'Enumerated'}; +avp_name(3446, 10415) -> + {'ProSe-Group-IP-Multicast-Address', 'Address'}; +avp_name(3447, 10415) -> + {'ProSe-Information', 'Grouped'}; +avp_name(3448, 10415) -> + {'ProSe-Range-Class', 'Enumerated'}; +avp_name(3449, 10415) -> + {'ProSe-Reason-For-Cancellation', 'Enumerated'}; +avp_name(3450, 10415) -> + {'ProSe-Request-Timestamp', 'Time'}; +avp_name(3451, 10415) -> + {'ProSe-Role-Of-UE', 'Enumerated'}; +avp_name(3452, 10415) -> + {'ProSe-Source-IP-Address', 'Address'}; +avp_name(4410, 10415) -> + {'ProSe-Target-Layer-2-ID', 'OctetString'}; +avp_name(3453, 10415) -> {'ProSe-UE-ID', 'OctetString'}; +avp_name(4409, 10415) -> + {'ProSe-UE-to-Network-Relay-UE-ID', 'OctetString'}; +avp_name(3454, 10415) -> + {'Proximity-Alert-Indication', 'Enumerated'}; +avp_name(3455, 10415) -> + {'Proximity-Alert-Timestamp', 'Time'}; +avp_name(3456, 10415) -> + {'Proximity-Cancellation-Timestamp', 'Time'}; +avp_name(881, 10415) -> + {'Quota-Consumption-Time', 'Unsigned32'}; +avp_name(871, 10415) -> + {'Quota-Holding-Time', 'Unsigned32'}; +avp_name(3912, 10415) -> + {'Quota-Indicator', 'Enumerated'}; +avp_name(1301, 10415) -> {'RAN-End-Time', 'Time'}; +avp_name(1302, 10415) -> + {'RAN-Secondary-RAT-Usage-Report', 'Grouped'}; +avp_name(1303, 10415) -> {'RAN-Start-Time', 'Time'}; +avp_name(3462, 10415) -> + {'Radio-Frequency', 'OctetString'}; +avp_name(3463, 10415) -> + {'Radio-Parameter-Set-Info', 'Grouped'}; +avp_name(3464, 10415) -> + {'Radio-Parameter-Set-Values', 'OctetString'}; +avp_name(3465, 10415) -> + {'Radio-Resources-Indicator', 'Integer32'}; +avp_name(3937, 10415) -> + {'Rate-Control-Max-Message-Size', 'Unsigned32'}; +avp_name(3938, 10415) -> + {'Rate-Control-Max-Rate', 'Unsigned32'}; +avp_name(3939, 10415) -> + {'Rate-Control-Time-Unit', 'Unsigned32'}; +avp_name(2058, 10415) -> {'Rate-Element', 'Grouped'}; +avp_name(1222, 10415) -> + {'Read-Reply-Report-Requested', 'Enumerated'}; +avp_name(2305, 10415) -> + {'Real-Time-Tariff-Information', 'Grouped'}; +avp_name(3401, 10415) -> + {'Reason-Header', 'UTF8String'}; +avp_name(1284, 10415) -> + {'Received-Talk-Burst-Time', 'Unsigned32'}; +avp_name(1285, 10415) -> + {'Received-Talk-Burst-Volume', 'Unsigned32'}; +avp_name(1201, 10415) -> + {'Recipient-Address', 'Grouped'}; +avp_name(2026, 10415) -> {'Recipient-Info', 'Grouped'}; +avp_name(2028, 10415) -> + {'Recipient-Received-Address', 'Grouped'}; +avp_name(2010, 10415) -> + {'Recipient-SCCP-Address', 'Address'}; +avp_name(2022, 10415) -> + {'Refund-Information', 'OctetString'}; +avp_name(3925, 10415) -> + {'Related-Change-Condition-Information', 'Grouped'}; +avp_name(2711, 10415) -> + {'Related-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(2712, 10415) -> + {'Related-IMS-Charging-Identifier-Node', 'Address'}; +avp_name(3926, 10415) -> {'Related-Trigger', 'Grouped'}; +avp_name(2706, 10415) -> + {'Relationship-Mode', 'Enumerated'}; +avp_name(4411, 10415) -> + {'Relay-IP-address', 'Address'}; +avp_name(2021, 10415) -> + {'Remaining-Balance', 'Grouped'}; +avp_name(1223, 10415) -> + {'Reply-Applic-ID', 'UTF8String'}; +avp_name(2011, 10415) -> + {'Reply-Path-Requested', 'Enumerated'}; +avp_name(872, 10415) -> + {'Reporting-Reason', 'Enumerated'}; +avp_name(3436, 10415) -> + {'Requested-PLMN-Identifier', 'UTF8String'}; +avp_name(1251, 10415) -> + {'Requested-Party-Address', 'UTF8String'}; +avp_name(3437, 10415) -> + {'Requestor-PLMN-Identifier', 'UTF8String'}; +avp_name(829, 10415) -> {'Role-Of-Node', 'Enumerated'}; +avp_name(3438, 10415) -> + {'Role-Of-ProSe-Function', 'Enumerated'}; +avp_name(3403, 10415) -> + {'Route-Header-Received', 'UTF8String'}; +avp_name(3404, 10415) -> + {'Route-Header-Transmitted', 'UTF8String'}; +avp_name(3940, 10415) -> {'SCS-AS-Address', 'Grouped'}; +avp_name(3941, 10415) -> {'SCS-Address', 'Address'}; +avp_name(3942, 10415) -> + {'SCS-Realm', 'DiameterIdentity'}; +avp_name(1275, 10415) -> + {'SDP-Answer-Timestamp', 'Time'}; +avp_name(843, 10415) -> + {'SDP-Media-Component', 'Grouped'}; +avp_name(845, 10415) -> + {'SDP-Media-Description', 'UTF8String'}; +avp_name(844, 10415) -> + {'SDP-Media-Name', 'UTF8String'}; +avp_name(1274, 10415) -> + {'SDP-Offer-Timestamp', 'Time'}; +avp_name(842, 10415) -> + {'SDP-Session-Description', 'UTF8String'}; +avp_name(1273, 10415) -> {'SDP-TimeStamps', 'Grouped'}; +avp_name(2036, 10415) -> {'SDP-Type', 'Enumerated'}; +avp_name(1228, 10415) -> {'SGSN-Address', 'Address'}; +avp_name(2067, 10415) -> {'SGW-Address', 'Address'}; +avp_name(2065, 10415) -> {'SGW-Change', 'Enumerated'}; +avp_name(3931, 10415) -> + {'SGi-PtP-Tunnelling-Method', 'Enumerated'}; +avp_name(824, 10415) -> {'SIP-Method', 'UTF8String'}; +avp_name(834, 10415) -> + {'SIP-Request-Timestamp', 'Time'}; +avp_name(2301, 10415) -> + {'SIP-Request-Timestamp-Fraction', 'Unsigned32'}; +avp_name(835, 10415) -> + {'SIP-Response-Timestamp', 'Time'}; +avp_name(2302, 10415) -> + {'SIP-Response-Timestamp-Fraction', 'Unsigned32'}; +avp_name(3407, 10415) -> + {'SM-Device-Trigger-Indicator', 'Enumerated'}; +avp_name(3405, 10415) -> + {'SM-Device-Trigger-Information', 'Grouped'}; +avp_name(2012, 10415) -> {'SM-Discharge-Time', 'Time'}; +avp_name(2007, 10415) -> + {'SM-Message-Type', 'Enumerated'}; +avp_name(2013, 10415) -> + {'SM-Protocol-ID', 'OctetString'}; +avp_name(3408, 10415) -> + {'SM-Sequence-Number', 'Unsigned32'}; +avp_name(2029, 10415) -> + {'SM-Service-Type', 'Enumerated'}; +avp_name(2014, 10415) -> {'SM-Status', 'OctetString'}; +avp_name(2015, 10415) -> + {'SM-User-Data-Header', 'OctetString'}; +avp_name(2000, 10415) -> {'SMS-Information', 'Grouped'}; +avp_name(2016, 10415) -> {'SMS-Node', 'Enumerated'}; +avp_name(3409, 10415) -> {'SMS-Result', 'Unsigned32'}; +avp_name(2017, 10415) -> {'SMSC-Address', 'Address'}; +avp_name(2059, 10415) -> {'Scale-Factor', 'Grouped'}; +avp_name(1304, 10415) -> + {'Secondary-RAT-Type', 'OctetString'}; +avp_name(848, 10415) -> + {'Served-Party-IP-Address', 'Address'}; +avp_name(2040, 10415) -> + {'Service-Data-Container', 'Grouped'}; +avp_name(855, 10415) -> {'Service-Id', 'UTF8String'}; +avp_name(873, 10415) -> + {'Service-Information', 'Grouped'}; +avp_name(2032, 10415) -> {'Service-Mode', 'Unsigned32'}; +avp_name(863, 10415) -> + {'Service-Specific-Data', 'UTF8String'}; +avp_name(1249, 10415) -> + {'Service-Specific-Info', 'Grouped'}; +avp_name(1257, 10415) -> + {'Service-Specific-Type', 'Unsigned32'}; +avp_name(3929, 10415) -> + {'Serving-Node-Identity', 'DiameterIdentity'}; +avp_name(2047, 10415) -> + {'Serving-Node-Type', 'Enumerated'}; +avp_name(2707, 10415) -> + {'Session-Direction', 'Enumerated'}; +avp_name(2041, 10415) -> {'Start-Time', 'Time'}; +avp_name(3419, 10415) -> {'Start-of-Charging', 'Time'}; +avp_name(2702, 10415) -> + {'Status-AS-Code', 'Enumerated'}; +avp_name(2042, 10415) -> {'Stop-Time', 'Time'}; +avp_name(1202, 10415) -> {'Submission-Time', 'Time'}; +avp_name(2033, 10415) -> + {'Subscriber-Role', 'Enumerated'}; +avp_name(2048, 10415) -> + {'Supplementary-Service', 'Grouped'}; +avp_name(2717, 10415) -> + {'TAD-Identifier', 'Enumerated'}; +avp_name(3903, 10415) -> {'TWAG-Address', 'Address'}; +avp_name(2714, 10415) -> + {'TWAN-User-Location-Info', 'Grouped'}; +avp_name(1255, 10415) -> + {'Talk-Burst-Exchange', 'Grouped'}; +avp_name(1286, 10415) -> + {'Talk-Burst-Time', 'Unsigned32'}; +avp_name(1287, 10415) -> + {'Talk-Burst-Volume', 'Unsigned32'}; +avp_name(4412, 10415) -> + {'Target-IP-Address', 'Address'}; +avp_name(2060, 10415) -> + {'Tariff-Information', 'Grouped'}; +avp_name(2306, 10415) -> {'Tariff-XML', 'UTF8String'}; +avp_name(3413, 10415) -> {'Teleservice', 'OctetString'}; +avp_name(840, 10415) -> + {'Terminating-IOI', 'UTF8String'}; +avp_name(3466, 10415) -> + {'Time-First-Reception', 'Time'}; +avp_name(3467, 10415) -> + {'Time-First-Transmission', 'Time'}; +avp_name(2043, 10415) -> {'Time-First-Usage', 'Time'}; +avp_name(3911, 10415) -> + {'Time-Indicator', 'Unsigned32'}; +avp_name(2044, 10415) -> {'Time-Last-Usage', 'Time'}; +avp_name(1270, 10415) -> + {'Time-Quota-Mechanism', 'Grouped'}; +avp_name(868, 10415) -> + {'Time-Quota-Threshold', 'Unsigned32'}; +avp_name(1271, 10415) -> + {'Time-Quota-Type', 'Enumerated'}; +avp_name(833, 10415) -> {'Time-Stamps', 'Grouped'}; +avp_name(2045, 10415) -> {'Time-Usage', 'Unsigned32'}; +avp_name(1215, 10415) -> {'Token-Text', 'UTF8String'}; +avp_name(2046, 10415) -> + {'Traffic-Data-Volumes', 'Grouped'}; +avp_name(2605, 10415) -> + {'Transcoder-Inserted-Indication', 'Enumerated'}; +avp_name(2701, 10415) -> + {'Transit-IOI-List', 'UTF8String'}; +avp_name(3468, 10415) -> + {'Transmitter-Info', 'Grouped'}; +avp_name(1264, 10415) -> {'Trigger', 'Grouped'}; +avp_name(870, 10415) -> {'Trigger-Type', 'Enumerated'}; +avp_name(851, 10415) -> {'Trunk-Group-Id', 'Grouped'}; +avp_name(1204, 10415) -> {'Type-Number', 'Enumerated'}; +avp_name(3932, 10415) -> + {'UNI-PDU-CP-Only-Flag', 'Enumerated'}; +avp_name(3918, 10415) -> + {'UWAN-User-Location-Info', 'Grouped'}; +avp_name(2061, 10415) -> {'Unit-Cost', 'Grouped'}; +avp_name(1226, 10415) -> + {'Unit-Quota-Threshold', 'Unsigned32'}; +avp_name(4407, 10415) -> + {'Unused-Quota-Timer', 'Unsigned32'}; +avp_name(3439, 10415) -> + {'Usage-Information-Report-Sequence-Number', + 'Integer32'}; +avp_name(2319, 10415) -> + {'User-CSG-Information', 'Grouped'}; +avp_name(1279, 10415) -> + {'User-Participating-Type', 'Enumerated'}; +avp_name(830, 10415) -> + {'User-Session-Id', 'UTF8String'}; +avp_name(3410, 10415) -> {'VCS-Information', 'Grouped'}; +avp_name(3420, 10415) -> {'VLR-Number', 'OctetString'}; +avp_name(3907, 10415) -> {'Variable-Part', 'Grouped'}; +avp_name(3908, 10415) -> + {'Variable-Part-Order', 'Unsigned32'}; +avp_name(3909, 10415) -> + {'Variable-Part-Type', 'Enumerated'}; +avp_name(3910, 10415) -> + {'Variable-Part-Value', 'UTF8String'}; +avp_name(869, 10415) -> + {'Volume-Quota-Threshold', 'Unsigned32'}; +avp_name(1427, 10415) -> + {'APN-OI-Replacement', 'UTF8String'}; +avp_name(1687, 10415) -> {'Emergency-Info', 'Grouped'}; +avp_name(1474, 10415) -> {'GMLC-Number', 'OctetString'}; +avp_name(1489, 10415) -> {'SGSN-Number', 'OctetString'}; +avp_name(486, undefined) -> + {'MIP6-Agent-Info', 'Grouped'}; +avp_name(125, undefined) -> + {'MIP6-Home-Link-Prefix', 'OctetString'}; +avp_name(493, undefined) -> + {'Service-Selection', 'UTF8String'}; +avp_name(1050, 10415) -> {'AN-GW-Address', 'Address'}; +avp_name(2811, 10415) -> {'AN-GW-Status', 'Enumerated'}; +avp_name(1040, 10415) -> + {'APN-Aggregate-Max-Bitrate-DL', 'Unsigned32'}; +avp_name(1041, 10415) -> + {'APN-Aggregate-Max-Bitrate-UL', 'Unsigned32'}; +avp_name(1022, 10415) -> + {'Access-Network-Charging-Identifier-Gx', 'Grouped'}; +avp_name(1034, 10415) -> + {'Allocation-Retention-Priority', 'Grouped'}; +avp_name(1098, 10415) -> + {'Application-Detection-Information', 'Grouped'}; +avp_name(1023, 10415) -> + {'Bearer-Control-Mode', 'Enumerated'}; +avp_name(1020, 10415) -> + {'Bearer-Identifier', 'OctetString'}; +avp_name(1021, 10415) -> + {'Bearer-Operation', 'Enumerated'}; +avp_name(1000, 10415) -> {'Bearer-Usage', 'Enumerated'}; +avp_name(1071, 10415) -> + {'CSG-Information-Reporting', 'Enumerated'}; +avp_name(1073, 10415) -> + {'Charging-Correlation-Indicator', 'Enumerated'}; +avp_name(1004, 10415) -> + {'Charging-Rule-Base-Name', 'UTF8String'}; +avp_name(1003, 10415) -> + {'Charging-Rule-Definition', 'Grouped'}; +avp_name(1001, 10415) -> + {'Charging-Rule-Install', 'Grouped'}; +avp_name(1005, 10415) -> + {'Charging-Rule-Name', 'OctetString'}; +avp_name(1002, 10415) -> + {'Charging-Rule-Remove', 'Grouped'}; +avp_name(1018, 10415) -> + {'Charging-Rule-Report', 'Grouped'}; +avp_name(1035, 10415) -> {'CoA-IP-Address', 'Address'}; +avp_name(1039, 10415) -> {'CoA-Information', 'Grouped'}; +avp_name(2818, 10415) -> + {'Conditional-APN-Aggregate-Max-Bitrate', 'Grouped'}; +avp_name(1082, 10415) -> + {'Credit-Management-Status', 'Unsigned32'}; +avp_name(1049, 10415) -> + {'Default-EPS-Bearer-QoS', 'Grouped'}; +avp_name(2816, 10415) -> + {'Default-QoS-Information', 'Grouped'}; +avp_name(2817, 10415) -> + {'Default-QoS-Name', 'UTF8String'}; +avp_name(1033, 10415) -> + {'Event-Report-Indication', 'Grouped'}; +avp_name(1006, 10415) -> + {'Event-Trigger', 'Enumerated'}; +avp_name(2825, 10415) -> + {'Fixed-User-Location-Info', 'Grouped'}; +avp_name(1080, 10415) -> + {'Flow-Direction', 'Enumerated'}; +avp_name(1058, 10415) -> + {'Flow-Information', 'Grouped'}; +avp_name(1057, 10415) -> {'Flow-Label', 'OctetString'}; +avp_name(1025, 10415) -> + {'Guaranteed-Bitrate-DL', 'Unsigned32'}; +avp_name(1026, 10415) -> + {'Guaranteed-Bitrate-UL', 'Unsigned32'}; +avp_name(2804, 10415) -> + {'HeNB-Local-IP-Address', 'Address'}; +avp_name(2827, 10415) -> + {'IP-CAN-Session-Charging-Scope', 'Enumerated'}; +avp_name(1027, 10415) -> {'IP-CAN-Type', 'Enumerated'}; +avp_name(1007, 10415) -> + {'Metering-Method', 'Enumerated'}; +avp_name(1066, 10415) -> + {'Monitoring-Key', 'OctetString'}; +avp_name(2810, 10415) -> {'Monitoring-Time', 'Time'}; +avp_name(2809, 10415) -> + {'Mute-Notification', 'Enumerated'}; +avp_name(2824, 10415) -> + {'NetLoc-Access-Support', 'Unsigned32'}; +avp_name(1024, 10415) -> + {'Network-Request-Support', 'Enumerated'}; +avp_name(1008, 10415) -> {'Offline', 'Enumerated'}; +avp_name(1009, 10415) -> {'Online', 'Enumerated'}; +avp_name(1019, 10415) -> + {'PCC-Rule-Status', 'Enumerated'}; +avp_name(2826, 10415) -> + {'PCSCF-Restoration-Indication', 'Unsigned32'}; +avp_name(1065, 10415) -> + {'PDN-Connection-ID', 'OctetString'}; +avp_name(1099, 10415) -> + {'PS-to-CS-Session-Continuity', 'Enumerated'}; +avp_name(1059, 10415) -> + {'Packet-Filter-Content', 'IPFilterRule'}; +avp_name(1060, 10415) -> + {'Packet-Filter-Identifier', 'OctetString'}; +avp_name(1061, 10415) -> + {'Packet-Filter-Information', 'Grouped'}; +avp_name(1062, 10415) -> + {'Packet-Filter-Operation', 'Enumerated'}; +avp_name(1072, 10415) -> + {'Packet-Filter-Usage', 'Enumerated'}; +avp_name(1047, 10415) -> + {'Pre-emption-Capability', 'Enumerated'}; +avp_name(1048, 10415) -> + {'Pre-emption-Vulnerability', 'Enumerated'}; +avp_name(1010, 10415) -> {'Precedence', 'Unsigned32'}; +avp_name(2820, 10415) -> + {'Presence-Reporting-Area-Elements-List', + 'OctetString'}; +avp_name(2821, 10415) -> + {'Presence-Reporting-Area-Identifier', 'OctetString'}; +avp_name(2822, 10415) -> + {'Presence-Reporting-Area-Information', 'Grouped'}; +avp_name(2823, 10415) -> + {'Presence-Reporting-Area-Status', 'Unsigned32'}; +avp_name(1046, 10415) -> + {'Priority-Level', 'Unsigned32'}; +avp_name(1028, 10415) -> + {'QoS-Class-Identifier', 'Enumerated'}; +avp_name(1016, 10415) -> {'QoS-Information', 'Grouped'}; +avp_name(1029, 10415) -> + {'QoS-Negotiation', 'Enumerated'}; +avp_name(1030, 10415) -> {'QoS-Upgrade', 'Enumerated'}; +avp_name(2819, 10415) -> + {'RAN-NAS-Release-Cause', 'OctetString'}; +avp_name(1032, 10415) -> {'RAT-Type', 'Enumerated'}; +avp_name(1085, 10415) -> + {'Redirect-Information', 'Grouped'}; +avp_name(1086, 10415) -> + {'Redirect-Support', 'Enumerated'}; +avp_name(1011, 10415) -> + {'Reporting-Level', 'Enumerated'}; +avp_name(1063, 10415) -> + {'Resource-Allocation-Notification', 'Enumerated'}; +avp_name(1042, 10415) -> {'Revalidation-Time', 'Time'}; +avp_name(1078, 10415) -> {'Routing-Filter', 'Grouped'}; +avp_name(1079, 10415) -> + {'Routing-IP-Address', 'Address'}; +avp_name(1076, 10415) -> + {'Routing-Rule-Definition', 'Grouped'}; +avp_name(1077, 10415) -> + {'Routing-Rule-Identifier', 'OctetString'}; +avp_name(1081, 10415) -> + {'Routing-Rule-Install', 'Grouped'}; +avp_name(1075, 10415) -> + {'Routing-Rule-Remove', 'Grouped'}; +avp_name(1043, 10415) -> + {'Rule-Activation-Time', 'Time'}; +avp_name(1044, 10415) -> + {'Rule-Deactivation-Time', 'Time'}; +avp_name(1031, 10415) -> + {'Rule-Failure-Code', 'Enumerated'}; +avp_name(1056, 10415) -> + {'Security-Parameter-Index', 'OctetString'}; +avp_name(1045, 10415) -> + {'Session-Release-Cause', 'Enumerated'}; +avp_name(1088, 10415) -> + {'TDF-Application-Identifier', 'OctetString'}; +avp_name(2802, 10415) -> + {'TDF-Application-Instance-Identifier', 'OctetString'}; +avp_name(1089, 10415) -> + {'TDF-Destination-Host', 'DiameterIdentity'}; +avp_name(1090, 10415) -> + {'TDF-Destination-Realm', 'DiameterIdentity'}; +avp_name(1091, 10415) -> {'TDF-IP-Address', 'Address'}; +avp_name(1087, 10415) -> {'TDF-Information', 'Grouped'}; +avp_name(1012, 10415) -> {'TFT-Filter', 'IPFilterRule'}; +avp_name(1013, 10415) -> + {'TFT-Packet-Filter-Information', 'Grouped'}; +avp_name(1014, 10415) -> + {'ToS-Traffic-Class', 'OctetString'}; +avp_name(1036, 10415) -> + {'Tunnel-Header-Filter', 'IPFilterRule'}; +avp_name(1037, 10415) -> + {'Tunnel-Header-Length', 'Unsigned32'}; +avp_name(1038, 10415) -> + {'Tunnel-Information', 'Grouped'}; +avp_name(2806, 10415) -> + {'UDP-Source-Port', 'Unsigned32'}; +avp_name(2805, 10415) -> + {'UE-Local-IP-Address', 'Address'}; +avp_name(1067, 10415) -> + {'Usage-Monitoring-Information', 'Grouped'}; +avp_name(1068, 10415) -> + {'Usage-Monitoring-Level', 'Enumerated'}; +avp_name(1069, 10415) -> + {'Usage-Monitoring-Report', 'Enumerated'}; +avp_name(1070, 10415) -> + {'Usage-Monitoring-Support', 'Enumerated'}; +avp_name(2812, 10415) -> + {'User-Location-Info-Time', 'Time'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('ULR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'RAT-Type', 1}, + {'ULR-Flags', 1}, + {'Visited-PLMN-Id', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Terminal-Information', {0, 1}}, + {'UE-SRVCC-Capability', {0, 1}}, + {'SGSN-Number', {0, 1}}, + {'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + {0, 1}}, + {'GMLC-Address', {0, 1}}, + {'Equivalent-PLMN-List', {0, 1}}, + {'MME-Number-for-MT-SMS', {0, 1}}, + {'SMS-Register-Request', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Active-APN', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ULA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Error-Diagnostic', {0, 1}}, + {'ULA-Flags', {0, 1}}, + {'Subscription-Data', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('AIR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Visited-PLMN-Id', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Requested-EUTRAN-Authentication-Info', {0, 1}}, + {'Requested-UTRAN-GERAN-Authentication-Info', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('AIA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Error-Diagnostic', {0, 1}}, + {'Authentication-Info', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('CLR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Host', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Cancellation-Type', 1}, + {'Supported-Features', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'CLR-Flags', {0, 1}}, + {'AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('CLA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('IDR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Host', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Subscription-Data', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'IDR-Flags', {0, 1}}, + {'AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('IDA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'IMS-Voice-Over-PS-Sessions-Supported', {0, 1}}, + {'Last-UE-Activity-Time', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'IDA-Flags', {0, 1}}, + {'EPS-User-State', {0, 1}}, + {'EPS-Location-Information', {0, 1}}, + {'Local-Time-Zone', {0, 1}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('DSR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Host', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'DSR-Flags', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Context-Identifier', {0, '*'}}, + {'Trace-Reference', {0, 1}}, + {'TS-Code', {0, '*'}}, + {'SS-Code', {0, '*'}}, + {'AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('DSA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'DSA-Flags', {0, 1}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('PUR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'PUR-Flags', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('PUA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'PUA-Flags', {0, 1}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('RSR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Host', 1}, + {'Destination-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'User-Id', {0, '*'}}, + {'AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('RSA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('NOR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Terminal-Information', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'Context-Identifier', {0, 1}}, + {'Service-Selection', {0, 1}}, + {'Alert-Reason', {0, 1}}, + {'UE-SRVCC-Capability', {0, 1}}, + {'NOR-Flags', {0, 1}}, + {'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + {0, 1}}, + {'AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('NOA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('ECR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Terminal-Information', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'User-Name', {0, 1}}, + {'AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('ECA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Equipment-Status', {0, 1}}, + {'AVP', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}]; +avp_arity('Subscription-Data') -> + [{'Subscriber-Status', {0, 1}}, + {'MSISDN', {0, 1}}, + {'A-MSISDN', {0, 1}}, + {'STN-SR', {0, 1}}, + {'ICS-Indicator', {0, 1}}, + {'Network-Access-Mode', {0, 1}}, + {'Operator-Determined-Barring', {0, 1}}, + {'HPLMN-ODB', {0, 1}}, + {'Regional-Subscription-Zone-Code', {0, 10}}, + {'Access-Restriction-Data', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'LCS-Info', {0, 1}}, + {'Teleservice-List', {0, 1}}, + {'Call-Barring-Info', {0, '*'}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-Configuration-Profile', {0, 1}}, + {'RAT-Frequency-Selection-Priority-ID', {0, 1}}, + {'Trace-Data', {0, 1}}, + {'GPRS-Subscription-Data', {0, 1}}, + {'CSG-Subscription-Data', {0, '*'}}, + {'Roaming-Restricted-Due-To-Unsupported-Feature', + {0, 1}}, + {'Subscribed-Periodic-RAU-TAU-Timer', {0, 1}}, + {'MPS-Priority', {0, 1}}, + {'VPLMN-LIPA-Allowed', {0, 1}}, + {'Relay-Node-Indicator', {0, 1}}, + {'MDT-User-Consent', {0, 1}}, + {'Subscribed-VSRVCC', {0, 1}}, + {'Subscription-Data-Flags', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Terminal-Information') -> + [{'IMEI', {0, 1}}, + {'3GPP2-MEID', {0, 1}}, + {'Software-Version', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-EUTRAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Authentication-Info') -> + [{'E-UTRAN-Vector', {0, '*'}}, + {'UTRAN-Vector', {0, '*'}}, + {'GERAN-Vector', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('E-UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'KASME', 1}, + {'AVP', {0, '*'}}]; +avp_arity('UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'Confidentiality-Key', 1}, + {'Integrity-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('GERAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'SRES', 1}, + {'Kc', 1}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration-Profile') -> + [{'Context-Identifier', 1}, + {'All-APN-Configurations-Included-Indicator', 1}, + {'APN-Configuration', {1, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration') -> + [{'Context-Identifier', 1}, + {'PDN-Type', 1}, + {'Service-Selection', 1}, + {'Served-Party-IP-Address', {0, 2}}, + {'EPS-Subscribed-QoS-Profile', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'PDN-GW-Allocation-Type', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Subscribed-QoS-Profile') -> + [{'QoS-Class-Identifier', 1}, + {'Allocation-Retention-Priority', 1}, + {'AVP', {0, '*'}}]; +avp_arity('AMBR') -> + [{'Max-Requested-Bandwidth-UL', 1}, + {'Max-Requested-Bandwidth-DL', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Trace-Data') -> + [{'Trace-Reference', 1}, + {'Trace-Depth', 1}, + {'Trace-NE-Type-List', 1}, + {'Trace-Event-List', 1}, + {'Trace-Collection-Entity', 1}, + {'Trace-Interface-List', {0, 1}}, + {'OMC-Id', {0, 1}}, + {'MDT-Configuration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('GPRS-Subscription-Data') -> + [{'Complete-Data-List-Included-Indicator', 1}, + {'PDP-Context', {1, 50}}, + {'AVP', {0, '*'}}]; +avp_arity('PDP-Context') -> + [{'Context-Identifier', 1}, + {'PDP-Type', 1}, + {'QoS-Subscribed', 1}, + {'Service-Selection', 1}, + {'PDP-Address', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Ext-PDP-Type', {0, 1}}, + {'Ext-PDP-Address', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'Service-Selection', {0, '*'}}, + {'Visited-PLMN-Id', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Specific-APN-Info') -> + [{'Service-Selection', 1}, + {'MIP6-Agent-Info', 1}, + {'Visited-Network-Identifier', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-Info') -> + [{'GMLC-Number', {0, '*'}}, + {'LCS-PrivacyException', {0, '*'}}, + {'MO-LR', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-PrivacyException') -> + [{'SS-Code', 1}, + {'SS-Status', 1}, + {'Notification-To-UE-User', {0, 1}}, + {'External-Client', {0, '*'}}, + {'PLMN-Client', {0, '*'}}, + {'Service-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('External-Client') -> + [{'Client-Identity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Service-Type') -> + [{'ServiceTypeIdentity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MO-LR') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('Teleservice-List') -> + [{'TS-Code', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('Call-Barring-Info') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('EPS-User-State') -> + [{'MME-User-State', {0, 1}}, + {'SGSN-User-State', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Location-Information') -> + [{'MME-Location-Information', {0, 1}}, + {'SGSN-Location-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MME-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('SGSN-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('MME-Location-Information') -> + [{'E-UTRAN-Cell-Global-Identity', {0, 1}}, + {'Tracking-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SGSN-Location-Information') -> + [{'Cell-Global-Identity', {0, 1}}, + {'Location-Area-Identity', {0, 1}}, + {'Service-Area-Identity', {0, 1}}, + {'Routing-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Active-APN') -> + [{'Context-Identifier', 1}, + {'Service-Selection', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('MDT-Configuration') -> + [{'Job-Type', 1}, + {'Area-Scope', {0, 1}}, + {'List-Of-Measurements', {0, 1}}, + {'Reporting-Trigger', {0, 1}}, + {'Report-Interval', {0, 1}}, + {'Report-Amount', {0, 1}}, + {'Event-Threshold-RSRP', {0, 1}}, + {'Event-Threshold-RSRQ', {0, 1}}, + {'Logging-Interval', {0, 1}}, + {'Logging-Duration', {0, 1}}, + {'Measurement-Period-LTE', {0, 1}}, + {'Measurement-Period-UMTS', {0, 1}}, + {'Positioning-Method', {0, 1}}, + {'Measurement-Quantity', {0, 1}}, + {'Event-Threshold-Event-1F', {0, 1}}, + {'Event-Threshold-Event-1I', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Area-Scope') -> + [{'Cell-Global-Identity', {0, '*'}}, + {'E-UTRAN-Cell-Global-Identity', {0, '*'}}, + {'Routing-Area-Identity', {0, '*'}}, + {'Location-Area-Identity', {0, '*'}}, + {'Tracking-Area-Identity', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Equivalent-PLMN-List') -> + [{'Visited-PLMN-Id', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('VPLMN-CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Local-Time-Zone') -> + [{'Time-Zone', 1}, + {'Daylight-Saving-Time', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Flows') -> + [{'Media-Component-Number', 1}, + {'Flow-Number', {0, '*'}}, + {'Final-Unit-Action', {0, 1}}]; +avp_arity('Charging-Information') -> + [{'Primary-Event-Charging-Function-Name', {0, 1}}, + {'Secondary-Event-Charging-Function-Name', {0, 1}}, + {'Primary-Charging-Collection-Function-Name', {0, 1}}, + {'Secondary-Charging-Collection-Function-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Features') -> + [{'Vendor-Id', 1}, + {'Feature-List-ID', 1}, + {'Feature-List', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Applications') -> + [{'Auth-Application-Id', {0, '*'}}, + {'Acct-Application-Id', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Auth-Data-Item') -> + [{'SIP-Item-Number', {0, 1}}, + {'SIP-Authentication-Scheme', {0, 1}}, + {'SIP-Authenticate', {0, 1}}, + {'SIP-Authorization', {0, 1}}, + {'SIP-Authentication-Context', {0, 1}}, + {'Confidentiality-Key', {0, 1}}, + {'Integrity-Key', {0, 1}}, + {'SIP-Digest-Authenticate', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Line-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Deregistration-Reason') -> + [{'Reason-Code', 1}, + {'Reason-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Digest-Authenticate') -> + [{'Digest-Realm', 1}, + {'Digest-QoP', 1}, + {'Digest-HA1', 1}, + {'Digest-Algorithm', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Serving-Node') -> + [{'SGSN-Number', {0, 1}}, + {'SGSN-Name', {0, 1}}, + {'SGSN-Realm', {0, 1}}, + {'MME-Name', {0, 1}}, + {'MME-Realm', {0, 1}}, + {'MSC-Number', {0, 1}}, + {'3GPP-AAA-Server-Name', {0, 1}}, + {'LCS-Capabilities-Sets', {0, 1}}, + {'GMLC-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Additional-Serving-Node') -> + [{'SGSN-Number', {0, 1}}, + {'MME-Name', {0, 1}}, + {'SGSN-Name', {0, 1}}, + {'SGSN-Realm', {0, 1}}, + {'MME-Realm', {0, 1}}, + {'MSC-Number', {0, 1}}, + {'3GPP-AAA-Server-Name', {0, 1}}, + {'LCS-Capabilities-Sets', {0, 1}}, + {'GMLC-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Info-Change') -> + [{'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Access-Transfer-Information') -> + [{'Access-Transfer-Type', {0, 1}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Inter-UE-Transfer', {0, 1}}, + {'User-Equipment-Info', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Accumulated-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Additional-Content-Information') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}]; +avp_arity('Address-Domain') -> + [{'Domain-Name', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}]; +avp_arity('AF-Correlation-Information') -> + [{'AF-Charging-Identifier', 1}, {'Flows', {0, '*'}}]; +avp_arity('Announcement-Information') -> + [{'Announcement-Identifier', 1}, + {'Variable-Part', {0, '*'}}, + {'Time-Indicator', {0, 1}}, + {'Quota-Indicator', {0, 1}}, + {'Announcement-Order', {0, 1}}, + {'Play-Alternative', {0, 1}}, + {'Privacy-Indicator', {0, 1}}, + {'Language', {0, 1}}]; +avp_arity('AoC-Cost-Information') -> + [{'Accumulated-Cost', {0, 1}}, + {'Incremental-Cost', {0, '*'}}, + {'Currency-Code', {0, 1}}]; +avp_arity('AoC-Information') -> + [{'AoC-Cost-Information', {0, 1}}, + {'Tariff-Information', {0, 1}}, + {'AoC-Subscription-Information', {0, 1}}]; +avp_arity('AoC-Service') -> + [{'AoC-Service-Obligatory-Type', {0, 1}}, + {'AoC-Service-Type', {0, 1}}]; +avp_arity('AoC-Subscription-Information') -> + [{'AoC-Service', {0, '*'}}, + {'AoC-Format', {0, 1}}, + {'Preferred-AoC-Currency', {0, 1}}]; +avp_arity('APN-Rate-Control') -> + [{'APN-Rate-Control-Uplink', {0, 1}}, + {'APN-Rate-Control-Downlink', {0, 1}}]; +avp_arity('APN-Rate-Control-Downlink') -> + [{'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}, + {'Rate-Control-Max-Message-Size', {0, 1}}]; +avp_arity('APN-Rate-Control-Uplink') -> + [{'Additional-Exception-Reports', {0, 1}}, + {'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}]; +avp_arity('Application-Server-Information') -> + [{'Application-Server', {0, 1}}, + {'Application-Provided-Called-Party-Address', {0, '*'}}, + {'Status-AS-Code', {0, 1}}]; +avp_arity('Basic-Service-Code') -> + [{'Bearer-Service', {0, 1}}, {'Teleservice', {0, 1}}]; +avp_arity('Called-Identity-Change') -> + [{'Called-Identity', {0, 1}}, {'Change-Time', {0, 1}}]; +avp_arity('Coverage-Info') -> + [{'Coverage-Status', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Location-Info', {0, '*'}}]; +avp_arity('CPDT-Information') -> + [{'Serving-Node-Identity', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'NIDD-Submission', {0, 1}}]; +avp_arity('Current-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('Destination-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Early-Media-Description') -> + [{'SDP-TimeStamps', {0, 1}}, + {'SDP-Media-Component', {0, '*'}}, + {'SDP-Session-Description', {0, '*'}}]; +avp_arity('Enhanced-Diagnostics') -> + [{'RAN-NAS-Release-Cause', {0, '*'}}]; +avp_arity('Envelope') -> + [{'Envelope-Start-Time', 1}, + {'Envelope-End-Time', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}]; +avp_arity('Event-Type') -> + [{'SIP-Method', {0, 1}}, + {'Event', {0, 1}}, + {'Expires', {0, 1}}]; +avp_arity('Incremental-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('IMS-Information') -> + [{'Node-Functionality', 1}, + {'Event-Type', {0, 1}}, + {'Role-Of-Node', {0, 1}}, + {'User-Session-Id', {0, 1}}, + {'Outgoing-Session-Id', {0, 1}}, + {'Session-Priority', {0, 1}}, + {'Calling-Party-Address', {0, '*'}}, + {'Called-Party-Address', {0, 1}}, + {'Called-Asserted-Identity', {0, '*'}}, + {'Called-Identity-Change', {0, 1}}, + {'Number-Portability-Routing-Information', {0, 1}}, + {'Carrier-Select-Routing-Information', {0, 1}}, + {'Alternate-Charged-Party-Address', {0, 1}}, + {'Requested-Party-Address', {0, '*'}}, + {'Associated-URI', {0, '*'}}, + {'Time-Stamps', {0, 1}}, + {'Application-Server-Information', {0, '*'}}, + {'Inter-Operator-Identifier', {0, '*'}}, + {'Transit-IOI-List', {0, '*'}}, + {'IMS-Charging-Identifier', {0, 1}}, + {'SDP-Session-Description', {0, '*'}}, + {'SDP-Media-Component', {0, '*'}}, + {'Served-Party-IP-Address', {0, 1}}, + {'Trunk-Group-Id', {0, 1}}, + {'Bearer-Service', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Service-Specific-Info', {0, '*'}}, + {'Message-Body', {0, '*'}}, + {'Cause-Code', {0, 1}}, + {'Reason-Header', {0, '*'}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Early-Media-Description', {0, '*'}}, + {'IMS-Communication-Service-Identifier', {0, 1}}, + {'IMS-Application-Reference-Identifier', {0, 1}}, + {'Online-Charging-Flag', {0, 1}}, + {'Real-Time-Tariff-Information', {0, 1}}, + {'Account-Expiration', {0, 1}}, + {'Initial-IMS-Charging-Identifier', {0, 1}}, + {'NNI-Information', {0, '*'}}, + {'From-Address', {0, 1}}, + {'IMS-Emergency-Indicator', {0, 1}}, + {'IMS-Visited-Network-Identifier', {0, 1}}, + {'Access-Network-Info-Change', {0, '*'}}, + {'Access-Transfer-Information', {0, '*'}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Route-Header-Received', {0, 1}}, + {'Route-Header-Transmitted', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'TAD-Identifier', {0, 1}}, + {'FE-Identifier-List', {0, 1}}]; +avp_arity('Inter-Operator-Identifier') -> + [{'Originating-IOI', {0, 1}}, + {'Terminating-IOI', {0, 1}}]; +avp_arity('ISUP-Cause') -> + [{'ISUP-Cause-Location', {0, 1}}, + {'ISUP-Cause-Value', {0, 1}}, + {'ISUP-Cause-Diagnostics', {0, 1}}]; +avp_arity('LCS-Client-ID') -> + [{'LCS-Client-Type', {0, 1}}, + {'LCS-Client-External-ID', {0, 1}}, + {'LCS-Client-Dialed-By-MS', {0, 1}}, + {'LCS-Client-Name', {0, 1}}, + {'LCS-APN', {0, 1}}, + {'LCS-Requestor-ID', {0, 1}}]; +avp_arity('LCS-Client-Name') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Name-String', {0, 1}}, + {'LCS-Format-Indicator', {0, 1}}]; +avp_arity('LCS-Information') -> + [{'LCS-Client-ID', {0, 1}}, + {'Location-Type', {0, 1}}, + {'Location-Estimate', {0, 1}}, + {'Positioning-Data', {0, 1}}, + {'3GPP-IMSI', {0, 1}}, + {'MSISDN', {0, 1}}]; +avp_arity('LCS-Requestor-ID') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Requestor-ID-String', {0, 1}}]; +avp_arity('Location-Info') -> + [{'3GPP-User-Location-Info', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Location-Type') -> + [{'Location-Estimate-Type', {0, 1}}, + {'Deferred-Location-Event-Type', {0, 1}}]; +avp_arity('MBMS-Information') -> + [{'TMGI', {0, 1}}, + {'MBMS-User-Service-Type', {0, 1}}, + {'File-Repair-Supported', {0, 1}}, + {'MBMS-2G-3G-Indicator', {0, 1}}, + {'MBMS-Service-Area', {0, '*'}}, + {'MBMS-Session-Identity', {0, 1}}, + {'CN-IP-Multicast-Distribution', {0, 1}}, + {'MBMS-GW-Address', {0, 1}}, + {'MBMS-Charged-Party', {0, 1}}, + {'MSISDN', {0, '*'}}]; +avp_arity('Message-Body') -> + [{'Content-Type', 1}, + {'Content-Length', 1}, + {'Content-Disposition', {0, 1}}, + {'Originator', {0, 1}}]; +avp_arity('Message-Class') -> + [{'Class-Identifier', {0, 1}}, {'Token-Text', {0, 1}}]; +avp_arity('MM-Content-Type') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}, + {'Additional-Content-Information', {0, '*'}}]; +avp_arity('MMS-Information') -> + [{'Originator-Address', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Submission-Time', {0, 1}}, + {'MM-Content-Type', {0, 1}}, + {'Priority', {0, 1}}, + {'Message-ID', {0, 1}}, + {'Message-Type', {0, 1}}, + {'Message-Size', {0, 1}}, + {'Message-Class', {0, 1}}, + {'Delivery-Report-Requested', {0, 1}}, + {'Read-Reply-Report-Requested', {0, 1}}, + {'MMBox-Storage-Requested', {0, 1}}, + {'Applic-ID', {0, 1}}, + {'Reply-Applic-ID', {0, 1}}, + {'Aux-Applic-Info', {0, 1}}, + {'Content-Class', {0, 1}}, + {'DRM-Content', {0, 1}}, + {'Adaptations', {0, 1}}]; +avp_arity('MMTel-Information') -> + [{'Supplementary-Service', {0, '*'}}]; +avp_arity('Monitoring-Event-Information') -> + [{'Monitoring-Event-Functionality', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Configuration-Activity', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Monitoring-Event-Report-Data', {0, '*'}}]; +avp_arity('Monitoring-Event-Report-Data') -> + [{'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Report-Number', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Subscription-Id', {0, 1}}]; +avp_arity('Next-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('NIDD-Submission') -> + [{'Submission-Time', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}]; +avp_arity('NNI-Information') -> + [{'Session-Direction', {0, 1}}, + {'NNI-Type', {0, 1}}, + {'Relationship-Mode', {0, 1}}, + {'Neighbour-Node-Address', {0, 1}}]; +avp_arity('Offline-Charging') -> + [{'Quota-Consumption-Time', {0, 1}}, + {'Time-Quota-Mechanism', {0, 1}}, + {'Envelope-Reporting', {0, 1}}, + {'Multiple-Services-Credit-Control', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Originator-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Originator-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Originator-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Participant-Group') -> + [{'Called-Party-Address', {0, 1}}, + {'Participant-Access-Priority', {0, 1}}, + {'User-Participating-Type', {0, 1}}]; +avp_arity('PoC-Information') -> + [{'PoC-Server-Role', {0, 1}}, + {'PoC-Session-Type', {0, 1}}, + {'PoC-User-Role', {0, 1}}, + {'PoC-Session-Initiation-Type', {0, 1}}, + {'PoC-Event-Type', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participants-Involved', {0, '*'}}, + {'Participant-Group', {0, '*'}}, + {'Talk-Burst-Exchange', {0, '*'}}, + {'PoC-Controlling-Address', {0, 1}}, + {'PoC-Group-Name', {0, 1}}, + {'PoC-Session-Id', {0, 1}}, + {'Charged-Party', {0, 1}}]; +avp_arity('PoC-User-Role') -> + [{'PoC-User-Role-IDs', {0, 1}}, + {'PoC-User-Role-Info-Units', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Information') -> + [{'Announcing-UE-HPLMN-Identifier', {0, 1}}, + {'Announcing-UE-VPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-HPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-VPLMN-Identifier', {0, 1}}, + {'Role-Of-ProSe-Function', {0, 1}}, + {'ProSe-3rd-Party-Application-ID', {0, 1}}, + {'Application-Specific-Data', {0, 1}}, + {'ProSe-Event-Type', {0, 1}}, + {'ProSe-Direct-Discovery-Model', {0, 1}}, + {'ProSe-Function-IP-Address', {0, 1}}, + {'ProSe-Role-Of-UE', {0, 1}}, + {'ProSe-Request-Timestamp', {0, 1}}, + {'PC3-Control-Protocol-Cause', {0, 1}}, + {'Monitoring-UE-Identifier', {0, 1}}, + {'Requestor-PLMN-Identifier', {0, 1}}, + {'Requested-PLMN-Identifier', {0, 1}}, + {'ProSe-Range-Class', {0, 1}}, + {'Proximity-Alert-Indication', {0, 1}}, + {'Proximity-Alert-Timestamp', {0, 1}}, + {'Proximity-Cancellation-Timestamp', {0, 1}}, + {'ProSe-Reason-For-Cancellation', {0, 1}}, + {'PC3-EPC-Control-Protocol-Cause', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}, + {'ProSe-Source-IP-Address', {0, 1}}, + {'Layer-2-Group-ID', {0, 1}}, + {'ProSe-Group-IP-Multicast-Address', {0, 1}}, + {'Coverage-Info', {0, '*'}}, + {'Radio-Parameter-Set-Info', {0, '*'}}, + {'Transmitter-Info', {0, '*'}}, + {'Time-First-Transmission', {0, 1}}, + {'Time-First-Reception', {0, 1}}, + {'ProSe-Direct-Communication-Transmission-Data-Container', + {0, '*'}}, + {'ProSe-Direct-Communication-Reception-Data-Container', + {0, '*'}}, + {'Announcing-PLMN-ID', {0, 1}}, + {'ProSe-Target-Layer-2-ID', {0, 1}}, + {'Relay-IP-address', {0, 1}}, + {'ProSe-UE-to-Network-Relay-UE-ID', {0, 1}}, + {'Target-IP-Address', {0, 1}}, + {'PC5-Radio-Technology', {0, 1}}]; +avp_arity('PS-Furnish-Charging-Information') -> + [{'3GPP-Charging-Id', 1}, + {'PS-Free-Format-Data', 1}, + {'PS-Append-Free-Format-Data', {0, 1}}]; +avp_arity('PS-Information') -> + [{'3GPP-Charging-Id', {0, 1}}, + {'PDN-Connection-Charging-ID', {0, 1}}, + {'Node-Id', {0, 1}}, + {'3GPP-PDP-Type', {0, 1}}, + {'PDP-Address', {0, '*'}}, + {'PDP-Address-Prefix-Length', {0, 1}}, + {'Dynamic-Address-Flag', {0, 1}}, + {'Dynamic-Address-Flag-Extension', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'SGSN-Address', {0, '*'}}, + {'GGSN-Address', {0, '*'}}, + {'TDF-IP-Address', {0, '*'}}, + {'SGW-Address', {0, '*'}}, + {'TWAG-Address', {0, '*'}}, + {'CG-Address', {0, 1}}, + {'Serving-Node-Type', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}, + {'IMSI-Unauthenticated-Flag', {0, 1}}, + {'3GPP-GGSN-MCC-MNC', {0, 1}}, + {'3GPP-NSAPI', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'3GPP-Session-Stop-Indicator', {0, 1}}, + {'3GPP-Selection-Mode', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Charging-Characteristics-Selection-Mode', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'User-Location-Info-Time', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'TWAN-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'PS-Furnish-Charging-Information', {0, 1}}, + {'PDP-Context-Type', {0, 1}}, + {'Offline-Charging', {0, 1}}, + {'Traffic-Data-Volumes', {0, '*'}}, + {'Service-Data-Container', {0, '*'}}, + {'User-Equipment-Info', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Low-Priority-Indicator', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'Fixed-User-Location-Info', {0, 1}}, + {'CN-Operator-Selection-Entity', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'SGi-PtP-Tunnelling-Method', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}, + {'UNI-PDU-CP-Only-Flag', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'Charging-Per-IP-CAN-Session-Indicator', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}, + {'SCS-AS-Address', {0, 1}}, + {'Unused-Quota-Timer', {0, 1}}, + {'RAN-Secondary-RAT-Usage-Report', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Radio-Parameter-Set-Info') -> + [{'Radio-Parameter-Set-Values', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('RAN-Secondary-RAT-Usage-Report') -> + [{'Secondary-RAT-Type', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}]; +avp_arity('Rate-Element') -> + [{'CC-Unit-Type', 1}, + {'Charge-Reason-Code', {0, 1}}, + {'Unit-Value', {0, 1}}, + {'Unit-Cost', {0, 1}}, + {'Unit-Quota-Threshold', {0, 1}}]; +avp_arity('Real-Time-Tariff-Information') -> + [{'Tariff-Information', {0, 1}}, + {'Tariff-XML', {0, 1}}]; +avp_arity('Recipient-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}, + {'Addressee-Type', {0, 1}}]; +avp_arity('Recipient-Info') -> + [{'Destination-Interface', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Recipient-Received-Address', {0, '*'}}, + {'Recipient-SCCP-Address', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}]; +avp_arity('Recipient-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Related-Change-Condition-Information') -> + [{'SGSN-Address', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}]; +avp_arity('Related-Trigger') -> + [{'Trigger-Type', {0, '*'}}]; +avp_arity('Remaining-Balance') -> + [{'Unit-Value', 1}, {'Currency-Code', 1}]; +avp_arity('Scale-Factor') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('SCS-AS-Address') -> + [{'SCS-Realm', {0, 1}}, {'SCS-Address', {0, 1}}]; +avp_arity('SDP-Media-Component') -> + [{'SDP-Media-Name', {0, 1}}, + {'SDP-Media-Description', {0, '*'}}, + {'Local-GW-Inserted-Indication', {0, 1}}, + {'IP-Realm-Default-Indication', {0, 1}}, + {'Transcoder-Inserted-Indication', {0, 1}}, + {'Media-Initiator-Flag', {0, 1}}, + {'Media-Initiator-Party', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Access-Network-Charging-Identifier-Value', {0, 1}}, + {'SDP-Type', {0, 1}}]; +avp_arity('SDP-TimeStamps') -> + [{'SDP-Offer-Timestamp', {0, 1}}, + {'SDP-Answer-Timestamp', {0, 1}}]; +avp_arity('Service-Data-Container') -> + [{'AF-Correlation-Information', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Local-Sequence-Number', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Service-Identifier', {0, 1}}, + {'Service-Specific-Info', {0, 1}}, + {'SGSN-Address', {0, 1}}, + {'Time-First-Usage', {0, 1}}, + {'Time-Last-Usage', {0, 1}}, + {'Time-Usage', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}]; +avp_arity('Service-Information') -> + [{'Subscription-Id', {0, '*'}}, + {'AoC-Information', {0, 1}}, + {'PS-Information', {0, 1}}, + {'IMS-Information', {0, 1}}, + {'MMS-Information', {0, 1}}, + {'LCS-Information', {0, 1}}, + {'PoC-Information', {0, 1}}, + {'MBMS-Information', {0, 1}}, + {'SMS-Information', {0, 1}}, + {'VCS-Information', {0, 1}}, + {'MMTel-Information', {0, 1}}, + {'ProSe-Information', {0, 1}}, + {'CPDT-Information', {0, 1}}]; +avp_arity('Service-Specific-Info') -> + [{'Service-Specific-Data', {0, 1}}, + {'Service-Specific-Type', {0, 1}}]; +avp_arity('SM-Device-Trigger-Information') -> + [{'MTC-IWF-Address', {0, 1}}, + {'Validity-Time', {0, 1}}]; +avp_arity('SMS-Information') -> + [{'SMS-Node', {0, 1}}, + {'Client-Address', {0, 1}}, + {'Originator-SCCP-Address', {0, 1}}, + {'SMSC-Address', {0, 1}}, + {'Data-Coding-Scheme', {0, 1}}, + {'SM-Discharge-Time', {0, 1}}, + {'SM-Message-Type', {0, 1}}, + {'Originator-Interface', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}, + {'Reply-Path-Requested', {0, 1}}, + {'SM-Status', {0, 1}}, + {'SM-User-Data-Header', {0, 1}}, + {'Number-Of-Messages-Sent', {0, 1}}, + {'SM-Sequence-Number', {0, 1}}, + {'Recipient-Info', {0, '*'}}, + {'Originator-Received-Address', {0, 1}}, + {'SM-Service-Type', {0, 1}}, + {'SMS-Result', {0, 1}}, + {'SM-Device-Trigger-Indicator', {0, 1}}, + {'SM-Device-Trigger-Information', {0, 1}}, + {'MTC-IWF-Address', {0, 1}}]; +avp_arity('Supplementary-Service') -> + [{'MMTel-SService-Type', {0, 1}}, + {'Service-Mode', {0, 1}}, + {'Number-Of-Diversions', {0, 1}}, + {'Associated-Party-Address', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participant-Action-Type', {0, 1}}, + {'CUG-Information', {0, 1}}, + {'AoC-Information', {0, 1}}]; +avp_arity('Talk-Burst-Exchange') -> + [{'PoC-Change-Time', 1}, + {'Number-Of-Talk-Bursts', {0, 1}}, + {'Talk-Burst-Volume', {0, 1}}, + {'Talk-Burst-Time', {0, 1}}, + {'Number-Of-Received-Talk-Bursts', {0, 1}}, + {'Received-Talk-Burst-Volume', {0, 1}}, + {'Received-Talk-Burst-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'PoC-Change-Condition', {0, 1}}]; +avp_arity('Tariff-Information') -> + [{'Current-Tariff', 1}, + {'Tariff-Time-Change', {0, 1}}, + {'Next-Tariff', {0, 1}}]; +avp_arity('Time-Quota-Mechanism') -> + [{'Time-Quota-Type', 1}, {'Base-Time-Interval', 1}]; +avp_arity('Time-Stamps') -> + [{'SIP-Request-Timestamp', {0, 1}}, + {'SIP-Response-Timestamp', {0, 1}}, + {'SIP-Request-Timestamp-Fraction', {0, 1}}, + {'SIP-Response-Timestamp-Fraction', {0, 1}}]; +avp_arity('Traffic-Data-Volumes') -> + [{'QoS-Information', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Change-Time', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}]; +avp_arity('Transmitter-Info') -> + [{'ProSe-Source-IP-Address', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}]; +avp_arity('Trigger') -> [{'Trigger-Type', {0, '*'}}]; +avp_arity('Trunk-Group-Id') -> + [{'Incoming-Trunk-Group-Id', {0, 1}}, + {'Outgoing-Trunk-Group-Id', {0, 1}}]; +avp_arity('TWAN-User-Location-Info') -> + [{'BSSID', {0, 1}}]; +avp_arity('Unit-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('User-CSG-Information') -> + [{'CSG-Access-Mode', 1}, + {'CSG-Membership-Indication', {0, 1}}]; +avp_arity('UWAN-User-Location-Info') -> + [{'UE-Local-IP-Address', 1}, + {'UDP-Source-Port', {0, 1}}, + {'BSSID', {0, 1}}]; +avp_arity('Variable-Part') -> + [{'Variable-Part-Type', 1}, + {'Variable-Part-Value', 1}, + {'Variable-Part-Order', {0, 1}}]; +avp_arity('VCS-Information') -> + [{'Bearer-Capability', {0, 1}}, + {'Network-Call-Reference-Number', {0, 1}}, + {'MSC-Address', {0, 1}}, + {'Basic-Service-Code', {0, 1}}, + {'ISUP-Location-Number', {0, 1}}, + {'VLR-Number', {0, 1}}, + {'Forwarding-Pending', {0, 1}}, + {'ISUP-Cause', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Start-of-Charging', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'PS-Free-Format-Data', {0, 1}}]; +avp_arity('Emergency-Info') -> + [{'MIP6-Agent-Info', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('MIP6-Agent-Info') -> + [{'MIP-Home-Agent-Address', {0, 2}}, + {'MIP-Home-Agent-Host', {0, 1}}, + {'MIP6-Home-Link-Prefix', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Charging-Identifier-Gx') -> + [{'Access-Network-Charging-Identifier-Value', 1}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'IP-CAN-Session-Charging-Scope', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Allocation-Retention-Priority') -> + [{'Priority-Level', 1}, + {'Pre-emption-Capability', {0, 1}}, + {'Pre-emption-Vulnerability', {0, 1}}]; +avp_arity('Application-Detection-Information') -> + [{'TDF-Application-Identifier', 1}, + {'TDF-Application-Instance-Identifier', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Definition') -> + [{'Charging-Rule-Name', 1}, + {'Service-Identifier', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'TDF-Application-Identifier', {0, 1}}, + {'Flow-Status', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'PS-to-CS-Session-Continuity', {0, 1}}, + {'Reporting-Level', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'Metering-Method', {0, 1}}, + {'Precedence', {0, 1}}, + {'AF-Charging-Identifier', {0, 1}}, + {'Flows', {0, '*'}}, + {'Monitoring-Key', {0, 1}}, + {'Redirect-Information', {0, 1}}, + {'Mute-Notification', {0, 1}}, + {'AF-Signalling-Protocol', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Install') -> + [{'Charging-Rule-Definition', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'Rule-Activation-Time', {0, 1}}, + {'Rule-Deactivation-Time', {0, 1}}, + {'Resource-Allocation-Notification', {0, 1}}, + {'Charging-Correlation-Indicator', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Remove') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Report') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'PCC-Rule-Status', {0, 1}}, + {'Rule-Failure-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'RAN-NAS-Release-Cause', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CoA-Information') -> + [{'Tunnel-Information', 1}, + {'CoA-IP-Address', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate') -> + [{'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'IP-CAN-Type', {0, '*'}}, + {'RAT-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-EPS-Bearer-QoS') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Default-QoS-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Event-Report-Indication') -> + [{'Event-Trigger', {0, '*'}}, + {'IP-CAN-Type', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'UE-Local-IP-Address', {0, 1}}, + {'HeNB-Local-IP-Address', {0, 1}}, + {'UDP-Source-Port', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Fixed-User-Location-Info') -> + [{'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flow-Information') -> + [{'Flow-Description', {0, 1}}, + {'Packet-Filter-Identifier', {0, 1}}, + {'Packet-Filter-Usage', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Packet-Filter-Information') -> + [{'Packet-Filter-Identifier', {0, 1}}, + {'Precedence', {0, 1}}, + {'Packet-Filter-Content', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Presence-Reporting-Area-Information') -> + [{'Presence-Reporting-Area-Identifier', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'Presence-Reporting-Area-Elements-List', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Guaranteed-Bitrate-UL', {0, 1}}, + {'Guaranteed-Bitrate-DL', {0, 1}}, + {'Bearer-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'Conditional-APN-Aggregate-Max-Bitrate', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Redirect-Information') -> + [{'Redirect-Support', {0, 1}}, + {'Redirect-Address-Type', {0, 1}}, + {'Redirect-Server-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Filter') -> + [{'Flow-Description', 1}, + {'Flow-Direction', 1}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Definition') -> + [{'Routing-Rule-Identifier', 1}, + {'Routing-Filter', {0, '*'}}, + {'Precedence', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Install') -> + [{'Routing-Rule-Definition', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Remove') -> + [{'Routing-Rule-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('TDF-Information') -> + [{'TDF-Destination-Realm', {0, 1}}, + {'TDF-Destination-Host', {0, 1}}, + {'TDF-IP-Address', {0, 1}}]; +avp_arity('Tunnel-Information') -> + [{'Tunnel-Header-Length', {0, 1}}, + {'Tunnel-Header-Filter', {0, 2}}, + {'AVP', {0, '*'}}]; +avp_arity('TFT-Packet-Filter-Information') -> + [{'Precedence', {0, 1}}, + {'TFT-Filter', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Usage-Monitoring-Information') -> + [{'Monitoring-Key', {0, 1}}, + {'Granted-Service-Unit', {0, 2}}, + {'Used-Service-Unit', {0, 2}}, + {'Usage-Monitoring-Level', {0, 1}}, + {'Usage-Monitoring-Report', {0, 1}}, + {'Usage-Monitoring-Support', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('ULR', 'Session-Id') -> 1; +avp_arity('ULR', 'Auth-Session-State') -> 1; +avp_arity('ULR', 'Origin-Host') -> 1; +avp_arity('ULR', 'Origin-Realm') -> 1; +avp_arity('ULR', 'Destination-Realm') -> 1; +avp_arity('ULR', 'User-Name') -> 1; +avp_arity('ULR', 'RAT-Type') -> 1; +avp_arity('ULR', 'ULR-Flags') -> 1; +avp_arity('ULR', 'Visited-PLMN-Id') -> 1; +avp_arity('ULR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('ULR', 'Destination-Host') -> {0, 1}; +avp_arity('ULR', 'Terminal-Information') -> {0, 1}; +avp_arity('ULR', 'UE-SRVCC-Capability') -> {0, 1}; +avp_arity('ULR', 'SGSN-Number') -> {0, 1}; +avp_arity('ULR', + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions') -> + {0, 1}; +avp_arity('ULR', 'GMLC-Address') -> {0, 1}; +avp_arity('ULR', 'Equivalent-PLMN-List') -> {0, 1}; +avp_arity('ULR', 'MME-Number-for-MT-SMS') -> {0, 1}; +avp_arity('ULR', 'SMS-Register-Request') -> {0, 1}; +avp_arity('ULR', 'Supported-Features') -> {0, '*'}; +avp_arity('ULR', 'Active-APN') -> {0, '*'}; +avp_arity('ULR', 'Proxy-Info') -> {0, '*'}; +avp_arity('ULR', 'Route-Record') -> {0, '*'}; +avp_arity('ULR', 'AVP') -> {0, '*'}; +avp_arity('ULA', 'Session-Id') -> 1; +avp_arity('ULA', 'Auth-Session-State') -> 1; +avp_arity('ULA', 'Origin-Host') -> 1; +avp_arity('ULA', 'Origin-Realm') -> 1; +avp_arity('ULA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('ULA', 'Result-Code') -> {0, 1}; +avp_arity('ULA', 'Experimental-Result') -> {0, 1}; +avp_arity('ULA', 'Error-Diagnostic') -> {0, 1}; +avp_arity('ULA', 'ULA-Flags') -> {0, 1}; +avp_arity('ULA', 'Subscription-Data') -> {0, 1}; +avp_arity('ULA', 'Supported-Features') -> {0, '*'}; +avp_arity('ULA', 'AVP') -> {0, '*'}; +avp_arity('ULA', 'Failed-AVP') -> {0, '*'}; +avp_arity('ULA', 'Proxy-Info') -> {0, '*'}; +avp_arity('ULA', 'Route-Record') -> {0, '*'}; +avp_arity('AIR', 'Session-Id') -> 1; +avp_arity('AIR', 'Auth-Session-State') -> 1; +avp_arity('AIR', 'Origin-Host') -> 1; +avp_arity('AIR', 'Origin-Realm') -> 1; +avp_arity('AIR', 'Destination-Realm') -> 1; +avp_arity('AIR', 'User-Name') -> 1; +avp_arity('AIR', 'Visited-PLMN-Id') -> 1; +avp_arity('AIR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('AIR', 'Destination-Host') -> {0, 1}; +avp_arity('AIR', + 'Requested-EUTRAN-Authentication-Info') -> + {0, 1}; +avp_arity('AIR', + 'Requested-UTRAN-GERAN-Authentication-Info') -> + {0, 1}; +avp_arity('AIR', 'Supported-Features') -> {0, '*'}; +avp_arity('AIR', 'Proxy-Info') -> {0, '*'}; +avp_arity('AIR', 'Route-Record') -> {0, '*'}; +avp_arity('AIR', 'AVP') -> {0, '*'}; +avp_arity('AIA', 'Session-Id') -> 1; +avp_arity('AIA', 'Auth-Session-State') -> 1; +avp_arity('AIA', 'Origin-Host') -> 1; +avp_arity('AIA', 'Origin-Realm') -> 1; +avp_arity('AIA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('AIA', 'Result-Code') -> {0, 1}; +avp_arity('AIA', 'Experimental-Result') -> {0, 1}; +avp_arity('AIA', 'Error-Diagnostic') -> {0, 1}; +avp_arity('AIA', 'Authentication-Info') -> {0, 1}; +avp_arity('AIA', 'Supported-Features') -> {0, '*'}; +avp_arity('AIA', 'AVP') -> {0, '*'}; +avp_arity('AIA', 'Failed-AVP') -> {0, '*'}; +avp_arity('AIA', 'Proxy-Info') -> {0, '*'}; +avp_arity('AIA', 'Route-Record') -> {0, '*'}; +avp_arity('CLR', 'Session-Id') -> 1; +avp_arity('CLR', 'Auth-Session-State') -> 1; +avp_arity('CLR', 'Origin-Host') -> 1; +avp_arity('CLR', 'Origin-Realm') -> 1; +avp_arity('CLR', 'Destination-Host') -> 1; +avp_arity('CLR', 'Destination-Realm') -> 1; +avp_arity('CLR', 'User-Name') -> 1; +avp_arity('CLR', 'Cancellation-Type') -> 1; +avp_arity('CLR', 'Supported-Features') -> {0, '*'}; +avp_arity('CLR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('CLR', 'CLR-Flags') -> {0, 1}; +avp_arity('CLR', 'AVP') -> {0, '*'}; +avp_arity('CLR', 'Proxy-Info') -> {0, '*'}; +avp_arity('CLR', 'Route-Record') -> {0, '*'}; +avp_arity('CLA', 'Session-Id') -> 1; +avp_arity('CLA', 'Auth-Session-State') -> 1; +avp_arity('CLA', 'Origin-Host') -> 1; +avp_arity('CLA', 'Origin-Realm') -> 1; +avp_arity('CLA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('CLA', 'Supported-Features') -> {0, '*'}; +avp_arity('CLA', 'Result-Code') -> {0, 1}; +avp_arity('CLA', 'Experimental-Result') -> {0, 1}; +avp_arity('CLA', 'AVP') -> {0, '*'}; +avp_arity('CLA', 'Failed-AVP') -> {0, '*'}; +avp_arity('CLA', 'Proxy-Info') -> {0, '*'}; +avp_arity('CLA', 'Route-Record') -> {0, '*'}; +avp_arity('IDR', 'Session-Id') -> 1; +avp_arity('IDR', 'Auth-Session-State') -> 1; +avp_arity('IDR', 'Origin-Host') -> 1; +avp_arity('IDR', 'Origin-Realm') -> 1; +avp_arity('IDR', 'Destination-Host') -> 1; +avp_arity('IDR', 'Destination-Realm') -> 1; +avp_arity('IDR', 'User-Name') -> 1; +avp_arity('IDR', 'Subscription-Data') -> 1; +avp_arity('IDR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('IDR', 'Supported-Features') -> {0, '*'}; +avp_arity('IDR', 'IDR-Flags') -> {0, 1}; +avp_arity('IDR', 'AVP') -> {0, '*'}; +avp_arity('IDR', 'Proxy-Info') -> {0, '*'}; +avp_arity('IDR', 'Route-Record') -> {0, '*'}; +avp_arity('IDA', 'Session-Id') -> 1; +avp_arity('IDA', 'Auth-Session-State') -> 1; +avp_arity('IDA', 'Origin-Host') -> 1; +avp_arity('IDA', 'Origin-Realm') -> 1; +avp_arity('IDA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('IDA', 'Supported-Features') -> {0, '*'}; +avp_arity('IDA', 'Result-Code') -> {0, 1}; +avp_arity('IDA', 'Experimental-Result') -> {0, 1}; +avp_arity('IDA', + 'IMS-Voice-Over-PS-Sessions-Supported') -> + {0, 1}; +avp_arity('IDA', 'Last-UE-Activity-Time') -> {0, 1}; +avp_arity('IDA', 'RAT-Type') -> {0, 1}; +avp_arity('IDA', 'IDA-Flags') -> {0, 1}; +avp_arity('IDA', 'EPS-User-State') -> {0, 1}; +avp_arity('IDA', 'EPS-Location-Information') -> {0, 1}; +avp_arity('IDA', 'Local-Time-Zone') -> {0, 1}; +avp_arity('IDA', 'AVP') -> {0, '*'}; +avp_arity('IDA', 'Failed-AVP') -> {0, '*'}; +avp_arity('IDA', 'Proxy-Info') -> {0, '*'}; +avp_arity('IDA', 'Route-Record') -> {0, '*'}; +avp_arity('DSR', 'Session-Id') -> 1; +avp_arity('DSR', 'Auth-Session-State') -> 1; +avp_arity('DSR', 'Origin-Host') -> 1; +avp_arity('DSR', 'Origin-Realm') -> 1; +avp_arity('DSR', 'Destination-Host') -> 1; +avp_arity('DSR', 'Destination-Realm') -> 1; +avp_arity('DSR', 'User-Name') -> 1; +avp_arity('DSR', 'DSR-Flags') -> 1; +avp_arity('DSR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('DSR', 'Supported-Features') -> {0, '*'}; +avp_arity('DSR', 'Context-Identifier') -> {0, '*'}; +avp_arity('DSR', 'Trace-Reference') -> {0, 1}; +avp_arity('DSR', 'TS-Code') -> {0, '*'}; +avp_arity('DSR', 'SS-Code') -> {0, '*'}; +avp_arity('DSR', 'AVP') -> {0, '*'}; +avp_arity('DSR', 'Proxy-Info') -> {0, '*'}; +avp_arity('DSR', 'Route-Record') -> {0, '*'}; +avp_arity('DSA', 'Session-Id') -> 1; +avp_arity('DSA', 'Auth-Session-State') -> 1; +avp_arity('DSA', 'Origin-Host') -> 1; +avp_arity('DSA', 'Origin-Realm') -> 1; +avp_arity('DSA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('DSA', 'Supported-Features') -> {0, '*'}; +avp_arity('DSA', 'Result-Code') -> {0, 1}; +avp_arity('DSA', 'Experimental-Result') -> {0, 1}; +avp_arity('DSA', 'DSA-Flags') -> {0, 1}; +avp_arity('DSA', 'AVP') -> {0, '*'}; +avp_arity('DSA', 'Failed-AVP') -> {0, '*'}; +avp_arity('DSA', 'Proxy-Info') -> {0, '*'}; +avp_arity('DSA', 'Route-Record') -> {0, '*'}; +avp_arity('PUR', 'Session-Id') -> 1; +avp_arity('PUR', 'Auth-Session-State') -> 1; +avp_arity('PUR', 'Origin-Host') -> 1; +avp_arity('PUR', 'Origin-Realm') -> 1; +avp_arity('PUR', 'Destination-Realm') -> 1; +avp_arity('PUR', 'User-Name') -> 1; +avp_arity('PUR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('PUR', 'Destination-Host') -> {0, 1}; +avp_arity('PUR', 'PUR-Flags') -> {0, 1}; +avp_arity('PUR', 'Supported-Features') -> {0, '*'}; +avp_arity('PUR', 'AVP') -> {0, '*'}; +avp_arity('PUR', 'Proxy-Info') -> {0, '*'}; +avp_arity('PUR', 'Route-Record') -> {0, '*'}; +avp_arity('PUA', 'Session-Id') -> 1; +avp_arity('PUA', 'Auth-Session-State') -> 1; +avp_arity('PUA', 'Origin-Host') -> 1; +avp_arity('PUA', 'Origin-Realm') -> 1; +avp_arity('PUA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('PUA', 'Supported-Features') -> {0, '*'}; +avp_arity('PUA', 'Result-Code') -> {0, 1}; +avp_arity('PUA', 'Experimental-Result') -> {0, 1}; +avp_arity('PUA', 'PUA-Flags') -> {0, 1}; +avp_arity('PUA', 'AVP') -> {0, '*'}; +avp_arity('PUA', 'Failed-AVP') -> {0, '*'}; +avp_arity('PUA', 'Proxy-Info') -> {0, '*'}; +avp_arity('PUA', 'Route-Record') -> {0, '*'}; +avp_arity('RSR', 'Session-Id') -> 1; +avp_arity('RSR', 'Auth-Session-State') -> 1; +avp_arity('RSR', 'Origin-Host') -> 1; +avp_arity('RSR', 'Origin-Realm') -> 1; +avp_arity('RSR', 'Destination-Host') -> 1; +avp_arity('RSR', 'Destination-Realm') -> 1; +avp_arity('RSR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('RSR', 'Supported-Features') -> {0, '*'}; +avp_arity('RSR', 'User-Id') -> {0, '*'}; +avp_arity('RSR', 'AVP') -> {0, '*'}; +avp_arity('RSR', 'Proxy-Info') -> {0, '*'}; +avp_arity('RSR', 'Route-Record') -> {0, '*'}; +avp_arity('RSA', 'Session-Id') -> 1; +avp_arity('RSA', 'Auth-Session-State') -> 1; +avp_arity('RSA', 'Origin-Host') -> 1; +avp_arity('RSA', 'Origin-Realm') -> 1; +avp_arity('RSA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('RSA', 'Supported-Features') -> {0, '*'}; +avp_arity('RSA', 'Result-Code') -> {0, 1}; +avp_arity('RSA', 'Experimental-Result') -> {0, 1}; +avp_arity('RSA', 'AVP') -> {0, '*'}; +avp_arity('RSA', 'Failed-AVP') -> {0, '*'}; +avp_arity('RSA', 'Proxy-Info') -> {0, '*'}; +avp_arity('RSA', 'Route-Record') -> {0, '*'}; +avp_arity('NOR', 'Session-Id') -> 1; +avp_arity('NOR', 'Auth-Session-State') -> 1; +avp_arity('NOR', 'Origin-Host') -> 1; +avp_arity('NOR', 'Origin-Realm') -> 1; +avp_arity('NOR', 'Destination-Realm') -> 1; +avp_arity('NOR', 'User-Name') -> 1; +avp_arity('NOR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('NOR', 'Destination-Host') -> {0, 1}; +avp_arity('NOR', 'Supported-Features') -> {0, '*'}; +avp_arity('NOR', 'Terminal-Information') -> {0, 1}; +avp_arity('NOR', 'MIP6-Agent-Info') -> {0, 1}; +avp_arity('NOR', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('NOR', 'Context-Identifier') -> {0, 1}; +avp_arity('NOR', 'Service-Selection') -> {0, 1}; +avp_arity('NOR', 'Alert-Reason') -> {0, 1}; +avp_arity('NOR', 'UE-SRVCC-Capability') -> {0, 1}; +avp_arity('NOR', 'NOR-Flags') -> {0, 1}; +avp_arity('NOR', + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions') -> + {0, 1}; +avp_arity('NOR', 'AVP') -> {0, '*'}; +avp_arity('NOR', 'Proxy-Info') -> {0, '*'}; +avp_arity('NOR', 'Route-Record') -> {0, '*'}; +avp_arity('NOA', 'Session-Id') -> 1; +avp_arity('NOA', 'Auth-Session-State') -> 1; +avp_arity('NOA', 'Origin-Host') -> 1; +avp_arity('NOA', 'Origin-Realm') -> 1; +avp_arity('NOA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('NOA', 'Result-Code') -> {0, 1}; +avp_arity('NOA', 'Experimental-Result') -> {0, 1}; +avp_arity('NOA', 'Supported-Features') -> {0, '*'}; +avp_arity('NOA', 'AVP') -> {0, '*'}; +avp_arity('NOA', 'Failed-AVP') -> {0, '*'}; +avp_arity('NOA', 'Proxy-Info') -> {0, '*'}; +avp_arity('NOA', 'Route-Record') -> {0, '*'}; +avp_arity('ECR', 'Session-Id') -> 1; +avp_arity('ECR', 'Auth-Session-State') -> 1; +avp_arity('ECR', 'Origin-Host') -> 1; +avp_arity('ECR', 'Origin-Realm') -> 1; +avp_arity('ECR', 'Destination-Realm') -> 1; +avp_arity('ECR', 'Terminal-Information') -> 1; +avp_arity('ECR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('ECR', 'Destination-Host') -> {0, 1}; +avp_arity('ECR', 'User-Name') -> {0, 1}; +avp_arity('ECR', 'AVP') -> {0, '*'}; +avp_arity('ECR', 'Proxy-Info') -> {0, '*'}; +avp_arity('ECR', 'Route-Record') -> {0, '*'}; +avp_arity('ECA', 'Session-Id') -> 1; +avp_arity('ECA', 'Auth-Session-State') -> 1; +avp_arity('ECA', 'Origin-Host') -> 1; +avp_arity('ECA', 'Origin-Realm') -> 1; +avp_arity('ECA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('ECA', 'Result-Code') -> {0, 1}; +avp_arity('ECA', 'Experimental-Result') -> {0, 1}; +avp_arity('ECA', 'Equipment-Status') -> {0, 1}; +avp_arity('ECA', 'AVP') -> {0, '*'}; +avp_arity('ECA', 'Failed-AVP') -> {0, '*'}; +avp_arity('ECA', 'Proxy-Info') -> {0, '*'}; +avp_arity('ECA', 'Route-Record') -> {0, '*'}; +avp_arity('Subscription-Data', 'Subscriber-Status') -> + {0, 1}; +avp_arity('Subscription-Data', 'MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'A-MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'STN-SR') -> {0, 1}; +avp_arity('Subscription-Data', 'ICS-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'Network-Access-Mode') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Operator-Determined-Barring') -> + {0, 1}; +avp_arity('Subscription-Data', 'HPLMN-ODB') -> {0, 1}; +avp_arity('Subscription-Data', + 'Regional-Subscription-Zone-Code') -> + {0, 10}; +avp_arity('Subscription-Data', + 'Access-Restriction-Data') -> + {0, 1}; +avp_arity('Subscription-Data', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('Subscription-Data', 'LCS-Info') -> {0, 1}; +avp_arity('Subscription-Data', 'Teleservice-List') -> + {0, 1}; +avp_arity('Subscription-Data', 'Call-Barring-Info') -> + {0, '*'}; +avp_arity('Subscription-Data', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('Subscription-Data', 'AMBR') -> {0, 1}; +avp_arity('Subscription-Data', + 'APN-Configuration-Profile') -> + {0, 1}; +avp_arity('Subscription-Data', + 'RAT-Frequency-Selection-Priority-ID') -> + {0, 1}; +avp_arity('Subscription-Data', 'Trace-Data') -> {0, 1}; +avp_arity('Subscription-Data', + 'GPRS-Subscription-Data') -> + {0, 1}; +avp_arity('Subscription-Data', + 'CSG-Subscription-Data') -> + {0, '*'}; +avp_arity('Subscription-Data', + 'Roaming-Restricted-Due-To-Unsupported-Feature') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscribed-Periodic-RAU-TAU-Timer') -> + {0, 1}; +avp_arity('Subscription-Data', 'MPS-Priority') -> + {0, 1}; +avp_arity('Subscription-Data', 'VPLMN-LIPA-Allowed') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Relay-Node-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'MDT-User-Consent') -> + {0, 1}; +avp_arity('Subscription-Data', 'Subscribed-VSRVCC') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscription-Data-Flags') -> + {0, 1}; +avp_arity('Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Terminal-Information', 'IMEI') -> {0, 1}; +avp_arity('Terminal-Information', '3GPP2-MEID') -> + {0, 1}; +avp_arity('Terminal-Information', 'Software-Version') -> + {0, 1}; +avp_arity('Terminal-Information', 'AVP') -> {0, '*'}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Authentication-Info', 'E-UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'GERAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'AVP') -> {0, '*'}; +avp_arity('E-UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('E-UTRAN-Vector', 'RAND') -> 1; +avp_arity('E-UTRAN-Vector', 'XRES') -> 1; +avp_arity('E-UTRAN-Vector', 'AUTN') -> 1; +avp_arity('E-UTRAN-Vector', 'KASME') -> 1; +avp_arity('E-UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('UTRAN-Vector', 'RAND') -> 1; +avp_arity('UTRAN-Vector', 'XRES') -> 1; +avp_arity('UTRAN-Vector', 'AUTN') -> 1; +avp_arity('UTRAN-Vector', 'Confidentiality-Key') -> 1; +avp_arity('UTRAN-Vector', 'Integrity-Key') -> 1; +avp_arity('UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('GERAN-Vector', 'Item-Number') -> 1; +avp_arity('GERAN-Vector', 'RAND') -> 1; +avp_arity('GERAN-Vector', 'SRES') -> 1; +avp_arity('GERAN-Vector', 'Kc') -> 1; +avp_arity('GERAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('APN-Configuration-Profile', + 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration-Profile', + 'All-APN-Configurations-Included-Indicator') -> + 1; +avp_arity('APN-Configuration-Profile', + 'APN-Configuration') -> + {1, '*'}; +avp_arity('APN-Configuration-Profile', 'AVP') -> + {0, '*'}; +avp_arity('APN-Configuration', 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration', 'PDN-Type') -> 1; +avp_arity('APN-Configuration', 'Service-Selection') -> + 1; +avp_arity('APN-Configuration', + 'Served-Party-IP-Address') -> + {0, 2}; +avp_arity('APN-Configuration', + 'EPS-Subscribed-QoS-Profile') -> + {0, 1}; +avp_arity('APN-Configuration', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('APN-Configuration', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('APN-Configuration', + 'PDN-GW-Allocation-Type') -> + {0, 1}; +avp_arity('APN-Configuration', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('APN-Configuration', 'AMBR') -> {0, 1}; +avp_arity('APN-Configuration', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('APN-Configuration', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('APN-Configuration', 'SIPTO-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', 'LIPA-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Restoration-Priority') -> + {0, 1}; +avp_arity('APN-Configuration', 'AVP') -> {0, '*'}; +avp_arity('EPS-Subscribed-QoS-Profile', + 'QoS-Class-Identifier') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', + 'Allocation-Retention-Priority') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', 'AVP') -> + {0, '*'}; +avp_arity('AMBR', 'Max-Requested-Bandwidth-UL') -> 1; +avp_arity('AMBR', 'Max-Requested-Bandwidth-DL') -> 1; +avp_arity('AMBR', 'AVP') -> {0, '*'}; +avp_arity('Trace-Data', 'Trace-Reference') -> 1; +avp_arity('Trace-Data', 'Trace-Depth') -> 1; +avp_arity('Trace-Data', 'Trace-NE-Type-List') -> 1; +avp_arity('Trace-Data', 'Trace-Event-List') -> 1; +avp_arity('Trace-Data', 'Trace-Collection-Entity') -> 1; +avp_arity('Trace-Data', 'Trace-Interface-List') -> + {0, 1}; +avp_arity('Trace-Data', 'OMC-Id') -> {0, 1}; +avp_arity('Trace-Data', 'MDT-Configuration') -> {0, 1}; +avp_arity('Trace-Data', 'AVP') -> {0, '*'}; +avp_arity('GPRS-Subscription-Data', + 'Complete-Data-List-Included-Indicator') -> + 1; +avp_arity('GPRS-Subscription-Data', 'PDP-Context') -> + {1, 50}; +avp_arity('GPRS-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('PDP-Context', 'Context-Identifier') -> 1; +avp_arity('PDP-Context', 'PDP-Type') -> 1; +avp_arity('PDP-Context', 'QoS-Subscribed') -> 1; +avp_arity('PDP-Context', 'Service-Selection') -> 1; +avp_arity('PDP-Context', 'PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('PDP-Context', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Type') -> {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', 'AMBR') -> {0, 1}; +avp_arity('PDP-Context', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('PDP-Context', 'SIPTO-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'LIPA-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'Restoration-Priority') -> + {0, 1}; +avp_arity('PDP-Context', 'AVP') -> {0, '*'}; +avp_arity('CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('CSG-Subscription-Data', 'Expiration-Date') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', + 'Service-Selection') -> + {0, '*'}; +avp_arity('CSG-Subscription-Data', 'Visited-PLMN-Id') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Specific-APN-Info', 'Service-Selection') -> + 1; +avp_arity('Specific-APN-Info', 'MIP6-Agent-Info') -> 1; +avp_arity('Specific-APN-Info', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Specific-APN-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-Info', 'GMLC-Number') -> {0, '*'}; +avp_arity('LCS-Info', 'LCS-PrivacyException') -> + {0, '*'}; +avp_arity('LCS-Info', 'MO-LR') -> {0, '*'}; +avp_arity('LCS-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-PrivacyException', 'SS-Code') -> 1; +avp_arity('LCS-PrivacyException', 'SS-Status') -> 1; +avp_arity('LCS-PrivacyException', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('LCS-PrivacyException', 'External-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'PLMN-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'Service-Type') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'AVP') -> {0, '*'}; +avp_arity('External-Client', 'Client-Identity') -> 1; +avp_arity('External-Client', 'GMLC-Restriction') -> + {0, 1}; +avp_arity('External-Client', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('External-Client', 'AVP') -> {0, '*'}; +avp_arity('Service-Type', 'ServiceTypeIdentity') -> 1; +avp_arity('Service-Type', 'GMLC-Restriction') -> {0, 1}; +avp_arity('Service-Type', 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('Service-Type', 'AVP') -> {0, '*'}; +avp_arity('MO-LR', 'SS-Code') -> 1; +avp_arity('MO-LR', 'SS-Status') -> 1; +avp_arity('MO-LR', 'AVP') -> {0, '*'}; +avp_arity('Teleservice-List', 'TS-Code') -> {1, '*'}; +avp_arity('Teleservice-List', 'AVP') -> {0, '*'}; +avp_arity('Call-Barring-Info', 'SS-Code') -> 1; +avp_arity('Call-Barring-Info', 'SS-Status') -> 1; +avp_arity('Call-Barring-Info', 'AVP') -> {0, '*'}; +avp_arity('EPS-User-State', 'MME-User-State') -> {0, 1}; +avp_arity('EPS-User-State', 'SGSN-User-State') -> + {0, 1}; +avp_arity('EPS-User-State', 'AVP') -> {0, '*'}; +avp_arity('EPS-Location-Information', + 'MME-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', + 'SGSN-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('MME-User-State', 'User-State') -> {0, 1}; +avp_arity('MME-User-State', 'AVP') -> {0, '*'}; +avp_arity('SGSN-User-State', 'User-State') -> {0, 1}; +avp_arity('SGSN-User-State', 'AVP') -> {0, '*'}; +avp_arity('MME-Location-Information', + 'E-UTRAN-Cell-Global-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Tracking-Area-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('SGSN-Location-Information', + 'Cell-Global-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Location-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Service-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Routing-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('Active-APN', 'Context-Identifier') -> 1; +avp_arity('Active-APN', 'Service-Selection') -> {0, 1}; +avp_arity('Active-APN', 'MIP6-Agent-Info') -> {0, 1}; +avp_arity('Active-APN', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Active-APN', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('Active-APN', 'AVP') -> {0, '*'}; +avp_arity('MDT-Configuration', 'Job-Type') -> 1; +avp_arity('MDT-Configuration', 'Area-Scope') -> {0, 1}; +avp_arity('MDT-Configuration', + 'List-Of-Measurements') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Reporting-Trigger') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Amount') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRP') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRQ') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Duration') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-LTE') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-UMTS') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Positioning-Method') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Quantity') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1F') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1I') -> + {0, 1}; +avp_arity('MDT-Configuration', 'AVP') -> {0, '*'}; +avp_arity('Area-Scope', 'Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', + 'E-UTRAN-Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Routing-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Location-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Tracking-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'AVP') -> {0, '*'}; +avp_arity('Equivalent-PLMN-List', 'Visited-PLMN-Id') -> + {1, '*'}; +avp_arity('Equivalent-PLMN-List', 'AVP') -> {0, '*'}; +avp_arity('VPLMN-CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('VPLMN-CSG-Subscription-Data', + 'Expiration-Date') -> + {0, 1}; +avp_arity('VPLMN-CSG-Subscription-Data', 'AVP') -> + {0, '*'}; +avp_arity('Local-Time-Zone', 'Time-Zone') -> 1; +avp_arity('Local-Time-Zone', 'Daylight-Saving-Time') -> + 1; +avp_arity('Local-Time-Zone', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Flows', 'Media-Component-Number') -> 1; +avp_arity('Flows', 'Flow-Number') -> {0, '*'}; +avp_arity('Flows', 'Final-Unit-Action') -> {0, 1}; +avp_arity('Charging-Information', + 'Primary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', 'AVP') -> {0, '*'}; +avp_arity('Supported-Features', 'Vendor-Id') -> 1; +avp_arity('Supported-Features', 'Feature-List-ID') -> 1; +avp_arity('Supported-Features', 'Feature-List') -> 1; +avp_arity('Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('Supported-Applications', + 'Auth-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Acct-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Vendor-Specific-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', 'AVP') -> {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Item-Number') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Scheme') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authorization') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Context') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Confidentiality-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Integrity-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Digest-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IP-Address') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IPv6-Prefix') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Framed-Interface-Id') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Line-Identifier') -> + {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'AVP') -> {0, '*'}; +avp_arity('Deregistration-Reason', 'Reason-Code') -> 1; +avp_arity('Deregistration-Reason', 'Reason-Info') -> + {0, 1}; +avp_arity('Deregistration-Reason', 'AVP') -> {0, '*'}; +avp_arity('SIP-Digest-Authenticate', 'Digest-Realm') -> + 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-QoP') -> 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-HA1') -> 1; +avp_arity('SIP-Digest-Authenticate', + 'Digest-Algorithm') -> + {0, 1}; +avp_arity('SIP-Digest-Authenticate', 'AVP') -> {0, '*'}; +avp_arity('Serving-Node', 'SGSN-Number') -> {0, 1}; +avp_arity('Serving-Node', 'SGSN-Name') -> {0, 1}; +avp_arity('Serving-Node', 'SGSN-Realm') -> {0, 1}; +avp_arity('Serving-Node', 'MME-Name') -> {0, 1}; +avp_arity('Serving-Node', 'MME-Realm') -> {0, 1}; +avp_arity('Serving-Node', 'MSC-Number') -> {0, 1}; +avp_arity('Serving-Node', '3GPP-AAA-Server-Name') -> + {0, 1}; +avp_arity('Serving-Node', 'LCS-Capabilities-Sets') -> + {0, 1}; +avp_arity('Serving-Node', 'GMLC-Address') -> {0, 1}; +avp_arity('Serving-Node', 'AVP') -> {0, '*'}; +avp_arity('Additional-Serving-Node', 'SGSN-Number') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'MME-Name') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'SGSN-Name') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'SGSN-Realm') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'MME-Realm') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'MSC-Number') -> + {0, 1}; +avp_arity('Additional-Serving-Node', + '3GPP-AAA-Server-Name') -> + {0, 1}; +avp_arity('Additional-Serving-Node', + 'LCS-Capabilities-Sets') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'GMLC-Address') -> + {0, 1}; +avp_arity('Additional-Serving-Node', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Network-Info-Change', + 'Change-Time') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Transfer-Type') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Transfer-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Inter-UE-Transfer') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'User-Equipment-Info') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Instance-Id') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Change-Time') -> + {0, 1}; +avp_arity('Accumulated-Cost', 'Value-Digits') -> 1; +avp_arity('Accumulated-Cost', 'Exponent') -> {0, 1}; +avp_arity('Additional-Content-Information', + 'Type-Number') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Content-Size') -> + {0, 1}; +avp_arity('Address-Domain', 'Domain-Name') -> {0, 1}; +avp_arity('Address-Domain', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('AF-Correlation-Information', + 'AF-Charging-Identifier') -> + 1; +avp_arity('AF-Correlation-Information', 'Flows') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Announcement-Identifier') -> + 1; +avp_arity('Announcement-Information', + 'Variable-Part') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Time-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Quota-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Announcement-Order') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Play-Alternative') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Privacy-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', 'Language') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Accumulated-Cost') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Incremental-Cost') -> + {0, '*'}; +avp_arity('AoC-Cost-Information', 'Currency-Code') -> + {0, 1}; +avp_arity('AoC-Information', 'AoC-Cost-Information') -> + {0, 1}; +avp_arity('AoC-Information', 'Tariff-Information') -> + {0, 1}; +avp_arity('AoC-Information', + 'AoC-Subscription-Information') -> + {0, 1}; +avp_arity('AoC-Service', + 'AoC-Service-Obligatory-Type') -> + {0, 1}; +avp_arity('AoC-Service', 'AoC-Service-Type') -> {0, 1}; +avp_arity('AoC-Subscription-Information', + 'AoC-Service') -> + {0, '*'}; +avp_arity('AoC-Subscription-Information', + 'AoC-Format') -> + {0, 1}; +avp_arity('AoC-Subscription-Information', + 'Preferred-AoC-Currency') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Uplink') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Downlink') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Message-Size') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Additional-Exception-Reports') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Server') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Provided-Called-Party-Address') -> + {0, '*'}; +avp_arity('Application-Server-Information', + 'Status-AS-Code') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Bearer-Service') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Teleservice') -> + {0, 1}; +avp_arity('Called-Identity-Change', + 'Called-Identity') -> + {0, 1}; +avp_arity('Called-Identity-Change', 'Change-Time') -> + {0, 1}; +avp_arity('Coverage-Info', 'Coverage-Status') -> {0, 1}; +avp_arity('Coverage-Info', 'Change-Time') -> {0, 1}; +avp_arity('Coverage-Info', 'Location-Info') -> {0, '*'}; +avp_arity('CPDT-Information', + 'Serving-Node-Identity') -> + {0, 1}; +avp_arity('CPDT-Information', 'SGW-Change') -> {0, 1}; +avp_arity('CPDT-Information', 'NIDD-Submission') -> + {0, 1}; +avp_arity('Current-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Current-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Current-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('Destination-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-TimeStamps') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('Early-Media-Description', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('Enhanced-Diagnostics', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Envelope', 'Envelope-Start-Time') -> 1; +avp_arity('Envelope', 'Envelope-End-Time') -> {0, 1}; +avp_arity('Envelope', 'CC-Total-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Input-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Output-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Event-Type', 'SIP-Method') -> {0, 1}; +avp_arity('Event-Type', 'Event') -> {0, 1}; +avp_arity('Event-Type', 'Expires') -> {0, 1}; +avp_arity('Incremental-Cost', 'Value-Digits') -> 1; +avp_arity('Incremental-Cost', 'Exponent') -> {0, 1}; +avp_arity('IMS-Information', 'Node-Functionality') -> 1; +avp_arity('IMS-Information', 'Event-Type') -> {0, 1}; +avp_arity('IMS-Information', 'Role-Of-Node') -> {0, 1}; +avp_arity('IMS-Information', 'User-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Outgoing-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Session-Priority') -> + {0, 1}; +avp_arity('IMS-Information', 'Calling-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Called-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Called-Asserted-Identity') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Called-Identity-Change') -> + {0, 1}; +avp_arity('IMS-Information', + 'Number-Portability-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Carrier-Select-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Alternate-Charged-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Requested-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Associated-URI') -> + {0, '*'}; +avp_arity('IMS-Information', 'Time-Stamps') -> {0, 1}; +avp_arity('IMS-Information', + 'Application-Server-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Inter-Operator-Identifier') -> + {0, '*'}; +avp_arity('IMS-Information', 'Transit-IOI-List') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('IMS-Information', 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Served-Party-IP-Address') -> + {0, 1}; +avp_arity('IMS-Information', 'Trunk-Group-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Bearer-Service') -> + {0, 1}; +avp_arity('IMS-Information', 'Service-Id') -> {0, 1}; +avp_arity('IMS-Information', 'Service-Specific-Info') -> + {0, '*'}; +avp_arity('IMS-Information', 'Message-Body') -> + {0, '*'}; +avp_arity('IMS-Information', 'Cause-Code') -> {0, 1}; +avp_arity('IMS-Information', 'Reason-Header') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Early-Media-Description') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Communication-Service-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Application-Reference-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'Online-Charging-Flag') -> + {0, 1}; +avp_arity('IMS-Information', + 'Real-Time-Tariff-Information') -> + {0, 1}; +avp_arity('IMS-Information', 'Account-Expiration') -> + {0, 1}; +avp_arity('IMS-Information', + 'Initial-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'NNI-Information') -> + {0, '*'}; +avp_arity('IMS-Information', 'From-Address') -> {0, 1}; +avp_arity('IMS-Information', + 'IMS-Emergency-Indicator') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Visited-Network-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Access-Network-Info-Change') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Transfer-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('IMS-Information', 'Route-Header-Received') -> + {0, 1}; +avp_arity('IMS-Information', + 'Route-Header-Transmitted') -> + {0, 1}; +avp_arity('IMS-Information', 'Instance-Id') -> {0, 1}; +avp_arity('IMS-Information', 'TAD-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'FE-Identifier-List') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Originating-IOI') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Terminating-IOI') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Location') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Value') -> {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Diagnostics') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Type') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-External-ID') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Dialed-By-MS') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Name') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-APN') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Requestor-ID') -> + {0, 1}; +avp_arity('LCS-Client-Name', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Name-String') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Format-Indicator') -> + {0, 1}; +avp_arity('LCS-Information', 'LCS-Client-ID') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Type') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Estimate') -> + {0, 1}; +avp_arity('LCS-Information', 'Positioning-Data') -> + {0, 1}; +avp_arity('LCS-Information', '3GPP-IMSI') -> {0, 1}; +avp_arity('LCS-Information', 'MSISDN') -> {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Requestor-ID-String') -> + {0, 1}; +avp_arity('Location-Info', '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Location-Info', 'Change-Time') -> {0, 1}; +avp_arity('Location-Type', 'Location-Estimate-Type') -> + {0, 1}; +avp_arity('Location-Type', + 'Deferred-Location-Event-Type') -> + {0, 1}; +avp_arity('MBMS-Information', 'TMGI') -> {0, 1}; +avp_arity('MBMS-Information', + 'MBMS-User-Service-Type') -> + {0, 1}; +avp_arity('MBMS-Information', + 'File-Repair-Supported') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-2G-3G-Indicator') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Service-Area') -> + {0, '*'}; +avp_arity('MBMS-Information', + 'MBMS-Session-Identity') -> + {0, 1}; +avp_arity('MBMS-Information', + 'CN-IP-Multicast-Distribution') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-GW-Address') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Charged-Party') -> + {0, 1}; +avp_arity('MBMS-Information', 'MSISDN') -> {0, '*'}; +avp_arity('Message-Body', 'Content-Type') -> 1; +avp_arity('Message-Body', 'Content-Length') -> 1; +avp_arity('Message-Body', 'Content-Disposition') -> + {0, 1}; +avp_arity('Message-Body', 'Originator') -> {0, 1}; +avp_arity('Message-Class', 'Class-Identifier') -> + {0, 1}; +avp_arity('Message-Class', 'Token-Text') -> {0, 1}; +avp_arity('MM-Content-Type', 'Type-Number') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('MM-Content-Type', 'Content-Size') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Content-Information') -> + {0, '*'}; +avp_arity('MMS-Information', 'Originator-Address') -> + {0, 1}; +avp_arity('MMS-Information', 'Recipient-Address') -> + {0, '*'}; +avp_arity('MMS-Information', 'Submission-Time') -> + {0, 1}; +avp_arity('MMS-Information', 'MM-Content-Type') -> + {0, 1}; +avp_arity('MMS-Information', 'Priority') -> {0, 1}; +avp_arity('MMS-Information', 'Message-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Type') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Size') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Class') -> {0, 1}; +avp_arity('MMS-Information', + 'Delivery-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'Read-Reply-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'MMBox-Storage-Requested') -> + {0, 1}; +avp_arity('MMS-Information', 'Applic-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Reply-Applic-ID') -> + {0, 1}; +avp_arity('MMS-Information', 'Aux-Applic-Info') -> + {0, 1}; +avp_arity('MMS-Information', 'Content-Class') -> {0, 1}; +avp_arity('MMS-Information', 'DRM-Content') -> {0, 1}; +avp_arity('MMS-Information', 'Adaptations') -> {0, 1}; +avp_arity('MMTel-Information', + 'Supplementary-Service') -> + {0, '*'}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Functionality') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Configuration-Activity') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Report-Data') -> + {0, '*'}; +avp_arity('Monitoring-Event-Report-Data', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Monitoring-Event-Report-Number') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Subscription-Id') -> + {0, 1}; +avp_arity('Next-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Next-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Next-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('NIDD-Submission', 'Submission-Time') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Event-Timestamp') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Change-Condition') -> + {0, 1}; +avp_arity('NNI-Information', 'Session-Direction') -> + {0, 1}; +avp_arity('NNI-Information', 'NNI-Type') -> {0, 1}; +avp_arity('NNI-Information', 'Relationship-Mode') -> + {0, 1}; +avp_arity('NNI-Information', + 'Neighbour-Node-Address') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Quota-Consumption-Time') -> + {0, 1}; +avp_arity('Offline-Charging', 'Time-Quota-Mechanism') -> + {0, 1}; +avp_arity('Offline-Charging', 'Envelope-Reporting') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Multiple-Services-Credit-Control') -> + {0, '*'}; +avp_arity('Offline-Charging', 'AVP') -> {0, '*'}; +avp_arity('Originator-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Participant-Group', + 'Called-Party-Address') -> + {0, 1}; +avp_arity('Participant-Group', + 'Participant-Access-Priority') -> + {0, 1}; +avp_arity('Participant-Group', + 'User-Participating-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Server-Role') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-User-Role') -> {0, 1}; +avp_arity('PoC-Information', + 'PoC-Session-Initiation-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Event-Type') -> + {0, 1}; +avp_arity('PoC-Information', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('PoC-Information', 'Participants-Involved') -> + {0, '*'}; +avp_arity('PoC-Information', 'Participant-Group') -> + {0, '*'}; +avp_arity('PoC-Information', 'Talk-Burst-Exchange') -> + {0, '*'}; +avp_arity('PoC-Information', + 'PoC-Controlling-Address') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Group-Name') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Id') -> + {0, 1}; +avp_arity('PoC-Information', 'Charged-Party') -> {0, 1}; +avp_arity('PoC-User-Role', 'PoC-User-Role-IDs') -> + {0, 1}; +avp_arity('PoC-User-Role', + 'PoC-User-Role-Info-Units') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Role-Of-ProSe-Function') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-3rd-Party-Application-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Application-Specific-Data') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Event-Type') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Discovery-Model') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Function-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Role-Of-UE') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Request-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requestor-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requested-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Range-Class') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Indication') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Cancellation-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Reason-For-Cancellation') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-EPC-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Layer-2-Group-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Group-IP-Multicast-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Coverage-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Radio-Parameter-Set-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Transmitter-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Time-First-Transmission') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Time-First-Reception') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Transmission-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Reception-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Announcing-PLMN-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Target-Layer-2-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Relay-IP-address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-UE-to-Network-Relay-UE-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Target-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC5-Radio-Technology') -> + {0, 1}; +avp_arity('PS-Furnish-Charging-Information', + '3GPP-Charging-Id') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Free-Format-Data') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Append-Free-Format-Data') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('PS-Information', + 'PDN-Connection-Charging-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Node-Id') -> {0, 1}; +avp_arity('PS-Information', '3GPP-PDP-Type') -> {0, 1}; +avp_arity('PS-Information', 'PDP-Address') -> {0, '*'}; +avp_arity('PS-Information', + 'PDP-Address-Prefix-Length') -> + {0, 1}; +avp_arity('PS-Information', 'Dynamic-Address-Flag') -> + {0, 1}; +avp_arity('PS-Information', + 'Dynamic-Address-Flag-Extension') -> + {0, 1}; +avp_arity('PS-Information', 'QoS-Information') -> + {0, 1}; +avp_arity('PS-Information', 'SGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'GGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TDF-IP-Address') -> + {0, '*'}; +avp_arity('PS-Information', 'SGW-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TWAG-Address') -> {0, '*'}; +avp_arity('PS-Information', 'CG-Address') -> {0, 1}; +avp_arity('PS-Information', 'Serving-Node-Type') -> + {0, 1}; +avp_arity('PS-Information', 'SGW-Change') -> {0, 1}; +avp_arity('PS-Information', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', + 'IMSI-Unauthenticated-Flag') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-GGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-NSAPI') -> {0, 1}; +avp_arity('PS-Information', 'Called-Station-Id') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Session-Stop-Indicator') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Characteristics-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'User-Location-Info-Time') -> + {0, 1}; +avp_arity('PS-Information', 'User-CSG-Information') -> + {0, 1}; +avp_arity('PS-Information', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('PS-Information', + 'TWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-RAT-Type') -> {0, 1}; +avp_arity('PS-Information', + 'PS-Furnish-Charging-Information') -> + {0, 1}; +avp_arity('PS-Information', 'PDP-Context-Type') -> + {0, 1}; +avp_arity('PS-Information', 'Offline-Charging') -> + {0, 1}; +avp_arity('PS-Information', 'Traffic-Data-Volumes') -> + {0, '*'}; +avp_arity('PS-Information', 'Service-Data-Container') -> + {0, '*'}; +avp_arity('PS-Information', 'User-Equipment-Info') -> + {0, 1}; +avp_arity('PS-Information', 'Start-Time') -> {0, 1}; +avp_arity('PS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('PS-Information', 'Change-Condition') -> + {0, 1}; +avp_arity('PS-Information', 'Diagnostics') -> {0, 1}; +avp_arity('PS-Information', 'Low-Priority-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Physical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', + 'Fixed-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'CN-Operator-Selection-Entity') -> + {0, 1}; +avp_arity('PS-Information', 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('PS-Information', + 'SGi-PtP-Tunnelling-Method') -> + {0, 1}; +avp_arity('PS-Information', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'UNI-PDU-CP-Only-Flag') -> + {0, 1}; +avp_arity('PS-Information', 'APN-Rate-Control') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Per-IP-CAN-Session-Indicator') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('PS-Information', 'SCS-AS-Address') -> {0, 1}; +avp_arity('PS-Information', 'Unused-Quota-Timer') -> + {0, 1}; +avp_arity('PS-Information', + 'RAN-Secondary-RAT-Usage-Report') -> + {0, '*'}; +avp_arity('PS-Information', 'AVP') -> {0, '*'}; +avp_arity('Radio-Parameter-Set-Info', + 'Radio-Parameter-Set-Values') -> + {0, 1}; +avp_arity('Radio-Parameter-Set-Info', 'Change-Time') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Secondary-RAT-Type') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Rate-Element', 'CC-Unit-Type') -> 1; +avp_arity('Rate-Element', 'Charge-Reason-Code') -> + {0, 1}; +avp_arity('Rate-Element', 'Unit-Value') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Cost') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Quota-Threshold') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-Information') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-XML') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Recipient-Address', 'Addressee-Type') -> + {0, 1}; +avp_arity('Recipient-Info', 'Destination-Interface') -> + {0, 1}; +avp_arity('Recipient-Info', 'Recipient-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', + 'Recipient-Received-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', 'Recipient-SCCP-Address') -> + {0, 1}; +avp_arity('Recipient-Info', 'SM-Protocol-ID') -> {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'SGSN-Address') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Related-Change-Condition-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Related-Trigger', 'Trigger-Type') -> + {0, '*'}; +avp_arity('Remaining-Balance', 'Unit-Value') -> 1; +avp_arity('Remaining-Balance', 'Currency-Code') -> 1; +avp_arity('Scale-Factor', 'Value-Digits') -> 1; +avp_arity('Scale-Factor', 'Exponent') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Realm') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Address') -> {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Media-Name') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'SDP-Media-Description') -> + {0, '*'}; +avp_arity('SDP-Media-Component', + 'Local-GW-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'IP-Realm-Default-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Transcoder-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Flag') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Party') -> + {0, 1}; +avp_arity('SDP-Media-Component', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Access-Network-Charging-Identifier-Value') -> + {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Type') -> {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Offer-Timestamp') -> + {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Answer-Timestamp') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'AF-Correlation-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'QoS-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Rating-Group') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Change-Time') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Specific-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', 'SGSN-Address') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-First-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-Last-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Time-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Service-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'APN-Rate-Control') -> + {0, 1}; +avp_arity('Service-Data-Container', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('Service-Information', 'Subscription-Id') -> + {0, '*'}; +avp_arity('Service-Information', 'AoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'IMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'LCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MBMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'SMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'VCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMTel-Information') -> + {0, 1}; +avp_arity('Service-Information', 'ProSe-Information') -> + {0, 1}; +avp_arity('Service-Information', 'CPDT-Information') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Data') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Type') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'Validity-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Node') -> {0, 1}; +avp_arity('SMS-Information', 'Client-Address') -> + {0, 1}; +avp_arity('SMS-Information', + 'Originator-SCCP-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SMSC-Address') -> {0, 1}; +avp_arity('SMS-Information', 'Data-Coding-Scheme') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Discharge-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Message-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'Originator-Interface') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Protocol-ID') -> + {0, 1}; +avp_arity('SMS-Information', 'Reply-Path-Requested') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Status') -> {0, 1}; +avp_arity('SMS-Information', 'SM-User-Data-Header') -> + {0, 1}; +avp_arity('SMS-Information', + 'Number-Of-Messages-Sent') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Sequence-Number') -> + {0, 1}; +avp_arity('SMS-Information', 'Recipient-Info') -> + {0, '*'}; +avp_arity('SMS-Information', + 'Originator-Received-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Service-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Result') -> {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Indicator') -> + {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Information') -> + {0, 1}; +avp_arity('SMS-Information', 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'MMTel-SService-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Mode') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Diversions') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Associated-Party-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Id') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Change-Time') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Participant-Action-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'CUG-Information') -> + {0, 1}; +avp_arity('Supplementary-Service', 'AoC-Information') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'PoC-Change-Time') -> + 1; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Received-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'PoC-Change-Condition') -> + {0, 1}; +avp_arity('Tariff-Information', 'Current-Tariff') -> 1; +avp_arity('Tariff-Information', 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Tariff-Information', 'Next-Tariff') -> + {0, 1}; +avp_arity('Time-Quota-Mechanism', 'Time-Quota-Type') -> + 1; +avp_arity('Time-Quota-Mechanism', + 'Base-Time-Interval') -> + 1; +avp_arity('Time-Stamps', 'SIP-Request-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', 'SIP-Response-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Request-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Response-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'QoS-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Condition') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Time') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('Transmitter-Info', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('Transmitter-Info', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('Trigger', 'Trigger-Type') -> {0, '*'}; +avp_arity('Trunk-Group-Id', + 'Incoming-Trunk-Group-Id') -> + {0, 1}; +avp_arity('Trunk-Group-Id', + 'Outgoing-Trunk-Group-Id') -> + {0, 1}; +avp_arity('TWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Unit-Cost', 'Value-Digits') -> 1; +avp_arity('Unit-Cost', 'Exponent') -> {0, 1}; +avp_arity('User-CSG-Information', 'CSG-Access-Mode') -> + 1; +avp_arity('User-CSG-Information', + 'CSG-Membership-Indication') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', + 'UE-Local-IP-Address') -> + 1; +avp_arity('UWAN-User-Location-Info', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Variable-Part', 'Variable-Part-Type') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Value') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Order') -> + {0, 1}; +avp_arity('VCS-Information', 'Bearer-Capability') -> + {0, 1}; +avp_arity('VCS-Information', + 'Network-Call-Reference-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'MSC-Address') -> {0, 1}; +avp_arity('VCS-Information', 'Basic-Service-Code') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Location-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'VLR-Number') -> {0, 1}; +avp_arity('VCS-Information', 'Forwarding-Pending') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Cause') -> {0, 1}; +avp_arity('VCS-Information', 'Start-Time') -> {0, 1}; +avp_arity('VCS-Information', 'Start-of-Charging') -> + {0, 1}; +avp_arity('VCS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('VCS-Information', 'PS-Free-Format-Data') -> + {0, 1}; +avp_arity('Emergency-Info', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('Emergency-Info', 'AVP') -> {0, '*'}; +avp_arity('MIP6-Agent-Info', + 'MIP-Home-Agent-Address') -> + {0, 2}; +avp_arity('MIP6-Agent-Info', 'MIP-Home-Agent-Host') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'MIP6-Home-Link-Prefix') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Access-Network-Charging-Identifier-Value') -> + 1; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'IP-CAN-Session-Charging-Scope') -> + {0, 1}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'AVP') -> + {0, '*'}; +avp_arity('Allocation-Retention-Priority', + 'Priority-Level') -> + 1; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Capability') -> + {0, 1}; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Vulnerability') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'TDF-Application-Identifier') -> + 1; +avp_arity('Application-Detection-Information', + 'TDF-Application-Instance-Identifier') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Application-Detection-Information', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Charging-Rule-Name') -> + 1; +avp_arity('Charging-Rule-Definition', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Rating-Group') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'TDF-Application-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flow-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'QoS-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'PS-to-CS-Session-Continuity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Reporting-Level') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Online') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Offline') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Metering-Method') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Charging-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flows') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Redirect-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Mute-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Signalling-Protocol') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Definition') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Activation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Deactivation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Resource-Allocation-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Charging-Correlation-Indicator') -> + {0, 1}; +avp_arity('Charging-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Report', 'PCC-Rule-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Rule-Failure-Code') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', 'AVP') -> {0, '*'}; +avp_arity('CoA-Information', 'Tunnel-Information') -> 1; +avp_arity('CoA-Information', 'CoA-IP-Address') -> 1; +avp_arity('CoA-Information', 'AVP') -> {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'IP-CAN-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'RAT-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'AVP') -> + {0, '*'}; +avp_arity('Default-EPS-Bearer-QoS', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', 'AVP') -> {0, '*'}; +avp_arity('Default-QoS-Information', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Default-QoS-Name') -> + {0, 1}; +avp_arity('Default-QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Event-Report-Indication', 'Event-Trigger') -> + {0, '*'}; +avp_arity('Event-Report-Indication', 'IP-CAN-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AN-GW-Address') -> + {0, 2}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-IPv6-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Framed-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAT-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAI') -> {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UE-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'HeNB-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AVP') -> {0, '*'}; +avp_arity('Fixed-User-Location-Info', + 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', + 'Physical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', 'AVP') -> + {0, '*'}; +avp_arity('Flow-Information', 'Flow-Description') -> + {0, 1}; +avp_arity('Flow-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Flow-Information', 'Packet-Filter-Usage') -> + {0, 1}; +avp_arity('Flow-Information', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Flow-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Flow-Information', 'Flow-Label') -> {0, 1}; +avp_arity('Flow-Information', 'Flow-Direction') -> + {0, 1}; +avp_arity('Flow-Information', 'AVP') -> {0, '*'}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Precedence') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Content') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Flow-Label') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Identifier') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Elements-List') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'AVP') -> + {0, '*'}; +avp_arity('QoS-Information', 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Bearer-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Conditional-APN-Aggregate-Max-Bitrate') -> + {0, '*'}; +avp_arity('QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Redirect-Information', 'Redirect-Support') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Address-Type') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Server-Address') -> + {0, 1}; +avp_arity('Redirect-Information', 'AVP') -> {0, '*'}; +avp_arity('Routing-Filter', 'Flow-Description') -> 1; +avp_arity('Routing-Filter', 'Flow-Direction') -> 1; +avp_arity('Routing-Filter', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Routing-Filter', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Routing-Filter', 'Flow-Label') -> {0, 1}; +avp_arity('Routing-Filter', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Definition', + 'Routing-Rule-Identifier') -> + 1; +avp_arity('Routing-Rule-Definition', + 'Routing-Filter') -> + {0, '*'}; +avp_arity('Routing-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Install', + 'Routing-Rule-Definition') -> + {0, '*'}; +avp_arity('Routing-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Remove', + 'Routing-Rule-Identifier') -> + {0, '*'}; +avp_arity('Routing-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('TDF-Information', 'TDF-Destination-Realm') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-Destination-Host') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-IP-Address') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Length') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Filter') -> + {0, 2}; +avp_arity('Tunnel-Information', 'AVP') -> {0, '*'}; +avp_arity('TFT-Packet-Filter-Information', + 'Precedence') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'TFT-Filter') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Label') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Usage-Monitoring-Information', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Granted-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Used-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Level') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Report') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Support') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', 'AVP') -> + {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('3GPP2-MEID') -> {1471, 192, 10415}; +avp_header('A-MSISDN') -> {1643, 128, 10415}; +avp_header('AMBR') -> {1435, 192, 10415}; +avp_header('APN-Configuration') -> {1430, 192, 10415}; +avp_header('APN-Configuration-Profile') -> + {1429, 192, 10415}; +avp_header('AUTN') -> {1449, 192, 10415}; +avp_header('Access-Restriction-Data') -> + {1426, 192, 10415}; +avp_header('Active-APN') -> {1612, 128, 10415}; +avp_header('Age-Of-Location-Information') -> + {1611, 128, 10415}; +avp_header('Alert-Reason') -> {1434, 192, 10415}; +avp_header('All-APN-Configurations-Included-Indicator') -> + {1428, 192, 10415}; +avp_header('Area-Scope') -> {1624, 128, 10415}; +avp_header('Authentication-Info') -> {1413, 192, 10415}; +avp_header('CLR-Flags') -> {1638, 128, 10415}; +avp_header('CSG-Id') -> {1437, 192, 10415}; +avp_header('CSG-Subscription-Data') -> + {1436, 192, 10415}; +avp_header('Call-Barring-Info') -> {1488, 192, 10415}; +avp_header('Cancellation-Type') -> {1420, 192, 10415}; +avp_header('Cell-Global-Identity') -> + {1604, 128, 10415}; +avp_header('Client-Identity') -> {1480, 192, 10415}; +avp_header('Collection-Period-RRM-LTE') -> + {1657, 128, 10415}; +avp_header('Collection-Period-RRM-UMTS') -> + {1658, 128, 10415}; +avp_header('Complete-Data-List-Included-Indicator') -> + {1468, 192, 10415}; +avp_header('Context-Identifier') -> {1423, 192, 10415}; +avp_header('Core-Network-Restrictions') -> + {1704, 128, 10415}; +avp_header('Current-Location-Retrieved') -> + {1610, 128, 10415}; +avp_header('DSA-Flags') -> {1422, 192, 10415}; +avp_header('DSR-Flags') -> {1421, 192, 10415}; +avp_header('Daylight-Saving-Time') -> + {1650, 128, 10415}; +avp_header('E-UTRAN-Cell-Global-Identity') -> + {1602, 128, 10415}; +avp_header('E-UTRAN-Vector') -> {1414, 192, 10415}; +avp_header('EPS-Location-Information') -> + {1496, 128, 10415}; +avp_header('EPS-Subscribed-QoS-Profile') -> + {1431, 192, 10415}; +avp_header('EPS-User-State') -> {1495, 128, 10415}; +avp_header('Equipment-Status') -> {1445, 192, 10415}; +avp_header('Equivalent-PLMN-List') -> + {1637, 128, 10415}; +avp_header('Error-Diagnostic') -> {1614, 128, 10415}; +avp_header('Event-Threshold-Event-1F') -> + {1661, 128, 10415}; +avp_header('Event-Threshold-Event-1I') -> + {1662, 128, 10415}; +avp_header('Event-Threshold-RSRP') -> + {1629, 128, 10415}; +avp_header('Event-Threshold-RSRQ') -> + {1630, 128, 10415}; +avp_header('Expiration-Date') -> {1439, 192, 10415}; +avp_header('Ext-PDP-Address') -> {1621, 128, 10415}; +avp_header('Ext-PDP-Type') -> {1620, 128, 10415}; +avp_header('External-Client') -> {1479, 192, 10415}; +avp_header('GERAN-Vector') -> {1416, 192, 10415}; +avp_header('GMLC-Restriction') -> {1481, 192, 10415}; +avp_header('GPRS-Subscription-Data') -> + {1467, 192, 10415}; +avp_header('Geodetic-Information') -> + {1609, 128, 10415}; +avp_header('Geographical-Information') -> + {1608, 128, 10415}; +avp_header('HPLMN-ODB') -> {1418, 192, 10415}; +avp_header('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions') -> + {1493, 128, 10415}; +avp_header('ICS-Indicator') -> {1491, 128, 10415}; +avp_header('IDA-Flags') -> {1441, 192, 10415}; +avp_header('IDR-Flags') -> {1490, 192, 10415}; +avp_header('IMEI') -> {1402, 192, 10415}; +avp_header('IMS-Voice-Over-PS-Sessions-Supported') -> + {1492, 128, 10415}; +avp_header('Immediate-Response-Preferred') -> + {1412, 192, 10415}; +avp_header('Item-Number') -> {1419, 192, 10415}; +avp_header('Job-Type') -> {1623, 128, 10415}; +avp_header('KASME') -> {1450, 192, 10415}; +avp_header('Kc') -> {1453, 192, 10415}; +avp_header('LCS-Info') -> {1473, 192, 10415}; +avp_header('LCS-PrivacyException') -> + {1475, 192, 10415}; +avp_header('LIPA-Permission') -> {1618, 128, 10415}; +avp_header('Last-UE-Activity-Time') -> + {1494, 128, 10415}; +avp_header('List-Of-Measurements') -> + {1625, 128, 10415}; +avp_header('Local-Time-Zone') -> {1649, 128, 10415}; +avp_header('Location-Area-Identity') -> + {1606, 128, 10415}; +avp_header('Logging-Duration') -> {1632, 128, 10415}; +avp_header('Logging-Interval') -> {1631, 128, 10415}; +avp_header('MDT-Configuration') -> {1622, 128, 10415}; +avp_header('MDT-User-Consent') -> {1634, 128, 10415}; +avp_header('MME-Location-Information') -> + {1600, 128, 10415}; +avp_header('MME-Number-for-MT-SMS') -> + {1645, 128, 10415}; +avp_header('MME-User-State') -> {1497, 128, 10415}; +avp_header('MO-LR') -> {1485, 192, 10415}; +avp_header('MPS-Priority') -> {1616, 128, 10415}; +avp_header('Measurement-Period-LTE') -> + {1656, 128, 10415}; +avp_header('Measurement-Period-UMTS') -> + {1655, 128, 10415}; +avp_header('Measurement-Quantity') -> + {1660, 128, 10415}; +avp_header('NOR-Flags') -> {1443, 192, 10415}; +avp_header('Network-Access-Mode') -> {1417, 192, 10415}; +avp_header('Notification-To-UE-User') -> + {1478, 192, 10415}; +avp_header('Number-Of-Requested-Vectors') -> + {1410, 192, 10415}; +avp_header('OMC-Id') -> {1466, 192, 10415}; +avp_header('Operator-Determined-Barring') -> + {1425, 192, 10415}; +avp_header('PDN-GW-Allocation-Type') -> + {1438, 192, 10415}; +avp_header('PDN-Type') -> {1456, 192, 10415}; +avp_header('PDP-Context') -> {1469, 192, 10415}; +avp_header('PDP-Type') -> {1470, 192, 10415}; +avp_header('PLMN-Client') -> {1482, 192, 10415}; +avp_header('PUA-Flags') -> {1442, 192, 10415}; +avp_header('PUR-Flags') -> {1635, 128, 10415}; +avp_header('Positioning-Method') -> {1659, 128, 10415}; +avp_header('QoS-Subscribed') -> {1404, 192, 10415}; +avp_header('RAND') -> {1447, 192, 10415}; +avp_header('RAT-Frequency-Selection-Priority-ID') -> + {1440, 192, 10415}; +avp_header('Re-Synchronization-Info') -> + {1411, 192, 10415}; +avp_header('Regional-Subscription-Zone-Code') -> + {1446, 192, 10415}; +avp_header('Relay-Node-Indicator') -> + {1633, 128, 10415}; +avp_header('Report-Amount') -> {1628, 128, 10415}; +avp_header('Report-Interval') -> {1627, 128, 10415}; +avp_header('Reporting-Trigger') -> {1626, 128, 10415}; +avp_header('Requested-EUTRAN-Authentication-Info') -> + {1408, 192, 10415}; +avp_header('Requested-UTRAN-GERAN-Authentication-Info') -> + {1409, 192, 10415}; +avp_header('Restoration-Priority') -> + {1663, 128, 10415}; +avp_header('Roaming-Restricted-Due-To-Unsupported-Feature') -> + {1457, 192, 10415}; +avp_header('Routing-Area-Identity') -> + {1605, 128, 10415}; +avp_header('SGSN-Location-Information') -> + {1601, 128, 10415}; +avp_header('SGSN-User-State') -> {1498, 128, 10415}; +avp_header('SIPTO-Permission') -> {1613, 128, 10415}; +avp_header('SMS-Register-Request') -> + {1648, 128, 10415}; +avp_header('SRES') -> {1454, 192, 10415}; +avp_header('SS-Code') -> {1476, 192, 10415}; +avp_header('SS-Status') -> {1477, 192, 10415}; +avp_header('STN-SR') -> {1433, 192, 10415}; +avp_header('Service-Area-Identity') -> + {1607, 128, 10415}; +avp_header('Service-Type') -> {1483, 192, 10415}; +avp_header('ServiceTypeIdentity') -> {1484, 192, 10415}; +avp_header('Software-Version') -> {1403, 192, 10415}; +avp_header('Specific-APN-Info') -> {1472, 192, 10415}; +avp_header('Subscribed-Periodic-RAU-TAU-Timer') -> + {1619, 128, 10415}; +avp_header('Subscribed-VSRVCC') -> {1636, 128, 10415}; +avp_header('Subscriber-Status') -> {1424, 192, 10415}; +avp_header('Subscription-Data') -> {1400, 192, 10415}; +avp_header('Subscription-Data-Flags') -> + {1654, 128, 10415}; +avp_header('TS-Code') -> {1487, 192, 10415}; +avp_header('Teleservice-List') -> {1486, 192, 10415}; +avp_header('Terminal-Information') -> + {1401, 192, 10415}; +avp_header('Time-Zone') -> {1642, 128, 10415}; +avp_header('Trace-Collection-Entity') -> + {1452, 192, 10415}; +avp_header('Trace-Data') -> {1458, 192, 10415}; +avp_header('Trace-Depth') -> {1462, 192, 10415}; +avp_header('Trace-Event-List') -> {1465, 192, 10415}; +avp_header('Trace-Interface-List') -> + {1464, 192, 10415}; +avp_header('Trace-NE-Type-List') -> {1463, 192, 10415}; +avp_header('Trace-Reference') -> {1459, 192, 10415}; +avp_header('Tracking-Area-Identity') -> + {1603, 128, 10415}; +avp_header('UE-SRVCC-Capability') -> {1615, 128, 10415}; +avp_header('UE-Usage-Type') -> {1680, 128, 10415}; +avp_header('ULA-Flags') -> {1406, 192, 10415}; +avp_header('ULR-Flags') -> {1405, 192, 10415}; +avp_header('UTRAN-Vector') -> {1415, 192, 10415}; +avp_header('UVA-Flags') -> {1640, 192, 10415}; +avp_header('UVR-Flags') -> {1639, 192, 10415}; +avp_header('User-Id') -> {1444, 128, 10415}; +avp_header('User-State') -> {1499, 128, 10415}; +avp_header('VPLMN-CSG-Subscription-Data') -> + {1641, 192, 10415}; +avp_header('VPLMN-Dynamic-Address-Allowed') -> + {1432, 192, 10415}; +avp_header('VPLMN-LIPA-Allowed') -> {1617, 128, 10415}; +avp_header('Visited-PLMN-Id') -> {1407, 192, 10415}; +avp_header('XRES') -> {1448, 192, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header('AF-Application-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Application-Identifier'); +avp_header('AF-Charging-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Charging-Identifier'); +avp_header('AF-Signalling-Protocol') -> + diameter_3gpp_ts29_214:avp_header('AF-Signalling-Protocol'); +avp_header('Abort-Cause') -> + diameter_3gpp_ts29_214:avp_header('Abort-Cause'); +avp_header('Access-Network-Charging-Address') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Address'); +avp_header('Access-Network-Charging-Identifier-Value') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Identifier-Value'); +avp_header('Application-Service-Provider-Identity') -> + diameter_3gpp_ts29_214:avp_header('Application-Service-Provider-Identity'); +avp_header('Codec-Data') -> + diameter_3gpp_ts29_214:avp_header('Codec-Data'); +avp_header('Flow-Description') -> + diameter_3gpp_ts29_214:avp_header('Flow-Description'); +avp_header('Flow-Number') -> + diameter_3gpp_ts29_214:avp_header('Flow-Number'); +avp_header('Flow-Status') -> + diameter_3gpp_ts29_214:avp_header('Flow-Status'); +avp_header('Flow-Usage') -> + diameter_3gpp_ts29_214:avp_header('Flow-Usage'); +avp_header('Flows') -> + diameter_3gpp_ts29_214:avp_header('Flows'); +avp_header('GCS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('GCS-Identifier'); +avp_header('IP-Domain-Id') -> + diameter_3gpp_ts29_214:avp_header('IP-Domain-Id'); +avp_header('MPS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('MPS-Identifier'); +avp_header('Max-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-DL'); +avp_header('Max-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-UL'); +avp_header('Media-Component-Number') -> + diameter_3gpp_ts29_214:avp_header('Media-Component-Number'); +avp_header('Media-Type') -> + diameter_3gpp_ts29_214:avp_header('Media-Type'); +avp_header('Min-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-DL'); +avp_header('Min-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-UL'); +avp_header('RR-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RR-Bandwidth'); +avp_header('RS-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RS-Bandwidth'); +avp_header('Required-Access-Info') -> + diameter_3gpp_ts29_214:avp_header('Required-Access-Info'); +avp_header('Rx-Request-Type') -> + diameter_3gpp_ts29_214:avp_header('Rx-Request-Type'); +avp_header('SIP-Forking-Indication') -> + diameter_3gpp_ts29_214:avp_header('SIP-Forking-Indication'); +avp_header('Service-Info-Status') -> + diameter_3gpp_ts29_214:avp_header('Service-Info-Status'); +avp_header('Service-URN') -> + diameter_3gpp_ts29_214:avp_header('Service-URN'); +avp_header('Specific-Action') -> + diameter_3gpp_ts29_214:avp_header('Specific-Action'); +avp_header('Sponsor-Identity') -> + diameter_3gpp_ts29_214:avp_header('Sponsor-Identity'); +avp_header('Call-ID-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('Call-ID-SIP-Header'); +avp_header('Charging-Information') -> + diameter_3gpp_ts29_229:avp_header('Charging-Information'); +avp_header('Confidentiality-Key') -> + diameter_3gpp_ts29_229:avp_header('Confidentiality-Key'); +avp_header('Contact') -> + diameter_3gpp_ts29_229:avp_header('Contact'); +avp_header('Deregistration-Reason') -> + diameter_3gpp_ts29_229:avp_header('Deregistration-Reason'); +avp_header('Digest-Algorithm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Algorithm'); +avp_header('Digest-HA1') -> + diameter_3gpp_ts29_229:avp_header('Digest-HA1'); +avp_header('Digest-QoP') -> + diameter_3gpp_ts29_229:avp_header('Digest-QoP'); +avp_header('Digest-Realm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Realm'); +avp_header('Feature-List') -> + diameter_3gpp_ts29_229:avp_header('Feature-List'); +avp_header('Feature-List-ID') -> + diameter_3gpp_ts29_229:avp_header('Feature-List-ID'); +avp_header('From-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('From-SIP-Header'); +avp_header('Initial-CSeq-Sequence-Number') -> + diameter_3gpp_ts29_229:avp_header('Initial-CSeq-Sequence-Number'); +avp_header('Integrity-Key') -> + diameter_3gpp_ts29_229:avp_header('Integrity-Key'); +avp_header('LIA-Flags') -> + diameter_3gpp_ts29_229:avp_header('LIA-Flags'); +avp_header('Loose-Route-Indication') -> + diameter_3gpp_ts29_229:avp_header('Loose-Route-Indication'); +avp_header('Mandatory-Capability') -> + diameter_3gpp_ts29_229:avp_header('Mandatory-Capability'); +avp_header('Multiple-Registration-Indication') -> + diameter_3gpp_ts29_229:avp_header('Multiple-Registration-Indication'); +avp_header('Optional-Capability') -> + diameter_3gpp_ts29_229:avp_header('Optional-Capability'); +avp_header('Originating-Request') -> + diameter_3gpp_ts29_229:avp_header('Originating-Request'); +avp_header('Path') -> + diameter_3gpp_ts29_229:avp_header('Path'); +avp_header('Primary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Charging-Collection-Function-Name'); +avp_header('Primary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Event-Charging-Function-Name'); +avp_header('Priviledged-Sender-Indication') -> + diameter_3gpp_ts29_229:avp_header('Priviledged-Sender-Indication'); +avp_header('Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Public-Identity'); +avp_header('Reason-Code') -> + diameter_3gpp_ts29_229:avp_header('Reason-Code'); +avp_header('Reason-Info') -> + diameter_3gpp_ts29_229:avp_header('Reason-Info'); +avp_header('Record-Route') -> + diameter_3gpp_ts29_229:avp_header('Record-Route'); +avp_header('SAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('SAR-Flags'); +avp_header('SIP-Auth-Data-Item') -> + diameter_3gpp_ts29_229:avp_header('SIP-Auth-Data-Item'); +avp_header('SIP-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authenticate'); +avp_header('SIP-Authentication-Context') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Context'); +avp_header('SIP-Authentication-Scheme') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Scheme'); +avp_header('SIP-Authorization') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authorization'); +avp_header('SIP-Digest-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Digest-Authenticate'); +avp_header('SIP-Item-Number') -> + diameter_3gpp_ts29_229:avp_header('SIP-Item-Number'); +avp_header('SIP-Number-Auth-Items') -> + diameter_3gpp_ts29_229:avp_header('SIP-Number-Auth-Items'); +avp_header('Secondary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Charging-Collection-Function-Name'); +avp_header('Secondary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Event-Charging-Function-Name'); +avp_header('Server-Assignment-Type') -> + diameter_3gpp_ts29_229:avp_header('Server-Assignment-Type'); +avp_header('Server-Name') -> + diameter_3gpp_ts29_229:avp_header('Server-Name'); +avp_header('Session-Priority') -> + diameter_3gpp_ts29_229:avp_header('Session-Priority'); +avp_header('Supported-Applications') -> + diameter_3gpp_ts29_229:avp_header('Supported-Applications'); +avp_header('Supported-Features') -> + diameter_3gpp_ts29_229:avp_header('Supported-Features'); +avp_header('To-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('To-SIP-Header'); +avp_header('UAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('UAR-Flags'); +avp_header('User-Authorization-Type') -> + diameter_3gpp_ts29_229:avp_header('User-Authorization-Type'); +avp_header('User-Data') -> + diameter_3gpp_ts29_229:avp_header('User-Data'); +avp_header('User-Data-Already-Available') -> + diameter_3gpp_ts29_229:avp_header('User-Data-Already-Available'); +avp_header('Visited-Network-Identifier') -> + diameter_3gpp_ts29_229:avp_header('Visited-Network-Identifier'); +avp_header('Wildcarded-Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Wildcarded-Public-Identity'); +avp_header('Current-Location') -> + diameter_3gpp_ts29_329:avp_header('Current-Location'); +avp_header('DSAI-Tag') -> + diameter_3gpp_ts29_329:avp_header('DSAI-Tag'); +avp_header('Data-Reference') -> + diameter_3gpp_ts29_329:avp_header('Data-Reference'); +avp_header('Expiry-Time') -> + diameter_3gpp_ts29_329:avp_header('Expiry-Time'); +avp_header('Identity-Set') -> + diameter_3gpp_ts29_329:avp_header('Identity-Set'); +avp_header('MSISDN') -> + diameter_3gpp_ts29_329:avp_header('MSISDN'); +avp_header('One-Time-Notification') -> + diameter_3gpp_ts29_329:avp_header('One-Time-Notification'); +avp_header('Requested-Domain') -> + diameter_3gpp_ts29_329:avp_header('Requested-Domain'); +avp_header('Requested-Nodes') -> + diameter_3gpp_ts29_329:avp_header('Requested-Nodes'); +avp_header('Send-Data-Indication') -> + diameter_3gpp_ts29_329:avp_header('Send-Data-Indication'); +avp_header('Sequence-Number') -> + diameter_3gpp_ts29_329:avp_header('Sequence-Number'); +avp_header('Service-Indication') -> + diameter_3gpp_ts29_329:avp_header('Service-Indication'); +avp_header('Serving-Node-Indication') -> + diameter_3gpp_ts29_329:avp_header('Serving-Node-Indication'); +avp_header('Subs-Req-Type') -> + diameter_3gpp_ts29_329:avp_header('Subs-Req-Type'); +avp_header('3GPP-AAA-Server-Name') -> + diameter_3gpp_ts29_173:avp_header('3GPP-AAA-Server-Name'); +avp_header('Additional-Serving-Node') -> + diameter_3gpp_ts29_173:avp_header('Additional-Serving-Node'); +avp_header('GMLC-Address') -> + diameter_3gpp_ts29_173:avp_header('GMLC-Address'); +avp_header('LCS-Capabilities-Sets') -> + diameter_3gpp_ts29_173:avp_header('LCS-Capabilities-Sets'); +avp_header('LMSI') -> + diameter_3gpp_ts29_173:avp_header('LMSI'); +avp_header('MME-Name') -> + diameter_3gpp_ts29_173:avp_header('MME-Name'); +avp_header('MME-Realm') -> + diameter_3gpp_ts29_173:avp_header('MME-Realm'); +avp_header('MSC-Number') -> + diameter_3gpp_ts29_173:avp_header('MSC-Number'); +avp_header('PPR-Address') -> + diameter_3gpp_ts29_173:avp_header('PPR-Address'); +avp_header('RIA-Flags') -> + diameter_3gpp_ts29_173:avp_header('RIA-Flags'); +avp_header('SGSN-Name') -> + diameter_3gpp_ts29_173:avp_header('SGSN-Name'); +avp_header('SGSN-Realm') -> + diameter_3gpp_ts29_173:avp_header('SGSN-Realm'); +avp_header('Serving-Node') -> + diameter_3gpp_ts29_173:avp_header('Serving-Node'); +avp_header('3GPP-PS-Data-Off-Status') -> + diameter_3gpp_ts32_299:avp_header('3GPP-PS-Data-Off-Status'); +avp_header('AF-Correlation-Information') -> + diameter_3gpp_ts32_299:avp_header('AF-Correlation-Information'); +avp_header('APN-Rate-Control') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control'); +avp_header('APN-Rate-Control-Downlink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Downlink'); +avp_header('APN-Rate-Control-Uplink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Uplink'); +avp_header('Access-Network-Info-Change') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Info-Change'); +avp_header('Access-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Information'); +avp_header('Access-Transfer-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Information'); +avp_header('Access-Transfer-Type') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Type'); +avp_header('Account-Expiration') -> + diameter_3gpp_ts32_299:avp_header('Account-Expiration'); +avp_header('Accumulated-Cost') -> + diameter_3gpp_ts32_299:avp_header('Accumulated-Cost'); +avp_header('Adaptations') -> + diameter_3gpp_ts32_299:avp_header('Adaptations'); +avp_header('Additional-Content-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Content-Information'); +avp_header('Additional-Exception-Reports') -> + diameter_3gpp_ts32_299:avp_header('Additional-Exception-Reports'); +avp_header('Additional-Type-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Type-Information'); +avp_header('Address-Data') -> + diameter_3gpp_ts32_299:avp_header('Address-Data'); +avp_header('Address-Domain') -> + diameter_3gpp_ts32_299:avp_header('Address-Domain'); +avp_header('Address-Type') -> + diameter_3gpp_ts32_299:avp_header('Address-Type'); +avp_header('Addressee-Type') -> + diameter_3gpp_ts32_299:avp_header('Addressee-Type'); +avp_header('Alternate-Charged-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Alternate-Charged-Party-Address'); +avp_header('Announcement-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Identifier'); +avp_header('Announcement-Information') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Information'); +avp_header('Announcement-Order') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Order'); +avp_header('Announcing-PLMN-ID') -> + diameter_3gpp_ts32_299:avp_header('Announcing-PLMN-ID'); +avp_header('Announcing-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-HPLMN-Identifier'); +avp_header('Announcing-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-VPLMN-Identifier'); +avp_header('AoC-Cost-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Cost-Information'); +avp_header('AoC-Format') -> + diameter_3gpp_ts32_299:avp_header('AoC-Format'); +avp_header('AoC-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Information'); +avp_header('AoC-Request-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Request-Type'); +avp_header('AoC-Service') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service'); +avp_header('AoC-Service-Obligatory-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Obligatory-Type'); +avp_header('AoC-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Type'); +avp_header('AoC-Subscription-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Subscription-Information'); +avp_header('Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Applic-ID'); +avp_header('Application-Provided-Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Application-Provided-Called-Party-Address'); +avp_header('Application-Server') -> + diameter_3gpp_ts32_299:avp_header('Application-Server'); +avp_header('Application-Server-Information') -> + diameter_3gpp_ts32_299:avp_header('Application-Server-Information'); +avp_header('Application-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Application-Specific-Data'); +avp_header('Associated-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Associated-Party-Address'); +avp_header('Associated-URI') -> + diameter_3gpp_ts32_299:avp_header('Associated-URI'); +avp_header('Authorised-QoS') -> + diameter_3gpp_ts32_299:avp_header('Authorised-QoS'); +avp_header('Aux-Applic-Info') -> + diameter_3gpp_ts32_299:avp_header('Aux-Applic-Info'); +avp_header('BSSID') -> + diameter_3gpp_ts32_299:avp_header('BSSID'); +avp_header('Base-Time-Interval') -> + diameter_3gpp_ts32_299:avp_header('Base-Time-Interval'); +avp_header('Basic-Service-Code') -> + diameter_3gpp_ts32_299:avp_header('Basic-Service-Code'); +avp_header('Bearer-Capability') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Capability'); +avp_header('Bearer-Service') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Service'); +avp_header('CG-Address') -> + diameter_3gpp_ts32_299:avp_header('CG-Address'); +avp_header('CN-Operator-Selection-Entity') -> + diameter_3gpp_ts32_299:avp_header('CN-Operator-Selection-Entity'); +avp_header('CP-CIoT-EPS-Optimisation-Indicator') -> + diameter_3gpp_ts32_299:avp_header('CP-CIoT-EPS-Optimisation-Indicator'); +avp_header('CPDT-Information') -> + diameter_3gpp_ts32_299:avp_header('CPDT-Information'); +avp_header('CSG-Access-Mode') -> + diameter_3gpp_ts32_299:avp_header('CSG-Access-Mode'); +avp_header('CSG-Membership-Indication') -> + diameter_3gpp_ts32_299:avp_header('CSG-Membership-Indication'); +avp_header('CUG-Information') -> + diameter_3gpp_ts32_299:avp_header('CUG-Information'); +avp_header('Called-Asserted-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Asserted-Identity'); +avp_header('Called-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity'); +avp_header('Called-Identity-Change') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity-Change'); +avp_header('Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Called-Party-Address'); +avp_header('Calling-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Calling-Party-Address'); +avp_header('Carrier-Select-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Carrier-Select-Routing-Information'); +avp_header('Cause-Code') -> + diameter_3gpp_ts32_299:avp_header('Cause-Code'); +avp_header('Cellular-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Cellular-Network-Information'); +avp_header('Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('Change-Condition'); +avp_header('Change-Time') -> + diameter_3gpp_ts32_299:avp_header('Change-Time'); +avp_header('Charge-Reason-Code') -> + diameter_3gpp_ts32_299:avp_header('Charge-Reason-Code'); +avp_header('Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('Charged-Party'); +avp_header('Charging-Characteristics-Selection-Mode') -> + diameter_3gpp_ts32_299:avp_header('Charging-Characteristics-Selection-Mode'); +avp_header('Charging-Per-IP-CAN-Session-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Charging-Per-IP-CAN-Session-Indicator'); +avp_header('Class-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Class-Identifier'); +avp_header('Client-Address') -> + diameter_3gpp_ts32_299:avp_header('Client-Address'); +avp_header('Content-Class') -> + diameter_3gpp_ts32_299:avp_header('Content-Class'); +avp_header('Content-Disposition') -> + diameter_3gpp_ts32_299:avp_header('Content-Disposition'); +avp_header('Content-Length') -> + diameter_3gpp_ts32_299:avp_header('Content-Length'); +avp_header('Content-Size') -> + diameter_3gpp_ts32_299:avp_header('Content-Size'); +avp_header('Content-Type') -> + diameter_3gpp_ts32_299:avp_header('Content-Type'); +avp_header('Coverage-Info') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Info'); +avp_header('Coverage-Status') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Status'); +avp_header('Current-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Current-Tariff'); +avp_header('DRM-Content') -> + diameter_3gpp_ts32_299:avp_header('DRM-Content'); +avp_header('Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('Data-Coding-Scheme'); +avp_header('Deferred-Location-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Deferred-Location-Event-Type'); +avp_header('Delivery-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Delivery-Report-Requested'); +avp_header('Destination-Interface') -> + diameter_3gpp_ts32_299:avp_header('Destination-Interface'); +avp_header('Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Diagnostics'); +avp_header('Discoveree-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-HPLMN-Identifier'); +avp_header('Discoveree-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-VPLMN-Identifier'); +avp_header('Discoverer-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-HPLMN-Identifier'); +avp_header('Discoverer-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-VPLMN-Identifier'); +avp_header('Domain-Name') -> + diameter_3gpp_ts32_299:avp_header('Domain-Name'); +avp_header('Dynamic-Address-Flag') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag'); +avp_header('Dynamic-Address-Flag-Extension') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag-Extension'); +avp_header('EPDG-Address') -> + diameter_3gpp_ts32_299:avp_header('EPDG-Address'); +avp_header('Early-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('Early-Media-Description'); +avp_header('Enhanced-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Enhanced-Diagnostics'); +avp_header('Envelope') -> + diameter_3gpp_ts32_299:avp_header('Envelope'); +avp_header('Envelope-End-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-End-Time'); +avp_header('Envelope-Reporting') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Reporting'); +avp_header('Envelope-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Start-Time'); +avp_header('Event') -> + diameter_3gpp_ts32_299:avp_header('Event'); +avp_header('Event-Charging-TimeStamp') -> + diameter_3gpp_ts32_299:avp_header('Event-Charging-TimeStamp'); +avp_header('Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Event-Type'); +avp_header('Expires') -> + diameter_3gpp_ts32_299:avp_header('Expires'); +avp_header('FE-Identifier-List') -> + diameter_3gpp_ts32_299:avp_header('FE-Identifier-List'); +avp_header('File-Repair-Supported') -> + diameter_3gpp_ts32_299:avp_header('File-Repair-Supported'); +avp_header('Forwarding-Pending') -> + diameter_3gpp_ts32_299:avp_header('Forwarding-Pending'); +avp_header('From-Address') -> + diameter_3gpp_ts32_299:avp_header('From-Address'); +avp_header('GGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('GGSN-Address'); +avp_header('IMS-Application-Reference-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Application-Reference-Identifier'); +avp_header('IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Charging-Identifier'); +avp_header('IMS-Communication-Service-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Communication-Service-Identifier'); +avp_header('IMS-Emergency-Indicator') -> + diameter_3gpp_ts32_299:avp_header('IMS-Emergency-Indicator'); +avp_header('IMS-Information') -> + diameter_3gpp_ts32_299:avp_header('IMS-Information'); +avp_header('IMS-Visited-Network-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Visited-Network-Identifier'); +avp_header('IMSI-Unauthenticated-Flag') -> + diameter_3gpp_ts32_299:avp_header('IMSI-Unauthenticated-Flag'); +avp_header('IP-Realm-Default-Indication') -> + diameter_3gpp_ts32_299:avp_header('IP-Realm-Default-Indication'); +avp_header('ISUP-Cause') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause'); +avp_header('ISUP-Cause-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Diagnostics'); +avp_header('ISUP-Cause-Location') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Location'); +avp_header('ISUP-Cause-Value') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Value'); +avp_header('ISUP-Location-Number') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Location-Number'); +avp_header('Incoming-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Incoming-Trunk-Group-Id'); +avp_header('Incremental-Cost') -> + diameter_3gpp_ts32_299:avp_header('Incremental-Cost'); +avp_header('Initial-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Initial-IMS-Charging-Identifier'); +avp_header('Instance-Id') -> + diameter_3gpp_ts32_299:avp_header('Instance-Id'); +avp_header('Inter-Operator-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Inter-Operator-Identifier'); +avp_header('Inter-UE-Transfer') -> + diameter_3gpp_ts32_299:avp_header('Inter-UE-Transfer'); +avp_header('Interface-Id') -> + diameter_3gpp_ts32_299:avp_header('Interface-Id'); +avp_header('Interface-Port') -> + diameter_3gpp_ts32_299:avp_header('Interface-Port'); +avp_header('Interface-Text') -> + diameter_3gpp_ts32_299:avp_header('Interface-Text'); +avp_header('Interface-Type') -> + diameter_3gpp_ts32_299:avp_header('Interface-Type'); +avp_header('LCS-APN') -> + diameter_3gpp_ts32_299:avp_header('LCS-APN'); +avp_header('LCS-Client-Dialed-By-MS') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Dialed-By-MS'); +avp_header('LCS-Client-External-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-External-ID'); +avp_header('LCS-Client-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-ID'); +avp_header('LCS-Client-Name') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Name'); +avp_header('LCS-Client-Type') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Type'); +avp_header('LCS-Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('LCS-Data-Coding-Scheme'); +avp_header('LCS-Format-Indicator') -> + diameter_3gpp_ts32_299:avp_header('LCS-Format-Indicator'); +avp_header('LCS-Information') -> + diameter_3gpp_ts32_299:avp_header('LCS-Information'); +avp_header('LCS-Name-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Name-String'); +avp_header('LCS-Requestor-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID'); +avp_header('LCS-Requestor-ID-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID-String'); +avp_header('Language') -> + diameter_3gpp_ts32_299:avp_header('Language'); +avp_header('Layer-2-Group-ID') -> + diameter_3gpp_ts32_299:avp_header('Layer-2-Group-ID'); +avp_header('Local-GW-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Local-GW-Inserted-Indication'); +avp_header('Local-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Local-Sequence-Number'); +avp_header('Location-Estimate') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate'); +avp_header('Location-Estimate-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate-Type'); +avp_header('Location-Info') -> + diameter_3gpp_ts32_299:avp_header('Location-Info'); +avp_header('Location-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Type'); +avp_header('Low-Balance-Indication') -> + diameter_3gpp_ts32_299:avp_header('Low-Balance-Indication'); +avp_header('Low-Priority-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Low-Priority-Indicator'); +avp_header('MBMS-Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Charged-Party'); +avp_header('MBMS-GW-Address') -> + diameter_3gpp_ts32_299:avp_header('MBMS-GW-Address'); +avp_header('MBMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Information'); +avp_header('MBMS-User-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('MBMS-User-Service-Type'); +avp_header('MM-Content-Type') -> + diameter_3gpp_ts32_299:avp_header('MM-Content-Type'); +avp_header('MMBox-Storage-Requested') -> + diameter_3gpp_ts32_299:avp_header('MMBox-Storage-Requested'); +avp_header('MMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MMS-Information'); +avp_header('MMTel-Information') -> + diameter_3gpp_ts32_299:avp_header('MMTel-Information'); +avp_header('MMTel-SService-Type') -> + diameter_3gpp_ts32_299:avp_header('MMTel-SService-Type'); +avp_header('MSC-Address') -> + diameter_3gpp_ts32_299:avp_header('MSC-Address'); +avp_header('MTC-IWF-Address') -> + diameter_3gpp_ts32_299:avp_header('MTC-IWF-Address'); +avp_header('Media-Initiator-Flag') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Flag'); +avp_header('Media-Initiator-Party') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Party'); +avp_header('Message-Body') -> + diameter_3gpp_ts32_299:avp_header('Message-Body'); +avp_header('Message-Class') -> + diameter_3gpp_ts32_299:avp_header('Message-Class'); +avp_header('Message-ID') -> + diameter_3gpp_ts32_299:avp_header('Message-ID'); +avp_header('Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Message-Size'); +avp_header('Message-Type') -> + diameter_3gpp_ts32_299:avp_header('Message-Type'); +avp_header('Monitored-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitored-PLMN-Identifier'); +avp_header('Monitoring-Event-Configuration-Activity') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Configuration-Activity'); +avp_header('Monitoring-Event-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Functionality'); +avp_header('Monitoring-Event-Information') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Information'); +avp_header('Monitoring-Event-Report-Data') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Data'); +avp_header('Monitoring-Event-Report-Number') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Number'); +avp_header('Monitoring-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-HPLMN-Identifier'); +avp_header('Monitoring-UE-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-Identifier'); +avp_header('Monitoring-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-VPLMN-Identifier'); +avp_header('NIDD-Submission') -> + diameter_3gpp_ts32_299:avp_header('NIDD-Submission'); +avp_header('NNI-Information') -> + diameter_3gpp_ts32_299:avp_header('NNI-Information'); +avp_header('NNI-Type') -> + diameter_3gpp_ts32_299:avp_header('NNI-Type'); +avp_header('Neighbour-Node-Address') -> + diameter_3gpp_ts32_299:avp_header('Neighbour-Node-Address'); +avp_header('Network-Call-Reference-Number') -> + diameter_3gpp_ts32_299:avp_header('Network-Call-Reference-Number'); +avp_header('Next-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Next-Tariff'); +avp_header('Node-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Node-Functionality'); +avp_header('Node-Id') -> + diameter_3gpp_ts32_299:avp_header('Node-Id'); +avp_header('Number-Of-Diversions') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Diversions'); +avp_header('Number-Of-Messages-Sent') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Messages-Sent'); +avp_header('Number-Of-Participants') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Participants'); +avp_header('Number-Of-Received-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Received-Talk-Bursts'); +avp_header('Number-Of-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Talk-Bursts'); +avp_header('Number-Portability-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Number-Portability-Routing-Information'); +avp_header('Offline-Charging') -> + diameter_3gpp_ts32_299:avp_header('Offline-Charging'); +avp_header('Online-Charging-Flag') -> + diameter_3gpp_ts32_299:avp_header('Online-Charging-Flag'); +avp_header('Originating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Originating-IOI'); +avp_header('Originator') -> + diameter_3gpp_ts32_299:avp_header('Originator'); +avp_header('Originator-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Address'); +avp_header('Originator-Interface') -> + diameter_3gpp_ts32_299:avp_header('Originator-Interface'); +avp_header('Originator-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Received-Address'); +avp_header('Originator-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-SCCP-Address'); +avp_header('Outgoing-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Session-Id'); +avp_header('Outgoing-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Trunk-Group-Id'); +avp_header('PC3-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-Control-Protocol-Cause'); +avp_header('PC3-EPC-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-EPC-Control-Protocol-Cause'); +avp_header('PC5-Radio-Technology') -> + diameter_3gpp_ts32_299:avp_header('PC5-Radio-Technology'); +avp_header('PDN-Connection-Charging-ID') -> + diameter_3gpp_ts32_299:avp_header('PDN-Connection-Charging-ID'); +avp_header('PDP-Address') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address'); +avp_header('PDP-Address-Prefix-Length') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address-Prefix-Length'); +avp_header('PDP-Context-Type') -> + diameter_3gpp_ts32_299:avp_header('PDP-Context-Type'); +avp_header('PS-Append-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Append-Free-Format-Data'); +avp_header('PS-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Free-Format-Data'); +avp_header('PS-Furnish-Charging-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Furnish-Charging-Information'); +avp_header('PS-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Information'); +avp_header('Participant-Access-Priority') -> + diameter_3gpp_ts32_299:avp_header('Participant-Access-Priority'); +avp_header('Participant-Action-Type') -> + diameter_3gpp_ts32_299:avp_header('Participant-Action-Type'); +avp_header('Participant-Group') -> + diameter_3gpp_ts32_299:avp_header('Participant-Group'); +avp_header('Participants-Involved') -> + diameter_3gpp_ts32_299:avp_header('Participants-Involved'); +avp_header('Play-Alternative') -> + diameter_3gpp_ts32_299:avp_header('Play-Alternative'); +avp_header('PoC-Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Condition'); +avp_header('PoC-Change-Time') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Time'); +avp_header('PoC-Controlling-Address') -> + diameter_3gpp_ts32_299:avp_header('PoC-Controlling-Address'); +avp_header('PoC-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Event-Type'); +avp_header('PoC-Group-Name') -> + diameter_3gpp_ts32_299:avp_header('PoC-Group-Name'); +avp_header('PoC-Information') -> + diameter_3gpp_ts32_299:avp_header('PoC-Information'); +avp_header('PoC-Server-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-Server-Role'); +avp_header('PoC-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Id'); +avp_header('PoC-Session-Initiation-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Initiation-Type'); +avp_header('PoC-Session-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Type'); +avp_header('PoC-User-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role'); +avp_header('PoC-User-Role-IDs') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-IDs'); +avp_header('PoC-User-Role-Info-Units') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-Info-Units'); +avp_header('Positioning-Data') -> + diameter_3gpp_ts32_299:avp_header('Positioning-Data'); +avp_header('Preferred-AoC-Currency') -> + diameter_3gpp_ts32_299:avp_header('Preferred-AoC-Currency'); +avp_header('Priority') -> + diameter_3gpp_ts32_299:avp_header('Priority'); +avp_header('Privacy-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Privacy-Indicator'); +avp_header('ProSe-3rd-Party-Application-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-3rd-Party-Application-ID'); +avp_header('ProSe-Direct-Communication-Reception-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Reception-Data-Container'); +avp_header('ProSe-Direct-Communication-Transmission-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Transmission-Data-Container'); +avp_header('ProSe-Direct-Discovery-Model') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Discovery-Model'); +avp_header('ProSe-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Event-Type'); +avp_header('ProSe-Function-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-IP-Address'); +avp_header('ProSe-Function-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-PLMN-Identifier'); +avp_header('ProSe-Functionality') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Functionality'); +avp_header('ProSe-Group-IP-Multicast-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Group-IP-Multicast-Address'); +avp_header('ProSe-Information') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Information'); +avp_header('ProSe-Range-Class') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Range-Class'); +avp_header('ProSe-Reason-For-Cancellation') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Reason-For-Cancellation'); +avp_header('ProSe-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Request-Timestamp'); +avp_header('ProSe-Role-Of-UE') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Role-Of-UE'); +avp_header('ProSe-Source-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Source-IP-Address'); +avp_header('ProSe-Target-Layer-2-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Target-Layer-2-ID'); +avp_header('ProSe-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-ID'); +avp_header('ProSe-UE-to-Network-Relay-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-to-Network-Relay-UE-ID'); +avp_header('Proximity-Alert-Indication') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Indication'); +avp_header('Proximity-Alert-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Timestamp'); +avp_header('Proximity-Cancellation-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Cancellation-Timestamp'); +avp_header('Quota-Consumption-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Consumption-Time'); +avp_header('Quota-Holding-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Holding-Time'); +avp_header('Quota-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Quota-Indicator'); +avp_header('RAN-End-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-End-Time'); +avp_header('RAN-Secondary-RAT-Usage-Report') -> + diameter_3gpp_ts32_299:avp_header('RAN-Secondary-RAT-Usage-Report'); +avp_header('RAN-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-Start-Time'); +avp_header('Radio-Frequency') -> + diameter_3gpp_ts32_299:avp_header('Radio-Frequency'); +avp_header('Radio-Parameter-Set-Info') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Info'); +avp_header('Radio-Parameter-Set-Values') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Values'); +avp_header('Radio-Resources-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Radio-Resources-Indicator'); +avp_header('Rate-Control-Max-Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Message-Size'); +avp_header('Rate-Control-Max-Rate') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Rate'); +avp_header('Rate-Control-Time-Unit') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Time-Unit'); +avp_header('Rate-Element') -> + diameter_3gpp_ts32_299:avp_header('Rate-Element'); +avp_header('Read-Reply-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Read-Reply-Report-Requested'); +avp_header('Real-Time-Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Real-Time-Tariff-Information'); +avp_header('Reason-Header') -> + diameter_3gpp_ts32_299:avp_header('Reason-Header'); +avp_header('Received-Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Time'); +avp_header('Received-Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Volume'); +avp_header('Recipient-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Address'); +avp_header('Recipient-Info') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Info'); +avp_header('Recipient-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Received-Address'); +avp_header('Recipient-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-SCCP-Address'); +avp_header('Refund-Information') -> + diameter_3gpp_ts32_299:avp_header('Refund-Information'); +avp_header('Related-Change-Condition-Information') -> + diameter_3gpp_ts32_299:avp_header('Related-Change-Condition-Information'); +avp_header('Related-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier'); +avp_header('Related-IMS-Charging-Identifier-Node') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier-Node'); +avp_header('Related-Trigger') -> + diameter_3gpp_ts32_299:avp_header('Related-Trigger'); +avp_header('Relationship-Mode') -> + diameter_3gpp_ts32_299:avp_header('Relationship-Mode'); +avp_header('Relay-IP-address') -> + diameter_3gpp_ts32_299:avp_header('Relay-IP-address'); +avp_header('Remaining-Balance') -> + diameter_3gpp_ts32_299:avp_header('Remaining-Balance'); +avp_header('Reply-Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Reply-Applic-ID'); +avp_header('Reply-Path-Requested') -> + diameter_3gpp_ts32_299:avp_header('Reply-Path-Requested'); +avp_header('Reporting-Reason') -> + diameter_3gpp_ts32_299:avp_header('Reporting-Reason'); +avp_header('Requested-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requested-PLMN-Identifier'); +avp_header('Requested-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Requested-Party-Address'); +avp_header('Requestor-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requestor-PLMN-Identifier'); +avp_header('Role-Of-Node') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-Node'); +avp_header('Role-Of-ProSe-Function') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-ProSe-Function'); +avp_header('Route-Header-Received') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Received'); +avp_header('Route-Header-Transmitted') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Transmitted'); +avp_header('SCS-AS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-AS-Address'); +avp_header('SCS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-Address'); +avp_header('SCS-Realm') -> + diameter_3gpp_ts32_299:avp_header('SCS-Realm'); +avp_header('SDP-Answer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Answer-Timestamp'); +avp_header('SDP-Media-Component') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Component'); +avp_header('SDP-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Description'); +avp_header('SDP-Media-Name') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Name'); +avp_header('SDP-Offer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Offer-Timestamp'); +avp_header('SDP-Session-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Session-Description'); +avp_header('SDP-TimeStamps') -> + diameter_3gpp_ts32_299:avp_header('SDP-TimeStamps'); +avp_header('SDP-Type') -> + diameter_3gpp_ts32_299:avp_header('SDP-Type'); +avp_header('SGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('SGSN-Address'); +avp_header('SGW-Address') -> + diameter_3gpp_ts32_299:avp_header('SGW-Address'); +avp_header('SGW-Change') -> + diameter_3gpp_ts32_299:avp_header('SGW-Change'); +avp_header('SGi-PtP-Tunnelling-Method') -> + diameter_3gpp_ts32_299:avp_header('SGi-PtP-Tunnelling-Method'); +avp_header('SIP-Method') -> + diameter_3gpp_ts32_299:avp_header('SIP-Method'); +avp_header('SIP-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp'); +avp_header('SIP-Request-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp-Fraction'); +avp_header('SIP-Response-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp'); +avp_header('SIP-Response-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp-Fraction'); +avp_header('SM-Device-Trigger-Indicator') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Indicator'); +avp_header('SM-Device-Trigger-Information') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Information'); +avp_header('SM-Discharge-Time') -> + diameter_3gpp_ts32_299:avp_header('SM-Discharge-Time'); +avp_header('SM-Message-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Message-Type'); +avp_header('SM-Protocol-ID') -> + diameter_3gpp_ts32_299:avp_header('SM-Protocol-ID'); +avp_header('SM-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('SM-Sequence-Number'); +avp_header('SM-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Service-Type'); +avp_header('SM-Status') -> + diameter_3gpp_ts32_299:avp_header('SM-Status'); +avp_header('SM-User-Data-Header') -> + diameter_3gpp_ts32_299:avp_header('SM-User-Data-Header'); +avp_header('SMS-Information') -> + diameter_3gpp_ts32_299:avp_header('SMS-Information'); +avp_header('SMS-Node') -> + diameter_3gpp_ts32_299:avp_header('SMS-Node'); +avp_header('SMS-Result') -> + diameter_3gpp_ts32_299:avp_header('SMS-Result'); +avp_header('SMSC-Address') -> + diameter_3gpp_ts32_299:avp_header('SMSC-Address'); +avp_header('Scale-Factor') -> + diameter_3gpp_ts32_299:avp_header('Scale-Factor'); +avp_header('Secondary-RAT-Type') -> + diameter_3gpp_ts32_299:avp_header('Secondary-RAT-Type'); +avp_header('Served-Party-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Served-Party-IP-Address'); +avp_header('Service-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('Service-Data-Container'); +avp_header('Service-Id') -> + diameter_3gpp_ts32_299:avp_header('Service-Id'); +avp_header('Service-Information') -> + diameter_3gpp_ts32_299:avp_header('Service-Information'); +avp_header('Service-Mode') -> + diameter_3gpp_ts32_299:avp_header('Service-Mode'); +avp_header('Service-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Data'); +avp_header('Service-Specific-Info') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Info'); +avp_header('Service-Specific-Type') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Type'); +avp_header('Serving-Node-Identity') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Identity'); +avp_header('Serving-Node-Type') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Type'); +avp_header('Session-Direction') -> + diameter_3gpp_ts32_299:avp_header('Session-Direction'); +avp_header('Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Start-Time'); +avp_header('Start-of-Charging') -> + diameter_3gpp_ts32_299:avp_header('Start-of-Charging'); +avp_header('Status-AS-Code') -> + diameter_3gpp_ts32_299:avp_header('Status-AS-Code'); +avp_header('Stop-Time') -> + diameter_3gpp_ts32_299:avp_header('Stop-Time'); +avp_header('Submission-Time') -> + diameter_3gpp_ts32_299:avp_header('Submission-Time'); +avp_header('Subscriber-Role') -> + diameter_3gpp_ts32_299:avp_header('Subscriber-Role'); +avp_header('Supplementary-Service') -> + diameter_3gpp_ts32_299:avp_header('Supplementary-Service'); +avp_header('TAD-Identifier') -> + diameter_3gpp_ts32_299:avp_header('TAD-Identifier'); +avp_header('TWAG-Address') -> + diameter_3gpp_ts32_299:avp_header('TWAG-Address'); +avp_header('TWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('TWAN-User-Location-Info'); +avp_header('Talk-Burst-Exchange') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Exchange'); +avp_header('Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Time'); +avp_header('Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Volume'); +avp_header('Target-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Target-IP-Address'); +avp_header('Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Tariff-Information'); +avp_header('Tariff-XML') -> + diameter_3gpp_ts32_299:avp_header('Tariff-XML'); +avp_header('Teleservice') -> + diameter_3gpp_ts32_299:avp_header('Teleservice'); +avp_header('Terminating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Terminating-IOI'); +avp_header('Time-First-Reception') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Reception'); +avp_header('Time-First-Transmission') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Transmission'); +avp_header('Time-First-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Usage'); +avp_header('Time-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Time-Indicator'); +avp_header('Time-Last-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Last-Usage'); +avp_header('Time-Quota-Mechanism') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Mechanism'); +avp_header('Time-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Threshold'); +avp_header('Time-Quota-Type') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Type'); +avp_header('Time-Stamps') -> + diameter_3gpp_ts32_299:avp_header('Time-Stamps'); +avp_header('Time-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Usage'); +avp_header('Token-Text') -> + diameter_3gpp_ts32_299:avp_header('Token-Text'); +avp_header('Traffic-Data-Volumes') -> + diameter_3gpp_ts32_299:avp_header('Traffic-Data-Volumes'); +avp_header('Transcoder-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Transcoder-Inserted-Indication'); +avp_header('Transit-IOI-List') -> + diameter_3gpp_ts32_299:avp_header('Transit-IOI-List'); +avp_header('Transmitter-Info') -> + diameter_3gpp_ts32_299:avp_header('Transmitter-Info'); +avp_header('Trigger') -> + diameter_3gpp_ts32_299:avp_header('Trigger'); +avp_header('Trigger-Type') -> + diameter_3gpp_ts32_299:avp_header('Trigger-Type'); +avp_header('Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Trunk-Group-Id'); +avp_header('Type-Number') -> + diameter_3gpp_ts32_299:avp_header('Type-Number'); +avp_header('UNI-PDU-CP-Only-Flag') -> + diameter_3gpp_ts32_299:avp_header('UNI-PDU-CP-Only-Flag'); +avp_header('UWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('UWAN-User-Location-Info'); +avp_header('Unit-Cost') -> + diameter_3gpp_ts32_299:avp_header('Unit-Cost'); +avp_header('Unit-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Unit-Quota-Threshold'); +avp_header('Unused-Quota-Timer') -> + diameter_3gpp_ts32_299:avp_header('Unused-Quota-Timer'); +avp_header('Usage-Information-Report-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Usage-Information-Report-Sequence-Number'); +avp_header('User-CSG-Information') -> + diameter_3gpp_ts32_299:avp_header('User-CSG-Information'); +avp_header('User-Participating-Type') -> + diameter_3gpp_ts32_299:avp_header('User-Participating-Type'); +avp_header('User-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('User-Session-Id'); +avp_header('VCS-Information') -> + diameter_3gpp_ts32_299:avp_header('VCS-Information'); +avp_header('VLR-Number') -> + diameter_3gpp_ts32_299:avp_header('VLR-Number'); +avp_header('Variable-Part') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part'); +avp_header('Variable-Part-Order') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Order'); +avp_header('Variable-Part-Type') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Type'); +avp_header('Variable-Part-Value') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Value'); +avp_header('Volume-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Volume-Quota-Threshold'); +avp_header('APN-OI-Replacement') -> + diameter_3gpp_break_circles:avp_header('APN-OI-Replacement'); +avp_header('Emergency-Info') -> + diameter_3gpp_break_circles:avp_header('Emergency-Info'); +avp_header('GMLC-Number') -> + diameter_3gpp_break_circles:avp_header('GMLC-Number'); +avp_header('SGSN-Number') -> + diameter_3gpp_break_circles:avp_header('SGSN-Number'); +avp_header('MIP6-Agent-Info') -> + diameter_rfc5447:avp_header('MIP6-Agent-Info'); +avp_header('MIP6-Home-Link-Prefix') -> + diameter_rfc5447:avp_header('MIP6-Home-Link-Prefix'); +avp_header('Service-Selection') -> + diameter_rfc5778:avp_header('Service-Selection'); +avp_header('AN-GW-Address') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Address'); +avp_header('AN-GW-Status') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Status'); +avp_header('APN-Aggregate-Max-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-DL'); +avp_header('APN-Aggregate-Max-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-UL'); +avp_header('Access-Network-Charging-Identifier-Gx') -> + diameter_3gpp_ts29_212:avp_header('Access-Network-Charging-Identifier-Gx'); +avp_header('Allocation-Retention-Priority') -> + diameter_3gpp_ts29_212:avp_header('Allocation-Retention-Priority'); +avp_header('Application-Detection-Information') -> + diameter_3gpp_ts29_212:avp_header('Application-Detection-Information'); +avp_header('Bearer-Control-Mode') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Control-Mode'); +avp_header('Bearer-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Identifier'); +avp_header('Bearer-Operation') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Operation'); +avp_header('Bearer-Usage') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Usage'); +avp_header('CSG-Information-Reporting') -> + diameter_3gpp_ts29_212:avp_header('CSG-Information-Reporting'); +avp_header('Charging-Correlation-Indicator') -> + diameter_3gpp_ts29_212:avp_header('Charging-Correlation-Indicator'); +avp_header('Charging-Rule-Base-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Base-Name'); +avp_header('Charging-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Definition'); +avp_header('Charging-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Install'); +avp_header('Charging-Rule-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Name'); +avp_header('Charging-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Remove'); +avp_header('Charging-Rule-Report') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Report'); +avp_header('CoA-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('CoA-IP-Address'); +avp_header('CoA-Information') -> + diameter_3gpp_ts29_212:avp_header('CoA-Information'); +avp_header('Conditional-APN-Aggregate-Max-Bitrate') -> + diameter_3gpp_ts29_212:avp_header('Conditional-APN-Aggregate-Max-Bitrate'); +avp_header('Credit-Management-Status') -> + diameter_3gpp_ts29_212:avp_header('Credit-Management-Status'); +avp_header('Default-EPS-Bearer-QoS') -> + diameter_3gpp_ts29_212:avp_header('Default-EPS-Bearer-QoS'); +avp_header('Default-QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Information'); +avp_header('Default-QoS-Name') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Name'); +avp_header('Event-Report-Indication') -> + diameter_3gpp_ts29_212:avp_header('Event-Report-Indication'); +avp_header('Event-Trigger') -> + diameter_3gpp_ts29_212:avp_header('Event-Trigger'); +avp_header('Fixed-User-Location-Info') -> + diameter_3gpp_ts29_212:avp_header('Fixed-User-Location-Info'); +avp_header('Flow-Direction') -> + diameter_3gpp_ts29_212:avp_header('Flow-Direction'); +avp_header('Flow-Information') -> + diameter_3gpp_ts29_212:avp_header('Flow-Information'); +avp_header('Flow-Label') -> + diameter_3gpp_ts29_212:avp_header('Flow-Label'); +avp_header('Guaranteed-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-DL'); +avp_header('Guaranteed-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-UL'); +avp_header('HeNB-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('HeNB-Local-IP-Address'); +avp_header('IP-CAN-Session-Charging-Scope') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Session-Charging-Scope'); +avp_header('IP-CAN-Type') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Type'); +avp_header('Metering-Method') -> + diameter_3gpp_ts29_212:avp_header('Metering-Method'); +avp_header('Monitoring-Key') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Key'); +avp_header('Monitoring-Time') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Time'); +avp_header('Mute-Notification') -> + diameter_3gpp_ts29_212:avp_header('Mute-Notification'); +avp_header('NetLoc-Access-Support') -> + diameter_3gpp_ts29_212:avp_header('NetLoc-Access-Support'); +avp_header('Network-Request-Support') -> + diameter_3gpp_ts29_212:avp_header('Network-Request-Support'); +avp_header('Offline') -> + diameter_3gpp_ts29_212:avp_header('Offline'); +avp_header('Online') -> + diameter_3gpp_ts29_212:avp_header('Online'); +avp_header('PCC-Rule-Status') -> + diameter_3gpp_ts29_212:avp_header('PCC-Rule-Status'); +avp_header('PCSCF-Restoration-Indication') -> + diameter_3gpp_ts29_212:avp_header('PCSCF-Restoration-Indication'); +avp_header('PDN-Connection-ID') -> + diameter_3gpp_ts29_212:avp_header('PDN-Connection-ID'); +avp_header('PS-to-CS-Session-Continuity') -> + diameter_3gpp_ts29_212:avp_header('PS-to-CS-Session-Continuity'); +avp_header('Packet-Filter-Content') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Content'); +avp_header('Packet-Filter-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Identifier'); +avp_header('Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Information'); +avp_header('Packet-Filter-Operation') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Operation'); +avp_header('Packet-Filter-Usage') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Usage'); +avp_header('Pre-emption-Capability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Capability'); +avp_header('Pre-emption-Vulnerability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Vulnerability'); +avp_header('Precedence') -> + diameter_3gpp_ts29_212:avp_header('Precedence'); +avp_header('Presence-Reporting-Area-Elements-List') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Elements-List'); +avp_header('Presence-Reporting-Area-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Identifier'); +avp_header('Presence-Reporting-Area-Information') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Information'); +avp_header('Presence-Reporting-Area-Status') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Status'); +avp_header('Priority-Level') -> + diameter_3gpp_ts29_212:avp_header('Priority-Level'); +avp_header('QoS-Class-Identifier') -> + diameter_3gpp_ts29_212:avp_header('QoS-Class-Identifier'); +avp_header('QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('QoS-Information'); +avp_header('QoS-Negotiation') -> + diameter_3gpp_ts29_212:avp_header('QoS-Negotiation'); +avp_header('QoS-Upgrade') -> + diameter_3gpp_ts29_212:avp_header('QoS-Upgrade'); +avp_header('RAN-NAS-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('RAN-NAS-Release-Cause'); +avp_header('RAT-Type') -> + diameter_3gpp_ts29_212:avp_header('RAT-Type'); +avp_header('Redirect-Information') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Information'); +avp_header('Redirect-Support') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Support'); +avp_header('Reporting-Level') -> + diameter_3gpp_ts29_212:avp_header('Reporting-Level'); +avp_header('Resource-Allocation-Notification') -> + diameter_3gpp_ts29_212:avp_header('Resource-Allocation-Notification'); +avp_header('Revalidation-Time') -> + diameter_3gpp_ts29_212:avp_header('Revalidation-Time'); +avp_header('Routing-Filter') -> + diameter_3gpp_ts29_212:avp_header('Routing-Filter'); +avp_header('Routing-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('Routing-IP-Address'); +avp_header('Routing-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Definition'); +avp_header('Routing-Rule-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Identifier'); +avp_header('Routing-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Install'); +avp_header('Routing-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Remove'); +avp_header('Rule-Activation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Activation-Time'); +avp_header('Rule-Deactivation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Deactivation-Time'); +avp_header('Rule-Failure-Code') -> + diameter_3gpp_ts29_212:avp_header('Rule-Failure-Code'); +avp_header('Security-Parameter-Index') -> + diameter_3gpp_ts29_212:avp_header('Security-Parameter-Index'); +avp_header('Session-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('Session-Release-Cause'); +avp_header('TDF-Application-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Identifier'); +avp_header('TDF-Application-Instance-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Instance-Identifier'); +avp_header('TDF-Destination-Host') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Host'); +avp_header('TDF-Destination-Realm') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Realm'); +avp_header('TDF-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('TDF-IP-Address'); +avp_header('TDF-Information') -> + diameter_3gpp_ts29_212:avp_header('TDF-Information'); +avp_header('TFT-Filter') -> + diameter_3gpp_ts29_212:avp_header('TFT-Filter'); +avp_header('TFT-Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('TFT-Packet-Filter-Information'); +avp_header('ToS-Traffic-Class') -> + diameter_3gpp_ts29_212:avp_header('ToS-Traffic-Class'); +avp_header('Tunnel-Header-Filter') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Filter'); +avp_header('Tunnel-Header-Length') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Length'); +avp_header('Tunnel-Information') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Information'); +avp_header('UDP-Source-Port') -> + diameter_3gpp_ts29_212:avp_header('UDP-Source-Port'); +avp_header('UE-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('UE-Local-IP-Address'); +avp_header('Usage-Monitoring-Information') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Information'); +avp_header('Usage-Monitoring-Level') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Level'); +avp_header('Usage-Monitoring-Report') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Report'); +avp_header('Usage-Monitoring-Support') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Support'); +avp_header('User-Location-Info-Time') -> + diameter_3gpp_ts29_212:avp_header('User-Location-Info-Time'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, '3GPP2-MEID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'A-MSISDN', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'AMBR', Opts) -> + grouped_avp(T, 'AMBR', Data, Opts); +avp(T, Data, 'APN-Configuration', Opts) -> + grouped_avp(T, 'APN-Configuration', Data, Opts); +avp(T, Data, 'APN-Configuration-Profile', Opts) -> + grouped_avp(T, 'APN-Configuration-Profile', Data, Opts); +avp(T, Data, 'AUTN', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Access-Restriction-Data', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Active-APN', Opts) -> + grouped_avp(T, 'Active-APN', Data, Opts); +avp(T, Data, 'Age-Of-Location-Information', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Alert-Reason', _) -> + enumerated_avp(T, 'Alert-Reason', Data); +avp(T, Data, + 'All-APN-Configurations-Included-Indicator', _) -> + enumerated_avp(T, + 'All-APN-Configurations-Included-Indicator', + Data); +avp(T, Data, 'Area-Scope', Opts) -> + grouped_avp(T, 'Area-Scope', Data, Opts); +avp(T, Data, 'Authentication-Info', Opts) -> + grouped_avp(T, 'Authentication-Info', Data, Opts); +avp(T, Data, 'CLR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'CSG-Id', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'CSG-Subscription-Data', Opts) -> + grouped_avp(T, 'CSG-Subscription-Data', Data, Opts); +avp(T, Data, 'Call-Barring-Info', Opts) -> + grouped_avp(T, 'Call-Barring-Info', Data, Opts); +avp(T, Data, 'Cancellation-Type', _) -> + enumerated_avp(T, 'Cancellation-Type', Data); +avp(T, Data, 'Cell-Global-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Client-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Collection-Period-RRM-LTE', _) -> + enumerated_avp(T, 'Collection-Period-RRM-LTE', Data); +avp(T, Data, 'Collection-Period-RRM-UMTS', _) -> + enumerated_avp(T, 'Collection-Period-RRM-UMTS', Data); +avp(T, Data, 'Complete-Data-List-Included-Indicator', + _) -> + enumerated_avp(T, + 'Complete-Data-List-Included-Indicator', + Data); +avp(T, Data, 'Context-Identifier', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Core-Network-Restrictions', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Current-Location-Retrieved', _) -> + enumerated_avp(T, 'Current-Location-Retrieved', Data); +avp(T, Data, 'DSA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'DSR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Daylight-Saving-Time', _) -> + enumerated_avp(T, 'Daylight-Saving-Time', Data); +avp(T, Data, 'E-UTRAN-Cell-Global-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'E-UTRAN-Vector', Opts) -> + grouped_avp(T, 'E-UTRAN-Vector', Data, Opts); +avp(T, Data, 'EPS-Location-Information', Opts) -> + grouped_avp(T, 'EPS-Location-Information', Data, Opts); +avp(T, Data, 'EPS-Subscribed-QoS-Profile', Opts) -> + grouped_avp(T, + 'EPS-Subscribed-QoS-Profile', + Data, + Opts); +avp(T, Data, 'EPS-User-State', Opts) -> + grouped_avp(T, 'EPS-User-State', Data, Opts); +avp(T, Data, 'Equipment-Status', _) -> + enumerated_avp(T, 'Equipment-Status', Data); +avp(T, Data, 'Equivalent-PLMN-List', Opts) -> + grouped_avp(T, 'Equivalent-PLMN-List', Data, Opts); +avp(T, Data, 'Error-Diagnostic', _) -> + enumerated_avp(T, 'Error-Diagnostic', Data); +avp(T, Data, 'Event-Threshold-Event-1F', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Event-Threshold-Event-1I', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Event-Threshold-RSRP', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Event-Threshold-RSRQ', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Expiration-Date', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Ext-PDP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Ext-PDP-Type', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'External-Client', Opts) -> + grouped_avp(T, 'External-Client', Data, Opts); +avp(T, Data, 'GERAN-Vector', Opts) -> + grouped_avp(T, 'GERAN-Vector', Data, Opts); +avp(T, Data, 'GMLC-Restriction', _) -> + enumerated_avp(T, 'GMLC-Restriction', Data); +avp(T, Data, 'GPRS-Subscription-Data', Opts) -> + grouped_avp(T, 'GPRS-Subscription-Data', Data, Opts); +avp(T, Data, 'Geodetic-Information', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Geographical-Information', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'HPLMN-ODB', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + _) -> + enumerated_avp(T, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + Data); +avp(T, Data, 'ICS-Indicator', _) -> + enumerated_avp(T, 'ICS-Indicator', Data); +avp(T, Data, 'IDA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'IDR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'IMEI', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'IMS-Voice-Over-PS-Sessions-Supported', + _) -> + enumerated_avp(T, + 'IMS-Voice-Over-PS-Sessions-Supported', + Data); +avp(T, Data, 'Immediate-Response-Preferred', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Item-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Job-Type', _) -> + enumerated_avp(T, 'Job-Type', Data); +avp(T, Data, 'KASME', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Kc', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'LCS-Info', Opts) -> + grouped_avp(T, 'LCS-Info', Data, Opts); +avp(T, Data, 'LCS-PrivacyException', Opts) -> + grouped_avp(T, 'LCS-PrivacyException', Data, Opts); +avp(T, Data, 'LIPA-Permission', _) -> + enumerated_avp(T, 'LIPA-Permission', Data); +avp(T, Data, 'Last-UE-Activity-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'List-Of-Measurements', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Local-Time-Zone', Opts) -> + grouped_avp(T, 'Local-Time-Zone', Data, Opts); +avp(T, Data, 'Location-Area-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Logging-Duration', _) -> + enumerated_avp(T, 'Logging-Duration', Data); +avp(T, Data, 'Logging-Interval', _) -> + enumerated_avp(T, 'Logging-Interval', Data); +avp(T, Data, 'MDT-Configuration', Opts) -> + grouped_avp(T, 'MDT-Configuration', Data, Opts); +avp(T, Data, 'MDT-User-Consent', _) -> + enumerated_avp(T, 'MDT-User-Consent', Data); +avp(T, Data, 'MME-Location-Information', Opts) -> + grouped_avp(T, 'MME-Location-Information', Data, Opts); +avp(T, Data, 'MME-Number-for-MT-SMS', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MME-User-State', Opts) -> + grouped_avp(T, 'MME-User-State', Data, Opts); +avp(T, Data, 'MO-LR', Opts) -> + grouped_avp(T, 'MO-LR', Data, Opts); +avp(T, Data, 'MPS-Priority', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Measurement-Period-LTE', _) -> + enumerated_avp(T, 'Measurement-Period-LTE', Data); +avp(T, Data, 'Measurement-Period-UMTS', _) -> + enumerated_avp(T, 'Measurement-Period-UMTS', Data); +avp(T, Data, 'Measurement-Quantity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'NOR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Network-Access-Mode', _) -> + enumerated_avp(T, 'Network-Access-Mode', Data); +avp(T, Data, 'Notification-To-UE-User', _) -> + enumerated_avp(T, 'Notification-To-UE-User', Data); +avp(T, Data, 'Number-Of-Requested-Vectors', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'OMC-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Operator-Determined-Barring', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'PDN-GW-Allocation-Type', _) -> + enumerated_avp(T, 'PDN-GW-Allocation-Type', Data); +avp(T, Data, 'PDN-Type', _) -> + enumerated_avp(T, 'PDN-Type', Data); +avp(T, Data, 'PDP-Context', Opts) -> + grouped_avp(T, 'PDP-Context', Data, Opts); +avp(T, Data, 'PDP-Type', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'PLMN-Client', _) -> + enumerated_avp(T, 'PLMN-Client', Data); +avp(T, Data, 'PUA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'PUR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Positioning-Method', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'QoS-Subscribed', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'RAND', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'RAT-Frequency-Selection-Priority-ID', + Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Re-Synchronization-Info', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Regional-Subscription-Zone-Code', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Relay-Node-Indicator', _) -> + enumerated_avp(T, 'Relay-Node-Indicator', Data); +avp(T, Data, 'Report-Amount', _) -> + enumerated_avp(T, 'Report-Amount', Data); +avp(T, Data, 'Report-Interval', _) -> + enumerated_avp(T, 'Report-Interval', Data); +avp(T, Data, 'Reporting-Trigger', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Requested-EUTRAN-Authentication-Info', + Opts) -> + grouped_avp(T, + 'Requested-EUTRAN-Authentication-Info', + Data, + Opts); +avp(T, Data, + 'Requested-UTRAN-GERAN-Authentication-Info', Opts) -> + grouped_avp(T, + 'Requested-UTRAN-GERAN-Authentication-Info', + Data, + Opts); +avp(T, Data, 'Restoration-Priority', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, + 'Roaming-Restricted-Due-To-Unsupported-Feature', _) -> + enumerated_avp(T, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + Data); +avp(T, Data, 'Routing-Area-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SGSN-Location-Information', Opts) -> + grouped_avp(T, 'SGSN-Location-Information', Data, Opts); +avp(T, Data, 'SGSN-User-State', Opts) -> + grouped_avp(T, 'SGSN-User-State', Data, Opts); +avp(T, Data, 'SIPTO-Permission', _) -> + enumerated_avp(T, 'SIPTO-Permission', Data); +avp(T, Data, 'SMS-Register-Request', _) -> + enumerated_avp(T, 'SMS-Register-Request', Data); +avp(T, Data, 'SRES', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SS-Code', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SS-Status', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'STN-SR', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Service-Area-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Service-Type', Opts) -> + grouped_avp(T, 'Service-Type', Data, Opts); +avp(T, Data, 'ServiceTypeIdentity', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Software-Version', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Specific-APN-Info', Opts) -> + grouped_avp(T, 'Specific-APN-Info', Data, Opts); +avp(T, Data, 'Subscribed-Periodic-RAU-TAU-Timer', + Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Subscribed-VSRVCC', _) -> + enumerated_avp(T, 'Subscribed-VSRVCC', Data); +avp(T, Data, 'Subscriber-Status', _) -> + enumerated_avp(T, 'Subscriber-Status', Data); +avp(T, Data, 'Subscription-Data', Opts) -> + grouped_avp(T, 'Subscription-Data', Data, Opts); +avp(T, Data, 'Subscription-Data-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'TS-Code', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Teleservice-List', Opts) -> + grouped_avp(T, 'Teleservice-List', Data, Opts); +avp(T, Data, 'Terminal-Information', Opts) -> + grouped_avp(T, 'Terminal-Information', Data, Opts); +avp(T, Data, 'Time-Zone', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Trace-Collection-Entity', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Trace-Data', Opts) -> + grouped_avp(T, 'Trace-Data', Data, Opts); +avp(T, Data, 'Trace-Depth', _) -> + enumerated_avp(T, 'Trace-Depth', Data); +avp(T, Data, 'Trace-Event-List', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Trace-Interface-List', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Trace-NE-Type-List', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Trace-Reference', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tracking-Area-Identity', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'UE-SRVCC-Capability', _) -> + enumerated_avp(T, 'UE-SRVCC-Capability', Data); +avp(T, Data, 'UE-Usage-Type', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'ULA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'ULR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'UTRAN-Vector', Opts) -> + grouped_avp(T, 'UTRAN-Vector', Data, Opts); +avp(T, Data, 'UVA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'UVR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'User-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'User-State', _) -> + enumerated_avp(T, 'User-State', Data); +avp(T, Data, 'VPLMN-CSG-Subscription-Data', Opts) -> + grouped_avp(T, + 'VPLMN-CSG-Subscription-Data', + Data, + Opts); +avp(T, Data, 'VPLMN-Dynamic-Address-Allowed', _) -> + enumerated_avp(T, + 'VPLMN-Dynamic-Address-Allowed', + Data); +avp(T, Data, 'VPLMN-LIPA-Allowed', _) -> + enumerated_avp(T, 'VPLMN-LIPA-Allowed', Data); +avp(T, Data, 'Visited-PLMN-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'XRES', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(T, Data, 'AF-Application-Identifier', Opts) -> + avp(T, + Data, + 'AF-Application-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Charging-Identifier', Opts) -> + avp(T, + Data, + 'AF-Charging-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Signalling-Protocol', Opts) -> + avp(T, + Data, + 'AF-Signalling-Protocol', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Abort-Cause', Opts) -> + avp(T, + Data, + 'Abort-Cause', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Address', Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Address', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Identifier-Value', + Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Identifier-Value', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Application-Service-Provider-Identity', + Opts) -> + avp(T, + Data, + 'Application-Service-Provider-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Codec-Data', Opts) -> + avp(T, + Data, + 'Codec-Data', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Description', Opts) -> + avp(T, + Data, + 'Flow-Description', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Number', Opts) -> + avp(T, + Data, + 'Flow-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Status', Opts) -> + avp(T, + Data, + 'Flow-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Usage', Opts) -> + avp(T, + Data, + 'Flow-Usage', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flows', Opts) -> + grouped_avp(T, 'Flows', Data, Opts); +avp(T, Data, 'GCS-Identifier', Opts) -> + avp(T, + Data, + 'GCS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'IP-Domain-Id', Opts) -> + avp(T, + Data, + 'IP-Domain-Id', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'MPS-Identifier', Opts) -> + avp(T, + Data, + 'MPS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Component-Number', Opts) -> + avp(T, + Data, + 'Media-Component-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Type', Opts) -> + avp(T, + Data, + 'Media-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RR-Bandwidth', Opts) -> + avp(T, + Data, + 'RR-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RS-Bandwidth', Opts) -> + avp(T, + Data, + 'RS-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Required-Access-Info', Opts) -> + avp(T, + Data, + 'Required-Access-Info', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Rx-Request-Type', Opts) -> + avp(T, + Data, + 'Rx-Request-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'SIP-Forking-Indication', Opts) -> + avp(T, + Data, + 'SIP-Forking-Indication', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-Info-Status', Opts) -> + avp(T, + Data, + 'Service-Info-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-URN', Opts) -> + avp(T, + Data, + 'Service-URN', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Specific-Action', Opts) -> + avp(T, + Data, + 'Specific-Action', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Sponsor-Identity', Opts) -> + avp(T, + Data, + 'Sponsor-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Call-ID-SIP-Header', Opts) -> + avp(T, + Data, + 'Call-ID-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Charging-Information', Opts) -> + grouped_avp(T, 'Charging-Information', Data, Opts); +avp(T, Data, 'Confidentiality-Key', Opts) -> + avp(T, + Data, + 'Confidentiality-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Contact', Opts) -> + avp(T, Data, 'Contact', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Deregistration-Reason', Opts) -> + grouped_avp(T, 'Deregistration-Reason', Data, Opts); +avp(T, Data, 'Digest-Algorithm', Opts) -> + avp(T, + Data, + 'Digest-Algorithm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-HA1', Opts) -> + avp(T, + Data, + 'Digest-HA1', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-QoP', Opts) -> + avp(T, + Data, + 'Digest-QoP', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-Realm', Opts) -> + avp(T, + Data, + 'Digest-Realm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List', Opts) -> + avp(T, + Data, + 'Feature-List', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List-ID', Opts) -> + avp(T, + Data, + 'Feature-List-ID', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'From-SIP-Header', Opts) -> + avp(T, + Data, + 'From-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Initial-CSeq-Sequence-Number', Opts) -> + avp(T, + Data, + 'Initial-CSeq-Sequence-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Integrity-Key', Opts) -> + avp(T, + Data, + 'Integrity-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'LIA-Flags', Opts) -> + avp(T, Data, 'LIA-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Loose-Route-Indication', Opts) -> + avp(T, + Data, + 'Loose-Route-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Mandatory-Capability', Opts) -> + avp(T, + Data, + 'Mandatory-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Multiple-Registration-Indication', + Opts) -> + avp(T, + Data, + 'Multiple-Registration-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Optional-Capability', Opts) -> + avp(T, + Data, + 'Optional-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Originating-Request', Opts) -> + avp(T, + Data, + 'Originating-Request', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Path', Opts) -> + avp(T, Data, 'Path', Opts, diameter_3gpp_ts29_229); +avp(T, Data, + 'Primary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Primary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Primary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Primary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Priviledged-Sender-Indication', Opts) -> + avp(T, + Data, + 'Priviledged-Sender-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Public-Identity', Opts) -> + avp(T, + Data, + 'Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Code', Opts) -> + avp(T, + Data, + 'Reason-Code', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Info', Opts) -> + avp(T, + Data, + 'Reason-Info', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Record-Route', Opts) -> + avp(T, + Data, + 'Record-Route', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SAR-Flags', Opts) -> + avp(T, Data, 'SAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Auth-Data-Item', Opts) -> + grouped_avp(T, 'SIP-Auth-Data-Item', Data, Opts); +avp(T, Data, 'SIP-Authenticate', Opts) -> + avp(T, + Data, + 'SIP-Authenticate', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Context', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Context', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Scheme', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Scheme', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authorization', Opts) -> + avp(T, + Data, + 'SIP-Authorization', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Digest-Authenticate', Opts) -> + grouped_avp(T, 'SIP-Digest-Authenticate', Data, Opts); +avp(T, Data, 'SIP-Item-Number', Opts) -> + avp(T, + Data, + 'SIP-Item-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Number-Auth-Items', Opts) -> + avp(T, + Data, + 'SIP-Number-Auth-Items', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, + 'Secondary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Secondary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Secondary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Secondary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Assignment-Type', Opts) -> + avp(T, + Data, + 'Server-Assignment-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Name', Opts) -> + avp(T, + Data, + 'Server-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Session-Priority', Opts) -> + avp(T, + Data, + 'Session-Priority', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Supported-Applications', Opts) -> + grouped_avp(T, 'Supported-Applications', Data, Opts); +avp(T, Data, 'Supported-Features', Opts) -> + grouped_avp(T, 'Supported-Features', Data, Opts); +avp(T, Data, 'To-SIP-Header', Opts) -> + avp(T, + Data, + 'To-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'UAR-Flags', Opts) -> + avp(T, Data, 'UAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Authorization-Type', Opts) -> + avp(T, + Data, + 'User-Authorization-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data', Opts) -> + avp(T, Data, 'User-Data', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data-Already-Available', Opts) -> + avp(T, + Data, + 'User-Data-Already-Available', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'Visited-Network-Identifier', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Wildcarded-Public-Identity', Opts) -> + avp(T, + Data, + 'Wildcarded-Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Current-Location', Opts) -> + avp(T, + Data, + 'Current-Location', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'DSAI-Tag', Opts) -> + avp(T, Data, 'DSAI-Tag', Opts, diameter_3gpp_ts29_329); +avp(T, Data, 'Data-Reference', Opts) -> + avp(T, + Data, + 'Data-Reference', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Expiry-Time', Opts) -> + avp(T, + Data, + 'Expiry-Time', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Identity-Set', Opts) -> + avp(T, + Data, + 'Identity-Set', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'MSISDN', Opts) -> + avp(T, Data, 'MSISDN', Opts, diameter_3gpp_ts29_329); +avp(T, Data, 'One-Time-Notification', Opts) -> + avp(T, + Data, + 'One-Time-Notification', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Requested-Domain', Opts) -> + avp(T, + Data, + 'Requested-Domain', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Requested-Nodes', Opts) -> + avp(T, + Data, + 'Requested-Nodes', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Send-Data-Indication', Opts) -> + avp(T, + Data, + 'Send-Data-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Sequence-Number', Opts) -> + avp(T, + Data, + 'Sequence-Number', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Service-Indication', Opts) -> + avp(T, + Data, + 'Service-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Serving-Node-Indication', Opts) -> + avp(T, + Data, + 'Serving-Node-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Subs-Req-Type', Opts) -> + avp(T, + Data, + 'Subs-Req-Type', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, '3GPP-AAA-Server-Name', Opts) -> + avp(T, + Data, + '3GPP-AAA-Server-Name', + Opts, + diameter_3gpp_ts29_173); +avp(T, Data, 'Additional-Serving-Node', Opts) -> + grouped_avp(T, 'Additional-Serving-Node', Data, Opts); +avp(T, Data, 'GMLC-Address', Opts) -> + avp(T, + Data, + 'GMLC-Address', + Opts, + diameter_3gpp_ts29_173); +avp(T, Data, 'LCS-Capabilities-Sets', Opts) -> + avp(T, + Data, + 'LCS-Capabilities-Sets', + Opts, + diameter_3gpp_ts29_173); +avp(T, Data, 'LMSI', Opts) -> + avp(T, Data, 'LMSI', Opts, diameter_3gpp_ts29_173); +avp(T, Data, 'MME-Name', Opts) -> + avp(T, Data, 'MME-Name', Opts, diameter_3gpp_ts29_173); +avp(T, Data, 'MME-Realm', Opts) -> + avp(T, Data, 'MME-Realm', Opts, diameter_3gpp_ts29_173); +avp(T, Data, 'MSC-Number', Opts) -> + avp(T, + Data, + 'MSC-Number', + Opts, + diameter_3gpp_ts29_173); +avp(T, Data, 'PPR-Address', Opts) -> + avp(T, + Data, + 'PPR-Address', + Opts, + diameter_3gpp_ts29_173); +avp(T, Data, 'RIA-Flags', Opts) -> + avp(T, Data, 'RIA-Flags', Opts, diameter_3gpp_ts29_173); +avp(T, Data, 'SGSN-Name', Opts) -> + avp(T, Data, 'SGSN-Name', Opts, diameter_3gpp_ts29_173); +avp(T, Data, 'SGSN-Realm', Opts) -> + avp(T, + Data, + 'SGSN-Realm', + Opts, + diameter_3gpp_ts29_173); +avp(T, Data, 'Serving-Node', Opts) -> + grouped_avp(T, 'Serving-Node', Data, Opts); +avp(T, Data, '3GPP-PS-Data-Off-Status', Opts) -> + avp(T, + Data, + '3GPP-PS-Data-Off-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AF-Correlation-Information', Opts) -> + grouped_avp(T, + 'AF-Correlation-Information', + Data, + Opts); +avp(T, Data, 'APN-Rate-Control', Opts) -> + grouped_avp(T, 'APN-Rate-Control', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Downlink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Downlink', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Uplink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Uplink', Data, Opts); +avp(T, Data, 'Access-Network-Info-Change', Opts) -> + grouped_avp(T, + 'Access-Network-Info-Change', + Data, + Opts); +avp(T, Data, 'Access-Network-Information', Opts) -> + avp(T, + Data, + 'Access-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Access-Transfer-Information', Opts) -> + grouped_avp(T, + 'Access-Transfer-Information', + Data, + Opts); +avp(T, Data, 'Access-Transfer-Type', Opts) -> + avp(T, + Data, + 'Access-Transfer-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Account-Expiration', Opts) -> + avp(T, + Data, + 'Account-Expiration', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Accumulated-Cost', Opts) -> + grouped_avp(T, 'Accumulated-Cost', Data, Opts); +avp(T, Data, 'Adaptations', Opts) -> + avp(T, + Data, + 'Adaptations', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Content-Information', Opts) -> + grouped_avp(T, + 'Additional-Content-Information', + Data, + Opts); +avp(T, Data, 'Additional-Exception-Reports', Opts) -> + avp(T, + Data, + 'Additional-Exception-Reports', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Type-Information', Opts) -> + avp(T, + Data, + 'Additional-Type-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Data', Opts) -> + avp(T, + Data, + 'Address-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Domain', Opts) -> + grouped_avp(T, 'Address-Domain', Data, Opts); +avp(T, Data, 'Address-Type', Opts) -> + avp(T, + Data, + 'Address-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Addressee-Type', Opts) -> + avp(T, + Data, + 'Addressee-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Alternate-Charged-Party-Address', Opts) -> + avp(T, + Data, + 'Alternate-Charged-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Identifier', Opts) -> + avp(T, + Data, + 'Announcement-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Information', Opts) -> + grouped_avp(T, 'Announcement-Information', Data, Opts); +avp(T, Data, 'Announcement-Order', Opts) -> + avp(T, + Data, + 'Announcement-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-PLMN-ID', Opts) -> + avp(T, + Data, + 'Announcing-PLMN-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Cost-Information', Opts) -> + grouped_avp(T, 'AoC-Cost-Information', Data, Opts); +avp(T, Data, 'AoC-Format', Opts) -> + avp(T, + Data, + 'AoC-Format', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Information', Opts) -> + grouped_avp(T, 'AoC-Information', Data, Opts); +avp(T, Data, 'AoC-Request-Type', Opts) -> + avp(T, + Data, + 'AoC-Request-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service', Opts) -> + grouped_avp(T, 'AoC-Service', Data, Opts); +avp(T, Data, 'AoC-Service-Obligatory-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Obligatory-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Subscription-Information', Opts) -> + grouped_avp(T, + 'AoC-Subscription-Information', + Data, + Opts); +avp(T, Data, 'Applic-ID', Opts) -> + avp(T, Data, 'Applic-ID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, + 'Application-Provided-Called-Party-Address', Opts) -> + avp(T, + Data, + 'Application-Provided-Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server', Opts) -> + avp(T, + Data, + 'Application-Server', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server-Information', Opts) -> + grouped_avp(T, + 'Application-Server-Information', + Data, + Opts); +avp(T, Data, 'Application-Specific-Data', Opts) -> + avp(T, + Data, + 'Application-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-Party-Address', Opts) -> + avp(T, + Data, + 'Associated-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-URI', Opts) -> + avp(T, + Data, + 'Associated-URI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Authorised-QoS', Opts) -> + avp(T, + Data, + 'Authorised-QoS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Aux-Applic-Info', Opts) -> + avp(T, + Data, + 'Aux-Applic-Info', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'BSSID', Opts) -> + avp(T, Data, 'BSSID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Base-Time-Interval', Opts) -> + avp(T, + Data, + 'Base-Time-Interval', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Basic-Service-Code', Opts) -> + grouped_avp(T, 'Basic-Service-Code', Data, Opts); +avp(T, Data, 'Bearer-Capability', Opts) -> + avp(T, + Data, + 'Bearer-Capability', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Bearer-Service', Opts) -> + avp(T, + Data, + 'Bearer-Service', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CG-Address', Opts) -> + avp(T, + Data, + 'CG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CN-Operator-Selection-Entity', Opts) -> + avp(T, + Data, + 'CN-Operator-Selection-Entity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CP-CIoT-EPS-Optimisation-Indicator', + Opts) -> + avp(T, + Data, + 'CP-CIoT-EPS-Optimisation-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CPDT-Information', Opts) -> + grouped_avp(T, 'CPDT-Information', Data, Opts); +avp(T, Data, 'CSG-Access-Mode', Opts) -> + avp(T, + Data, + 'CSG-Access-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CSG-Membership-Indication', Opts) -> + avp(T, + Data, + 'CSG-Membership-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CUG-Information', Opts) -> + avp(T, + Data, + 'CUG-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Asserted-Identity', Opts) -> + avp(T, + Data, + 'Called-Asserted-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity', Opts) -> + avp(T, + Data, + 'Called-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity-Change', Opts) -> + grouped_avp(T, 'Called-Identity-Change', Data, Opts); +avp(T, Data, 'Called-Party-Address', Opts) -> + avp(T, + Data, + 'Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Calling-Party-Address', Opts) -> + avp(T, + Data, + 'Calling-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Carrier-Select-Routing-Information', + Opts) -> + avp(T, + Data, + 'Carrier-Select-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cause-Code', Opts) -> + avp(T, + Data, + 'Cause-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cellular-Network-Information', Opts) -> + avp(T, + Data, + 'Cellular-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Condition', Opts) -> + avp(T, + Data, + 'Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Time', Opts) -> + avp(T, + Data, + 'Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charge-Reason-Code', Opts) -> + avp(T, + Data, + 'Charge-Reason-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charged-Party', Opts) -> + avp(T, + Data, + 'Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Characteristics-Selection-Mode', + Opts) -> + avp(T, + Data, + 'Charging-Characteristics-Selection-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Per-IP-CAN-Session-Indicator', + Opts) -> + avp(T, + Data, + 'Charging-Per-IP-CAN-Session-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Class-Identifier', Opts) -> + avp(T, + Data, + 'Class-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Client-Address', Opts) -> + avp(T, + Data, + 'Client-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Class', Opts) -> + avp(T, + Data, + 'Content-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Disposition', Opts) -> + avp(T, + Data, + 'Content-Disposition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Length', Opts) -> + avp(T, + Data, + 'Content-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Size', Opts) -> + avp(T, + Data, + 'Content-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Type', Opts) -> + avp(T, + Data, + 'Content-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Coverage-Info', Opts) -> + grouped_avp(T, 'Coverage-Info', Data, Opts); +avp(T, Data, 'Coverage-Status', Opts) -> + avp(T, + Data, + 'Coverage-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Current-Tariff', Opts) -> + grouped_avp(T, 'Current-Tariff', Data, Opts); +avp(T, Data, 'DRM-Content', Opts) -> + avp(T, + Data, + 'DRM-Content', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Deferred-Location-Event-Type', Opts) -> + avp(T, + Data, + 'Deferred-Location-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Delivery-Report-Requested', Opts) -> + avp(T, + Data, + 'Delivery-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Destination-Interface', Opts) -> + grouped_avp(T, 'Destination-Interface', Data, Opts); +avp(T, Data, 'Diagnostics', Opts) -> + avp(T, + Data, + 'Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Domain-Name', Opts) -> + avp(T, + Data, + 'Domain-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag-Extension', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag-Extension', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'EPDG-Address', Opts) -> + avp(T, + Data, + 'EPDG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Early-Media-Description', Opts) -> + grouped_avp(T, 'Early-Media-Description', Data, Opts); +avp(T, Data, 'Enhanced-Diagnostics', Opts) -> + grouped_avp(T, 'Enhanced-Diagnostics', Data, Opts); +avp(T, Data, 'Envelope', Opts) -> + grouped_avp(T, 'Envelope', Data, Opts); +avp(T, Data, 'Envelope-End-Time', Opts) -> + avp(T, + Data, + 'Envelope-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Reporting', Opts) -> + avp(T, + Data, + 'Envelope-Reporting', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Start-Time', Opts) -> + avp(T, + Data, + 'Envelope-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event', Opts) -> + avp(T, Data, 'Event', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Charging-TimeStamp', Opts) -> + avp(T, + Data, + 'Event-Charging-TimeStamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Type', Opts) -> + grouped_avp(T, 'Event-Type', Data, Opts); +avp(T, Data, 'Expires', Opts) -> + avp(T, Data, 'Expires', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'FE-Identifier-List', Opts) -> + avp(T, + Data, + 'FE-Identifier-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'File-Repair-Supported', Opts) -> + avp(T, + Data, + 'File-Repair-Supported', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Forwarding-Pending', Opts) -> + avp(T, + Data, + 'Forwarding-Pending', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'From-Address', Opts) -> + avp(T, + Data, + 'From-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'GGSN-Address', Opts) -> + avp(T, + Data, + 'GGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Application-Reference-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Application-Reference-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Communication-Service-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Communication-Service-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Emergency-Indicator', Opts) -> + avp(T, + Data, + 'IMS-Emergency-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Information', Opts) -> + grouped_avp(T, 'IMS-Information', Data, Opts); +avp(T, Data, 'IMS-Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Visited-Network-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMSI-Unauthenticated-Flag', Opts) -> + avp(T, + Data, + 'IMSI-Unauthenticated-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IP-Realm-Default-Indication', Opts) -> + avp(T, + Data, + 'IP-Realm-Default-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause', Opts) -> + grouped_avp(T, 'ISUP-Cause', Data, Opts); +avp(T, Data, 'ISUP-Cause-Diagnostics', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Location', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Location', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Value', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Location-Number', Opts) -> + avp(T, + Data, + 'ISUP-Location-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incoming-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Incoming-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incremental-Cost', Opts) -> + grouped_avp(T, 'Incremental-Cost', Data, Opts); +avp(T, Data, 'Initial-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Initial-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Instance-Id', Opts) -> + avp(T, + Data, + 'Instance-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Inter-Operator-Identifier', Opts) -> + grouped_avp(T, 'Inter-Operator-Identifier', Data, Opts); +avp(T, Data, 'Inter-UE-Transfer', Opts) -> + avp(T, + Data, + 'Inter-UE-Transfer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Id', Opts) -> + avp(T, + Data, + 'Interface-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Port', Opts) -> + avp(T, + Data, + 'Interface-Port', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Text', Opts) -> + avp(T, + Data, + 'Interface-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Type', Opts) -> + avp(T, + Data, + 'Interface-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-APN', Opts) -> + avp(T, Data, 'LCS-APN', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-Dialed-By-MS', Opts) -> + avp(T, + Data, + 'LCS-Client-Dialed-By-MS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-External-ID', Opts) -> + avp(T, + Data, + 'LCS-Client-External-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-ID', Opts) -> + grouped_avp(T, 'LCS-Client-ID', Data, Opts); +avp(T, Data, 'LCS-Client-Name', Opts) -> + grouped_avp(T, 'LCS-Client-Name', Data, Opts); +avp(T, Data, 'LCS-Client-Type', Opts) -> + avp(T, + Data, + 'LCS-Client-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'LCS-Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Format-Indicator', Opts) -> + avp(T, + Data, + 'LCS-Format-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Information', Opts) -> + grouped_avp(T, 'LCS-Information', Data, Opts); +avp(T, Data, 'LCS-Name-String', Opts) -> + avp(T, + Data, + 'LCS-Name-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Requestor-ID', Opts) -> + grouped_avp(T, 'LCS-Requestor-ID', Data, Opts); +avp(T, Data, 'LCS-Requestor-ID-String', Opts) -> + avp(T, + Data, + 'LCS-Requestor-ID-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Language', Opts) -> + avp(T, Data, 'Language', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Layer-2-Group-ID', Opts) -> + avp(T, + Data, + 'Layer-2-Group-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-GW-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Local-GW-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-Sequence-Number', Opts) -> + avp(T, + Data, + 'Local-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate', Opts) -> + avp(T, + Data, + 'Location-Estimate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate-Type', Opts) -> + avp(T, + Data, + 'Location-Estimate-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Info', Opts) -> + grouped_avp(T, 'Location-Info', Data, Opts); +avp(T, Data, 'Location-Type', Opts) -> + grouped_avp(T, 'Location-Type', Data, Opts); +avp(T, Data, 'Low-Balance-Indication', Opts) -> + avp(T, + Data, + 'Low-Balance-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Low-Priority-Indicator', Opts) -> + avp(T, + Data, + 'Low-Priority-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Charged-Party', Opts) -> + avp(T, + Data, + 'MBMS-Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-GW-Address', Opts) -> + avp(T, + Data, + 'MBMS-GW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Information', Opts) -> + grouped_avp(T, 'MBMS-Information', Data, Opts); +avp(T, Data, 'MBMS-User-Service-Type', Opts) -> + avp(T, + Data, + 'MBMS-User-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MM-Content-Type', Opts) -> + grouped_avp(T, 'MM-Content-Type', Data, Opts); +avp(T, Data, 'MMBox-Storage-Requested', Opts) -> + avp(T, + Data, + 'MMBox-Storage-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MMS-Information', Opts) -> + grouped_avp(T, 'MMS-Information', Data, Opts); +avp(T, Data, 'MMTel-Information', Opts) -> + grouped_avp(T, 'MMTel-Information', Data, Opts); +avp(T, Data, 'MMTel-SService-Type', Opts) -> + avp(T, + Data, + 'MMTel-SService-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MSC-Address', Opts) -> + avp(T, + Data, + 'MSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MTC-IWF-Address', Opts) -> + avp(T, + Data, + 'MTC-IWF-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Flag', Opts) -> + avp(T, + Data, + 'Media-Initiator-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Party', Opts) -> + avp(T, + Data, + 'Media-Initiator-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Body', Opts) -> + grouped_avp(T, 'Message-Body', Data, Opts); +avp(T, Data, 'Message-Class', Opts) -> + grouped_avp(T, 'Message-Class', Data, Opts); +avp(T, Data, 'Message-ID', Opts) -> + avp(T, + Data, + 'Message-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Size', Opts) -> + avp(T, + Data, + 'Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Type', Opts) -> + avp(T, + Data, + 'Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitored-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitored-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Configuration-Activity', + Opts) -> + avp(T, + Data, + 'Monitoring-Event-Configuration-Activity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Functionality', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Information', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Information', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Data', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Report-Data', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Number', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Report-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'NIDD-Submission', Opts) -> + grouped_avp(T, 'NIDD-Submission', Data, Opts); +avp(T, Data, 'NNI-Information', Opts) -> + grouped_avp(T, 'NNI-Information', Data, Opts); +avp(T, Data, 'NNI-Type', Opts) -> + avp(T, Data, 'NNI-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Neighbour-Node-Address', Opts) -> + avp(T, + Data, + 'Neighbour-Node-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Network-Call-Reference-Number', Opts) -> + avp(T, + Data, + 'Network-Call-Reference-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Next-Tariff', Opts) -> + grouped_avp(T, 'Next-Tariff', Data, Opts); +avp(T, Data, 'Node-Functionality', Opts) -> + avp(T, + Data, + 'Node-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Node-Id', Opts) -> + avp(T, Data, 'Node-Id', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Diversions', Opts) -> + avp(T, + Data, + 'Number-Of-Diversions', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Messages-Sent', Opts) -> + avp(T, + Data, + 'Number-Of-Messages-Sent', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Participants', Opts) -> + avp(T, + Data, + 'Number-Of-Participants', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Received-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Received-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Portability-Routing-Information', + Opts) -> + avp(T, + Data, + 'Number-Portability-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Offline-Charging', Opts) -> + grouped_avp(T, 'Offline-Charging', Data, Opts); +avp(T, Data, 'Online-Charging-Flag', Opts) -> + avp(T, + Data, + 'Online-Charging-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originating-IOI', Opts) -> + avp(T, + Data, + 'Originating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator', Opts) -> + avp(T, + Data, + 'Originator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator-Address', Opts) -> + grouped_avp(T, 'Originator-Address', Data, Opts); +avp(T, Data, 'Originator-Interface', Opts) -> + grouped_avp(T, 'Originator-Interface', Data, Opts); +avp(T, Data, 'Originator-Received-Address', Opts) -> + grouped_avp(T, + 'Originator-Received-Address', + Data, + Opts); +avp(T, Data, 'Originator-SCCP-Address', Opts) -> + avp(T, + Data, + 'Originator-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Session-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-EPC-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-EPC-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC5-Radio-Technology', Opts) -> + avp(T, + Data, + 'PC5-Radio-Technology', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDN-Connection-Charging-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-Charging-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address', Opts) -> + avp(T, + Data, + 'PDP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address-Prefix-Length', Opts) -> + avp(T, + Data, + 'PDP-Address-Prefix-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Context-Type', Opts) -> + avp(T, + Data, + 'PDP-Context-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Append-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Append-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Furnish-Charging-Information', Opts) -> + grouped_avp(T, + 'PS-Furnish-Charging-Information', + Data, + Opts); +avp(T, Data, 'PS-Information', Opts) -> + grouped_avp(T, 'PS-Information', Data, Opts); +avp(T, Data, 'Participant-Access-Priority', Opts) -> + avp(T, + Data, + 'Participant-Access-Priority', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Action-Type', Opts) -> + avp(T, + Data, + 'Participant-Action-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Group', Opts) -> + grouped_avp(T, 'Participant-Group', Data, Opts); +avp(T, Data, 'Participants-Involved', Opts) -> + avp(T, + Data, + 'Participants-Involved', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Play-Alternative', Opts) -> + avp(T, + Data, + 'Play-Alternative', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Condition', Opts) -> + avp(T, + Data, + 'PoC-Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Time', Opts) -> + avp(T, + Data, + 'PoC-Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Controlling-Address', Opts) -> + avp(T, + Data, + 'PoC-Controlling-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Event-Type', Opts) -> + avp(T, + Data, + 'PoC-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Group-Name', Opts) -> + avp(T, + Data, + 'PoC-Group-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Information', Opts) -> + grouped_avp(T, 'PoC-Information', Data, Opts); +avp(T, Data, 'PoC-Server-Role', Opts) -> + avp(T, + Data, + 'PoC-Server-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Id', Opts) -> + avp(T, + Data, + 'PoC-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Initiation-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Initiation-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role', Opts) -> + grouped_avp(T, 'PoC-User-Role', Data, Opts); +avp(T, Data, 'PoC-User-Role-IDs', Opts) -> + avp(T, + Data, + 'PoC-User-Role-IDs', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role-Info-Units', Opts) -> + avp(T, + Data, + 'PoC-User-Role-Info-Units', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Positioning-Data', Opts) -> + avp(T, + Data, + 'Positioning-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Preferred-AoC-Currency', Opts) -> + avp(T, + Data, + 'Preferred-AoC-Currency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Priority', Opts) -> + avp(T, Data, 'Priority', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Privacy-Indicator', Opts) -> + avp(T, + Data, + 'Privacy-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-3rd-Party-Application-ID', Opts) -> + avp(T, + Data, + 'ProSe-3rd-Party-Application-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, + 'ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Reception-Data-Container', + Data, + Opts); +avp(T, Data, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Data, + Opts); +avp(T, Data, 'ProSe-Direct-Discovery-Model', Opts) -> + avp(T, + Data, + 'ProSe-Direct-Discovery-Model', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Event-Type', Opts) -> + avp(T, + Data, + 'ProSe-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Function-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'ProSe-Function-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Functionality', Opts) -> + avp(T, + Data, + 'ProSe-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Group-IP-Multicast-Address', + Opts) -> + avp(T, + Data, + 'ProSe-Group-IP-Multicast-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Information', Opts) -> + grouped_avp(T, 'ProSe-Information', Data, Opts); +avp(T, Data, 'ProSe-Range-Class', Opts) -> + avp(T, + Data, + 'ProSe-Range-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Reason-For-Cancellation', Opts) -> + avp(T, + Data, + 'ProSe-Reason-For-Cancellation', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Request-Timestamp', Opts) -> + avp(T, + Data, + 'ProSe-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Role-Of-UE', Opts) -> + avp(T, + Data, + 'ProSe-Role-Of-UE', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Source-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Source-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Target-Layer-2-ID', Opts) -> + avp(T, + Data, + 'ProSe-Target-Layer-2-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-to-Network-Relay-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-to-Network-Relay-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Indication', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Timestamp', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Cancellation-Timestamp', + Opts) -> + avp(T, + Data, + 'Proximity-Cancellation-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Consumption-Time', Opts) -> + avp(T, + Data, + 'Quota-Consumption-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Holding-Time', Opts) -> + avp(T, + Data, + 'Quota-Holding-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Indicator', Opts) -> + avp(T, + Data, + 'Quota-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-End-Time', Opts) -> + avp(T, + Data, + 'RAN-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-Secondary-RAT-Usage-Report', Opts) -> + grouped_avp(T, + 'RAN-Secondary-RAT-Usage-Report', + Data, + Opts); +avp(T, Data, 'RAN-Start-Time', Opts) -> + avp(T, + Data, + 'RAN-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Frequency', Opts) -> + avp(T, + Data, + 'Radio-Frequency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Parameter-Set-Info', Opts) -> + grouped_avp(T, 'Radio-Parameter-Set-Info', Data, Opts); +avp(T, Data, 'Radio-Parameter-Set-Values', Opts) -> + avp(T, + Data, + 'Radio-Parameter-Set-Values', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Resources-Indicator', Opts) -> + avp(T, + Data, + 'Radio-Resources-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Message-Size', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Rate', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Rate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Time-Unit', Opts) -> + avp(T, + Data, + 'Rate-Control-Time-Unit', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Element', Opts) -> + grouped_avp(T, 'Rate-Element', Data, Opts); +avp(T, Data, 'Read-Reply-Report-Requested', Opts) -> + avp(T, + Data, + 'Read-Reply-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Real-Time-Tariff-Information', Opts) -> + grouped_avp(T, + 'Real-Time-Tariff-Information', + Data, + Opts); +avp(T, Data, 'Reason-Header', Opts) -> + avp(T, + Data, + 'Reason-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Recipient-Address', Opts) -> + grouped_avp(T, 'Recipient-Address', Data, Opts); +avp(T, Data, 'Recipient-Info', Opts) -> + grouped_avp(T, 'Recipient-Info', Data, Opts); +avp(T, Data, 'Recipient-Received-Address', Opts) -> + grouped_avp(T, + 'Recipient-Received-Address', + Data, + Opts); +avp(T, Data, 'Recipient-SCCP-Address', Opts) -> + avp(T, + Data, + 'Recipient-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Refund-Information', Opts) -> + avp(T, + Data, + 'Refund-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Change-Condition-Information', + Opts) -> + grouped_avp(T, + 'Related-Change-Condition-Information', + Data, + Opts); +avp(T, Data, 'Related-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-IMS-Charging-Identifier-Node', + Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Trigger', Opts) -> + grouped_avp(T, 'Related-Trigger', Data, Opts); +avp(T, Data, 'Relationship-Mode', Opts) -> + avp(T, + Data, + 'Relationship-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Relay-IP-address', Opts) -> + avp(T, + Data, + 'Relay-IP-address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Remaining-Balance', Opts) -> + grouped_avp(T, 'Remaining-Balance', Data, Opts); +avp(T, Data, 'Reply-Applic-ID', Opts) -> + avp(T, + Data, + 'Reply-Applic-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reply-Path-Requested', Opts) -> + avp(T, + Data, + 'Reply-Path-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reporting-Reason', Opts) -> + avp(T, + Data, + 'Reporting-Reason', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requested-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-Party-Address', Opts) -> + avp(T, + Data, + 'Requested-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requestor-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requestor-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-Node', Opts) -> + avp(T, + Data, + 'Role-Of-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-ProSe-Function', Opts) -> + avp(T, + Data, + 'Role-Of-ProSe-Function', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Received', Opts) -> + avp(T, + Data, + 'Route-Header-Received', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Transmitted', Opts) -> + avp(T, + Data, + 'Route-Header-Transmitted', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-AS-Address', Opts) -> + grouped_avp(T, 'SCS-AS-Address', Data, Opts); +avp(T, Data, 'SCS-Address', Opts) -> + avp(T, + Data, + 'SCS-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-Realm', Opts) -> + avp(T, Data, 'SCS-Realm', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Answer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Answer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Component', Opts) -> + grouped_avp(T, 'SDP-Media-Component', Data, Opts); +avp(T, Data, 'SDP-Media-Description', Opts) -> + avp(T, + Data, + 'SDP-Media-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Name', Opts) -> + avp(T, + Data, + 'SDP-Media-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Offer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Offer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Session-Description', Opts) -> + avp(T, + Data, + 'SDP-Session-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-TimeStamps', Opts) -> + grouped_avp(T, 'SDP-TimeStamps', Data, Opts); +avp(T, Data, 'SDP-Type', Opts) -> + avp(T, Data, 'SDP-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SGSN-Address', Opts) -> + avp(T, + Data, + 'SGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Address', Opts) -> + avp(T, + Data, + 'SGW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Change', Opts) -> + avp(T, + Data, + 'SGW-Change', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGi-PtP-Tunnelling-Method', Opts) -> + avp(T, + Data, + 'SGi-PtP-Tunnelling-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Method', Opts) -> + avp(T, + Data, + 'SIP-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Indicator', Opts) -> + avp(T, + Data, + 'SM-Device-Trigger-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Information', Opts) -> + grouped_avp(T, + 'SM-Device-Trigger-Information', + Data, + Opts); +avp(T, Data, 'SM-Discharge-Time', Opts) -> + avp(T, + Data, + 'SM-Discharge-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Message-Type', Opts) -> + avp(T, + Data, + 'SM-Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Protocol-ID', Opts) -> + avp(T, + Data, + 'SM-Protocol-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Sequence-Number', Opts) -> + avp(T, + Data, + 'SM-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Service-Type', Opts) -> + avp(T, + Data, + 'SM-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Status', Opts) -> + avp(T, Data, 'SM-Status', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SM-User-Data-Header', Opts) -> + avp(T, + Data, + 'SM-User-Data-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Information', Opts) -> + grouped_avp(T, 'SMS-Information', Data, Opts); +avp(T, Data, 'SMS-Node', Opts) -> + avp(T, Data, 'SMS-Node', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Result', Opts) -> + avp(T, + Data, + 'SMS-Result', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMSC-Address', Opts) -> + avp(T, + Data, + 'SMSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Scale-Factor', Opts) -> + grouped_avp(T, 'Scale-Factor', Data, Opts); +avp(T, Data, 'Secondary-RAT-Type', Opts) -> + avp(T, + Data, + 'Secondary-RAT-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Served-Party-IP-Address', Opts) -> + avp(T, + Data, + 'Served-Party-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Data-Container', Opts) -> + grouped_avp(T, 'Service-Data-Container', Data, Opts); +avp(T, Data, 'Service-Id', Opts) -> + avp(T, + Data, + 'Service-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Information', Opts) -> + grouped_avp(T, 'Service-Information', Data, Opts); +avp(T, Data, 'Service-Mode', Opts) -> + avp(T, + Data, + 'Service-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Data', Opts) -> + avp(T, + Data, + 'Service-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Info', Opts) -> + grouped_avp(T, 'Service-Specific-Info', Data, Opts); +avp(T, Data, 'Service-Specific-Type', Opts) -> + avp(T, + Data, + 'Service-Specific-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Identity', Opts) -> + avp(T, + Data, + 'Serving-Node-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Type', Opts) -> + avp(T, + Data, + 'Serving-Node-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Session-Direction', Opts) -> + avp(T, + Data, + 'Session-Direction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-Time', Opts) -> + avp(T, + Data, + 'Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-of-Charging', Opts) -> + avp(T, + Data, + 'Start-of-Charging', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Status-AS-Code', Opts) -> + avp(T, + Data, + 'Status-AS-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Stop-Time', Opts) -> + avp(T, Data, 'Stop-Time', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Submission-Time', Opts) -> + avp(T, + Data, + 'Submission-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Subscriber-Role', Opts) -> + avp(T, + Data, + 'Subscriber-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Supplementary-Service', Opts) -> + grouped_avp(T, 'Supplementary-Service', Data, Opts); +avp(T, Data, 'TAD-Identifier', Opts) -> + avp(T, + Data, + 'TAD-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAG-Address', Opts) -> + avp(T, + Data, + 'TWAG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'TWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Talk-Burst-Exchange', Opts) -> + grouped_avp(T, 'Talk-Burst-Exchange', Data, Opts); +avp(T, Data, 'Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Target-IP-Address', Opts) -> + avp(T, + Data, + 'Target-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Tariff-Information', Opts) -> + grouped_avp(T, 'Tariff-Information', Data, Opts); +avp(T, Data, 'Tariff-XML', Opts) -> + avp(T, + Data, + 'Tariff-XML', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Teleservice', Opts) -> + avp(T, + Data, + 'Teleservice', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Terminating-IOI', Opts) -> + avp(T, + Data, + 'Terminating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Reception', Opts) -> + avp(T, + Data, + 'Time-First-Reception', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Transmission', Opts) -> + avp(T, + Data, + 'Time-First-Transmission', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Usage', Opts) -> + avp(T, + Data, + 'Time-First-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Indicator', Opts) -> + avp(T, + Data, + 'Time-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Last-Usage', Opts) -> + avp(T, + Data, + 'Time-Last-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Mechanism', Opts) -> + grouped_avp(T, 'Time-Quota-Mechanism', Data, Opts); +avp(T, Data, 'Time-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Time-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Type', Opts) -> + avp(T, + Data, + 'Time-Quota-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Stamps', Opts) -> + grouped_avp(T, 'Time-Stamps', Data, Opts); +avp(T, Data, 'Time-Usage', Opts) -> + avp(T, + Data, + 'Time-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Token-Text', Opts) -> + avp(T, + Data, + 'Token-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Traffic-Data-Volumes', Opts) -> + grouped_avp(T, 'Traffic-Data-Volumes', Data, Opts); +avp(T, Data, 'Transcoder-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Transcoder-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transit-IOI-List', Opts) -> + avp(T, + Data, + 'Transit-IOI-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transmitter-Info', Opts) -> + grouped_avp(T, 'Transmitter-Info', Data, Opts); +avp(T, Data, 'Trigger', Opts) -> + grouped_avp(T, 'Trigger', Data, Opts); +avp(T, Data, 'Trigger-Type', Opts) -> + avp(T, + Data, + 'Trigger-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Trunk-Group-Id', Opts) -> + grouped_avp(T, 'Trunk-Group-Id', Data, Opts); +avp(T, Data, 'Type-Number', Opts) -> + avp(T, + Data, + 'Type-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UNI-PDU-CP-Only-Flag', Opts) -> + avp(T, + Data, + 'UNI-PDU-CP-Only-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'UWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Unit-Cost', Opts) -> + grouped_avp(T, 'Unit-Cost', Data, Opts); +avp(T, Data, 'Unit-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Unit-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Unused-Quota-Timer', Opts) -> + avp(T, + Data, + 'Unused-Quota-Timer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Usage-Information-Report-Sequence-Number', + Opts) -> + avp(T, + Data, + 'Usage-Information-Report-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-CSG-Information', Opts) -> + grouped_avp(T, 'User-CSG-Information', Data, Opts); +avp(T, Data, 'User-Participating-Type', Opts) -> + avp(T, + Data, + 'User-Participating-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-Session-Id', Opts) -> + avp(T, + Data, + 'User-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'VCS-Information', Opts) -> + grouped_avp(T, 'VCS-Information', Data, Opts); +avp(T, Data, 'VLR-Number', Opts) -> + avp(T, + Data, + 'VLR-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part', Opts) -> + grouped_avp(T, 'Variable-Part', Data, Opts); +avp(T, Data, 'Variable-Part-Order', Opts) -> + avp(T, + Data, + 'Variable-Part-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Type', Opts) -> + avp(T, + Data, + 'Variable-Part-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Value', Opts) -> + avp(T, + Data, + 'Variable-Part-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Volume-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Volume-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'APN-OI-Replacement', Opts) -> + avp(T, + Data, + 'APN-OI-Replacement', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'Emergency-Info', Opts) -> + grouped_avp(T, 'Emergency-Info', Data, Opts); +avp(T, Data, 'GMLC-Number', Opts) -> + avp(T, + Data, + 'GMLC-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'SGSN-Number', Opts) -> + avp(T, + Data, + 'SGSN-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'MIP6-Agent-Info', Opts) -> + grouped_avp(T, 'MIP6-Agent-Info', Data, Opts); +avp(T, Data, 'MIP6-Home-Link-Prefix', Opts) -> + avp(T, + Data, + 'MIP6-Home-Link-Prefix', + Opts, + diameter_rfc5447); +avp(T, Data, 'Service-Selection', Opts) -> + avp(T, + Data, + 'Service-Selection', + Opts, + diameter_rfc5778); +avp(T, Data, 'AN-GW-Address', Opts) -> + avp(T, + Data, + 'AN-GW-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AN-GW-Status', Opts) -> + avp(T, + Data, + 'AN-GW-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-DL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-UL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Access-Network-Charging-Identifier-Gx', + Opts) -> + grouped_avp(T, + 'Access-Network-Charging-Identifier-Gx', + Data, + Opts); +avp(T, Data, 'Allocation-Retention-Priority', Opts) -> + grouped_avp(T, + 'Allocation-Retention-Priority', + Data, + Opts); +avp(T, Data, 'Application-Detection-Information', + Opts) -> + grouped_avp(T, + 'Application-Detection-Information', + Data, + Opts); +avp(T, Data, 'Bearer-Control-Mode', Opts) -> + avp(T, + Data, + 'Bearer-Control-Mode', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Identifier', Opts) -> + avp(T, + Data, + 'Bearer-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Operation', Opts) -> + avp(T, + Data, + 'Bearer-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Usage', Opts) -> + avp(T, + Data, + 'Bearer-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CSG-Information-Reporting', Opts) -> + avp(T, + Data, + 'CSG-Information-Reporting', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Correlation-Indicator', Opts) -> + avp(T, + Data, + 'Charging-Correlation-Indicator', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Base-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Base-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Definition', Opts) -> + grouped_avp(T, 'Charging-Rule-Definition', Data, Opts); +avp(T, Data, 'Charging-Rule-Install', Opts) -> + grouped_avp(T, 'Charging-Rule-Install', Data, Opts); +avp(T, Data, 'Charging-Rule-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Remove', Opts) -> + grouped_avp(T, 'Charging-Rule-Remove', Data, Opts); +avp(T, Data, 'Charging-Rule-Report', Opts) -> + grouped_avp(T, 'Charging-Rule-Report', Data, Opts); +avp(T, Data, 'CoA-IP-Address', Opts) -> + avp(T, + Data, + 'CoA-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CoA-Information', Opts) -> + grouped_avp(T, 'CoA-Information', Data, Opts); +avp(T, Data, 'Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + grouped_avp(T, + 'Conditional-APN-Aggregate-Max-Bitrate', + Data, + Opts); +avp(T, Data, 'Credit-Management-Status', Opts) -> + avp(T, + Data, + 'Credit-Management-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Default-EPS-Bearer-QoS', Opts) -> + grouped_avp(T, 'Default-EPS-Bearer-QoS', Data, Opts); +avp(T, Data, 'Default-QoS-Information', Opts) -> + grouped_avp(T, 'Default-QoS-Information', Data, Opts); +avp(T, Data, 'Default-QoS-Name', Opts) -> + avp(T, + Data, + 'Default-QoS-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Event-Report-Indication', Opts) -> + grouped_avp(T, 'Event-Report-Indication', Data, Opts); +avp(T, Data, 'Event-Trigger', Opts) -> + avp(T, + Data, + 'Event-Trigger', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Fixed-User-Location-Info', Opts) -> + grouped_avp(T, 'Fixed-User-Location-Info', Data, Opts); +avp(T, Data, 'Flow-Direction', Opts) -> + avp(T, + Data, + 'Flow-Direction', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Flow-Information', Opts) -> + grouped_avp(T, 'Flow-Information', Data, Opts); +avp(T, Data, 'Flow-Label', Opts) -> + avp(T, + Data, + 'Flow-Label', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-DL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-UL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'HeNB-Local-IP-Address', Opts) -> + avp(T, + Data, + 'HeNB-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Session-Charging-Scope', Opts) -> + avp(T, + Data, + 'IP-CAN-Session-Charging-Scope', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Type', Opts) -> + avp(T, + Data, + 'IP-CAN-Type', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Metering-Method', Opts) -> + avp(T, + Data, + 'Metering-Method', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Key', Opts) -> + avp(T, + Data, + 'Monitoring-Key', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Time', Opts) -> + avp(T, + Data, + 'Monitoring-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Mute-Notification', Opts) -> + avp(T, + Data, + 'Mute-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'NetLoc-Access-Support', Opts) -> + avp(T, + Data, + 'NetLoc-Access-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Network-Request-Support', Opts) -> + avp(T, + Data, + 'Network-Request-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Offline', Opts) -> + avp(T, Data, 'Offline', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Online', Opts) -> + avp(T, Data, 'Online', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'PCC-Rule-Status', Opts) -> + avp(T, + Data, + 'PCC-Rule-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PCSCF-Restoration-Indication', Opts) -> + avp(T, + Data, + 'PCSCF-Restoration-Indication', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PDN-Connection-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-ID', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PS-to-CS-Session-Continuity', Opts) -> + avp(T, + Data, + 'PS-to-CS-Session-Continuity', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Content', Opts) -> + avp(T, + Data, + 'Packet-Filter-Content', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Identifier', Opts) -> + avp(T, + Data, + 'Packet-Filter-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Information', Opts) -> + grouped_avp(T, 'Packet-Filter-Information', Data, Opts); +avp(T, Data, 'Packet-Filter-Operation', Opts) -> + avp(T, + Data, + 'Packet-Filter-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Usage', Opts) -> + avp(T, + Data, + 'Packet-Filter-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Capability', Opts) -> + avp(T, + Data, + 'Pre-emption-Capability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Vulnerability', Opts) -> + avp(T, + Data, + 'Pre-emption-Vulnerability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Precedence', Opts) -> + avp(T, + Data, + 'Precedence', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Elements-List', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Elements-List', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Identifier', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Information', + Opts) -> + grouped_avp(T, + 'Presence-Reporting-Area-Information', + Data, + Opts); +avp(T, Data, 'Presence-Reporting-Area-Status', Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Priority-Level', Opts) -> + avp(T, + Data, + 'Priority-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Class-Identifier', Opts) -> + avp(T, + Data, + 'QoS-Class-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Information', Opts) -> + grouped_avp(T, 'QoS-Information', Data, Opts); +avp(T, Data, 'QoS-Negotiation', Opts) -> + avp(T, + Data, + 'QoS-Negotiation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Upgrade', Opts) -> + avp(T, + Data, + 'QoS-Upgrade', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAN-NAS-Release-Cause', Opts) -> + avp(T, + Data, + 'RAN-NAS-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAT-Type', Opts) -> + avp(T, Data, 'RAT-Type', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Redirect-Information', Opts) -> + grouped_avp(T, 'Redirect-Information', Data, Opts); +avp(T, Data, 'Redirect-Support', Opts) -> + avp(T, + Data, + 'Redirect-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Reporting-Level', Opts) -> + avp(T, + Data, + 'Reporting-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Resource-Allocation-Notification', + Opts) -> + avp(T, + Data, + 'Resource-Allocation-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Revalidation-Time', Opts) -> + avp(T, + Data, + 'Revalidation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Filter', Opts) -> + grouped_avp(T, 'Routing-Filter', Data, Opts); +avp(T, Data, 'Routing-IP-Address', Opts) -> + avp(T, + Data, + 'Routing-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Definition', Opts) -> + grouped_avp(T, 'Routing-Rule-Definition', Data, Opts); +avp(T, Data, 'Routing-Rule-Identifier', Opts) -> + avp(T, + Data, + 'Routing-Rule-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Install', Opts) -> + grouped_avp(T, 'Routing-Rule-Install', Data, Opts); +avp(T, Data, 'Routing-Rule-Remove', Opts) -> + grouped_avp(T, 'Routing-Rule-Remove', Data, Opts); +avp(T, Data, 'Rule-Activation-Time', Opts) -> + avp(T, + Data, + 'Rule-Activation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Deactivation-Time', Opts) -> + avp(T, + Data, + 'Rule-Deactivation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Failure-Code', Opts) -> + avp(T, + Data, + 'Rule-Failure-Code', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Security-Parameter-Index', Opts) -> + avp(T, + Data, + 'Security-Parameter-Index', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Session-Release-Cause', Opts) -> + avp(T, + Data, + 'Session-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Identifier', Opts) -> + avp(T, + Data, + 'TDF-Application-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Instance-Identifier', + Opts) -> + avp(T, + Data, + 'TDF-Application-Instance-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Host', Opts) -> + avp(T, + Data, + 'TDF-Destination-Host', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Realm', Opts) -> + avp(T, + Data, + 'TDF-Destination-Realm', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-IP-Address', Opts) -> + avp(T, + Data, + 'TDF-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Information', Opts) -> + grouped_avp(T, 'TDF-Information', Data, Opts); +avp(T, Data, 'TFT-Filter', Opts) -> + avp(T, + Data, + 'TFT-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TFT-Packet-Filter-Information', Opts) -> + grouped_avp(T, + 'TFT-Packet-Filter-Information', + Data, + Opts); +avp(T, Data, 'ToS-Traffic-Class', Opts) -> + avp(T, + Data, + 'ToS-Traffic-Class', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Filter', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Length', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Length', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Information', Opts) -> + grouped_avp(T, 'Tunnel-Information', Data, Opts); +avp(T, Data, 'UDP-Source-Port', Opts) -> + avp(T, + Data, + 'UDP-Source-Port', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'UE-Local-IP-Address', Opts) -> + avp(T, + Data, + 'UE-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Information', Opts) -> + grouped_avp(T, + 'Usage-Monitoring-Information', + Data, + Opts); +avp(T, Data, 'Usage-Monitoring-Level', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Report', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Report', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Support', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'User-Location-Info-Time', Opts) -> + avp(T, + Data, + 'User-Location-Info-Time', + Opts, + diameter_3gpp_ts29_212); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'Network-Access-Mode', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Network-Access-Mode', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Network-Access-Mode', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Network-Access-Mode', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Network-Access-Mode', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Network-Access-Mode', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Cancellation-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Cancellation-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Cancellation-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Cancellation-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Cancellation-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Cancellation-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Cancellation-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Cancellation-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Cancellation-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Cancellation-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Subscriber-Status', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Subscriber-Status', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Subscriber-Status', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Subscriber-Status', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'All-APN-Configurations-Included-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'All-APN-Configurations-Included-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'All-APN-Configurations-Included-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'All-APN-Configurations-Included-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'VPLMN-Dynamic-Address-Allowed', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'VPLMN-Dynamic-Address-Allowed', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'VPLMN-Dynamic-Address-Allowed', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'VPLMN-Dynamic-Address-Allowed', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PDN-GW-Allocation-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PDN-GW-Allocation-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PDN-GW-Allocation-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PDN-GW-Allocation-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Equipment-Status', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Equipment-Status', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Equipment-Status', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Equipment-Status', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Equipment-Status', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Equipment-Status', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PDN-Type', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'PDN-Type', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PDN-Type', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'PDN-Type', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PDN-Type', <<0, 0, 0, 2>>) -> 2; +enumerated_avp(encode, 'PDN-Type', 2) -> <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PDN-Type', <<0, 0, 0, 3>>) -> 3; +enumerated_avp(encode, 'PDN-Type', 3) -> <<0, 0, 0, 3>>; +enumerated_avp(decode, + 'Complete-Data-List-Included-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Complete-Data-List-Included-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'Complete-Data-List-Included-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'Complete-Data-List-Included-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Roaming-Restricted-Due-To-Unsupported-Feature', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Alert-Reason', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Alert-Reason', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Alert-Reason', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Alert-Reason', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Notification-To-UE-User', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Notification-To-UE-User', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Notification-To-UE-User', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Notification-To-UE-User', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Notification-To-UE-User', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Notification-To-UE-User', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Notification-To-UE-User', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Notification-To-UE-User', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'GMLC-Restriction', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'GMLC-Restriction', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'GMLC-Restriction', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'GMLC-Restriction', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PLMN-Client', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PLMN-Client', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PLMN-Client', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PLMN-Client', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PLMN-Client', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PLMN-Client', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PLMN-Client', <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'PLMN-Client', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'PLMN-Client', <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'PLMN-Client', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'ICS-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ICS-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ICS-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ICS-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'IMS-Voice-Over-PS-Sessions-Supported', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'IMS-Voice-Over-PS-Sessions-Supported', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'IMS-Voice-Over-PS-Sessions-Supported', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'IMS-Voice-Over-PS-Sessions-Supported', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'User-State', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'User-State', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'User-State', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'User-State', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'User-State', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'User-State', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'User-State', <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'User-State', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'User-State', <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'User-State', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'User-State', <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'User-State', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Current-Location-Retrieved', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Current-Location-Retrieved', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Error-Diagnostic', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Error-Diagnostic', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Error-Diagnostic', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Error-Diagnostic', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Error-Diagnostic', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Error-Diagnostic', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Error-Diagnostic', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Error-Diagnostic', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Error-Diagnostic', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Error-Diagnostic', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'UE-SRVCC-Capability', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'UE-SRVCC-Capability', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'UE-SRVCC-Capability', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'UE-SRVCC-Capability', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'VPLMN-LIPA-Allowed', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'VPLMN-LIPA-Allowed', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'VPLMN-LIPA-Allowed', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'VPLMN-LIPA-Allowed', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'LIPA-Permission', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'LIPA-Permission', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'LIPA-Permission', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'LIPA-Permission', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'LIPA-Permission', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'LIPA-Permission', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'SIPTO-Permission', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'SIPTO-Permission', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SIPTO-Permission', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'SIPTO-Permission', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Relay-Node-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Relay-Node-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Relay-Node-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Relay-Node-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'MDT-User-Consent', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'MDT-User-Consent', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'MDT-User-Consent', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'MDT-User-Consent', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Subscribed-VSRVCC', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Subscribed-VSRVCC', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SMS-Register-Request', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'SMS-Register-Request', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SMS-Register-Request', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'SMS-Register-Request', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'SMS-Register-Request', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'SMS-Register-Request', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Daylight-Saving-Time', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Daylight-Saving-Time', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Daylight-Saving-Time', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Daylight-Saving-Time', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Daylight-Saving-Time', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Daylight-Saving-Time', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Subscription-Data', Opts) -> + empty_group('Subscription-Data', Opts); +empty_value('Terminal-Information', Opts) -> + empty_group('Terminal-Information', Opts); +empty_value('Requested-EUTRAN-Authentication-Info', + Opts) -> + empty_group('Requested-EUTRAN-Authentication-Info', + Opts); +empty_value('Requested-UTRAN-GERAN-Authentication-Info', + Opts) -> + empty_group('Requested-UTRAN-GERAN-Authentication-Info', + Opts); +empty_value('Authentication-Info', Opts) -> + empty_group('Authentication-Info', Opts); +empty_value('E-UTRAN-Vector', Opts) -> + empty_group('E-UTRAN-Vector', Opts); +empty_value('UTRAN-Vector', Opts) -> + empty_group('UTRAN-Vector', Opts); +empty_value('GERAN-Vector', Opts) -> + empty_group('GERAN-Vector', Opts); +empty_value('APN-Configuration-Profile', Opts) -> + empty_group('APN-Configuration-Profile', Opts); +empty_value('APN-Configuration', Opts) -> + empty_group('APN-Configuration', Opts); +empty_value('EPS-Subscribed-QoS-Profile', Opts) -> + empty_group('EPS-Subscribed-QoS-Profile', Opts); +empty_value('AMBR', Opts) -> empty_group('AMBR', Opts); +empty_value('Trace-Data', Opts) -> + empty_group('Trace-Data', Opts); +empty_value('GPRS-Subscription-Data', Opts) -> + empty_group('GPRS-Subscription-Data', Opts); +empty_value('PDP-Context', Opts) -> + empty_group('PDP-Context', Opts); +empty_value('CSG-Subscription-Data', Opts) -> + empty_group('CSG-Subscription-Data', Opts); +empty_value('Specific-APN-Info', Opts) -> + empty_group('Specific-APN-Info', Opts); +empty_value('LCS-Info', Opts) -> + empty_group('LCS-Info', Opts); +empty_value('LCS-PrivacyException', Opts) -> + empty_group('LCS-PrivacyException', Opts); +empty_value('External-Client', Opts) -> + empty_group('External-Client', Opts); +empty_value('Service-Type', Opts) -> + empty_group('Service-Type', Opts); +empty_value('MO-LR', Opts) -> + empty_group('MO-LR', Opts); +empty_value('Teleservice-List', Opts) -> + empty_group('Teleservice-List', Opts); +empty_value('Call-Barring-Info', Opts) -> + empty_group('Call-Barring-Info', Opts); +empty_value('EPS-User-State', Opts) -> + empty_group('EPS-User-State', Opts); +empty_value('EPS-Location-Information', Opts) -> + empty_group('EPS-Location-Information', Opts); +empty_value('MME-User-State', Opts) -> + empty_group('MME-User-State', Opts); +empty_value('SGSN-User-State', Opts) -> + empty_group('SGSN-User-State', Opts); +empty_value('MME-Location-Information', Opts) -> + empty_group('MME-Location-Information', Opts); +empty_value('SGSN-Location-Information', Opts) -> + empty_group('SGSN-Location-Information', Opts); +empty_value('Active-APN', Opts) -> + empty_group('Active-APN', Opts); +empty_value('MDT-Configuration', Opts) -> + empty_group('MDT-Configuration', Opts); +empty_value('Area-Scope', Opts) -> + empty_group('Area-Scope', Opts); +empty_value('Equivalent-PLMN-List', Opts) -> + empty_group('Equivalent-PLMN-List', Opts); +empty_value('VPLMN-CSG-Subscription-Data', Opts) -> + empty_group('VPLMN-CSG-Subscription-Data', Opts); +empty_value('Local-Time-Zone', Opts) -> + empty_group('Local-Time-Zone', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Flows', Opts) -> + empty_group('Flows', Opts); +empty_value('Charging-Information', Opts) -> + empty_group('Charging-Information', Opts); +empty_value('Supported-Features', Opts) -> + empty_group('Supported-Features', Opts); +empty_value('Supported-Applications', Opts) -> + empty_group('Supported-Applications', Opts); +empty_value('SIP-Auth-Data-Item', Opts) -> + empty_group('SIP-Auth-Data-Item', Opts); +empty_value('Deregistration-Reason', Opts) -> + empty_group('Deregistration-Reason', Opts); +empty_value('SIP-Digest-Authenticate', Opts) -> + empty_group('SIP-Digest-Authenticate', Opts); +empty_value('Serving-Node', Opts) -> + empty_group('Serving-Node', Opts); +empty_value('Additional-Serving-Node', Opts) -> + empty_group('Additional-Serving-Node', Opts); +empty_value('Access-Network-Info-Change', Opts) -> + empty_group('Access-Network-Info-Change', Opts); +empty_value('Access-Transfer-Information', Opts) -> + empty_group('Access-Transfer-Information', Opts); +empty_value('Accumulated-Cost', Opts) -> + empty_group('Accumulated-Cost', Opts); +empty_value('Additional-Content-Information', Opts) -> + empty_group('Additional-Content-Information', Opts); +empty_value('Address-Domain', Opts) -> + empty_group('Address-Domain', Opts); +empty_value('AF-Correlation-Information', Opts) -> + empty_group('AF-Correlation-Information', Opts); +empty_value('Announcement-Information', Opts) -> + empty_group('Announcement-Information', Opts); +empty_value('AoC-Cost-Information', Opts) -> + empty_group('AoC-Cost-Information', Opts); +empty_value('AoC-Information', Opts) -> + empty_group('AoC-Information', Opts); +empty_value('AoC-Service', Opts) -> + empty_group('AoC-Service', Opts); +empty_value('AoC-Subscription-Information', Opts) -> + empty_group('AoC-Subscription-Information', Opts); +empty_value('APN-Rate-Control', Opts) -> + empty_group('APN-Rate-Control', Opts); +empty_value('APN-Rate-Control-Downlink', Opts) -> + empty_group('APN-Rate-Control-Downlink', Opts); +empty_value('APN-Rate-Control-Uplink', Opts) -> + empty_group('APN-Rate-Control-Uplink', Opts); +empty_value('Application-Server-Information', Opts) -> + empty_group('Application-Server-Information', Opts); +empty_value('Basic-Service-Code', Opts) -> + empty_group('Basic-Service-Code', Opts); +empty_value('Called-Identity-Change', Opts) -> + empty_group('Called-Identity-Change', Opts); +empty_value('Coverage-Info', Opts) -> + empty_group('Coverage-Info', Opts); +empty_value('CPDT-Information', Opts) -> + empty_group('CPDT-Information', Opts); +empty_value('Current-Tariff', Opts) -> + empty_group('Current-Tariff', Opts); +empty_value('Destination-Interface', Opts) -> + empty_group('Destination-Interface', Opts); +empty_value('Early-Media-Description', Opts) -> + empty_group('Early-Media-Description', Opts); +empty_value('Enhanced-Diagnostics', Opts) -> + empty_group('Enhanced-Diagnostics', Opts); +empty_value('Envelope', Opts) -> + empty_group('Envelope', Opts); +empty_value('Event-Type', Opts) -> + empty_group('Event-Type', Opts); +empty_value('Incremental-Cost', Opts) -> + empty_group('Incremental-Cost', Opts); +empty_value('IMS-Information', Opts) -> + empty_group('IMS-Information', Opts); +empty_value('Inter-Operator-Identifier', Opts) -> + empty_group('Inter-Operator-Identifier', Opts); +empty_value('ISUP-Cause', Opts) -> + empty_group('ISUP-Cause', Opts); +empty_value('LCS-Client-ID', Opts) -> + empty_group('LCS-Client-ID', Opts); +empty_value('LCS-Client-Name', Opts) -> + empty_group('LCS-Client-Name', Opts); +empty_value('LCS-Information', Opts) -> + empty_group('LCS-Information', Opts); +empty_value('LCS-Requestor-ID', Opts) -> + empty_group('LCS-Requestor-ID', Opts); +empty_value('Location-Info', Opts) -> + empty_group('Location-Info', Opts); +empty_value('Location-Type', Opts) -> + empty_group('Location-Type', Opts); +empty_value('MBMS-Information', Opts) -> + empty_group('MBMS-Information', Opts); +empty_value('Message-Body', Opts) -> + empty_group('Message-Body', Opts); +empty_value('Message-Class', Opts) -> + empty_group('Message-Class', Opts); +empty_value('MM-Content-Type', Opts) -> + empty_group('MM-Content-Type', Opts); +empty_value('MMS-Information', Opts) -> + empty_group('MMS-Information', Opts); +empty_value('MMTel-Information', Opts) -> + empty_group('MMTel-Information', Opts); +empty_value('Monitoring-Event-Information', Opts) -> + empty_group('Monitoring-Event-Information', Opts); +empty_value('Monitoring-Event-Report-Data', Opts) -> + empty_group('Monitoring-Event-Report-Data', Opts); +empty_value('Next-Tariff', Opts) -> + empty_group('Next-Tariff', Opts); +empty_value('NIDD-Submission', Opts) -> + empty_group('NIDD-Submission', Opts); +empty_value('NNI-Information', Opts) -> + empty_group('NNI-Information', Opts); +empty_value('Offline-Charging', Opts) -> + empty_group('Offline-Charging', Opts); +empty_value('Originator-Address', Opts) -> + empty_group('Originator-Address', Opts); +empty_value('Originator-Interface', Opts) -> + empty_group('Originator-Interface', Opts); +empty_value('Originator-Received-Address', Opts) -> + empty_group('Originator-Received-Address', Opts); +empty_value('Participant-Group', Opts) -> + empty_group('Participant-Group', Opts); +empty_value('PoC-Information', Opts) -> + empty_group('PoC-Information', Opts); +empty_value('PoC-User-Role', Opts) -> + empty_group('PoC-User-Role', Opts); +empty_value('ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Reception-Data-Container', + Opts); +empty_value('ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Transmission-Data-Container', + Opts); +empty_value('ProSe-Information', Opts) -> + empty_group('ProSe-Information', Opts); +empty_value('PS-Furnish-Charging-Information', Opts) -> + empty_group('PS-Furnish-Charging-Information', Opts); +empty_value('PS-Information', Opts) -> + empty_group('PS-Information', Opts); +empty_value('Radio-Parameter-Set-Info', Opts) -> + empty_group('Radio-Parameter-Set-Info', Opts); +empty_value('RAN-Secondary-RAT-Usage-Report', Opts) -> + empty_group('RAN-Secondary-RAT-Usage-Report', Opts); +empty_value('Rate-Element', Opts) -> + empty_group('Rate-Element', Opts); +empty_value('Real-Time-Tariff-Information', Opts) -> + empty_group('Real-Time-Tariff-Information', Opts); +empty_value('Recipient-Address', Opts) -> + empty_group('Recipient-Address', Opts); +empty_value('Recipient-Info', Opts) -> + empty_group('Recipient-Info', Opts); +empty_value('Recipient-Received-Address', Opts) -> + empty_group('Recipient-Received-Address', Opts); +empty_value('Related-Change-Condition-Information', + Opts) -> + empty_group('Related-Change-Condition-Information', + Opts); +empty_value('Related-Trigger', Opts) -> + empty_group('Related-Trigger', Opts); +empty_value('Remaining-Balance', Opts) -> + empty_group('Remaining-Balance', Opts); +empty_value('Scale-Factor', Opts) -> + empty_group('Scale-Factor', Opts); +empty_value('SCS-AS-Address', Opts) -> + empty_group('SCS-AS-Address', Opts); +empty_value('SDP-Media-Component', Opts) -> + empty_group('SDP-Media-Component', Opts); +empty_value('SDP-TimeStamps', Opts) -> + empty_group('SDP-TimeStamps', Opts); +empty_value('Service-Data-Container', Opts) -> + empty_group('Service-Data-Container', Opts); +empty_value('Service-Information', Opts) -> + empty_group('Service-Information', Opts); +empty_value('Service-Specific-Info', Opts) -> + empty_group('Service-Specific-Info', Opts); +empty_value('SM-Device-Trigger-Information', Opts) -> + empty_group('SM-Device-Trigger-Information', Opts); +empty_value('SMS-Information', Opts) -> + empty_group('SMS-Information', Opts); +empty_value('Supplementary-Service', Opts) -> + empty_group('Supplementary-Service', Opts); +empty_value('Talk-Burst-Exchange', Opts) -> + empty_group('Talk-Burst-Exchange', Opts); +empty_value('Tariff-Information', Opts) -> + empty_group('Tariff-Information', Opts); +empty_value('Time-Quota-Mechanism', Opts) -> + empty_group('Time-Quota-Mechanism', Opts); +empty_value('Time-Stamps', Opts) -> + empty_group('Time-Stamps', Opts); +empty_value('Traffic-Data-Volumes', Opts) -> + empty_group('Traffic-Data-Volumes', Opts); +empty_value('Transmitter-Info', Opts) -> + empty_group('Transmitter-Info', Opts); +empty_value('Trigger', Opts) -> + empty_group('Trigger', Opts); +empty_value('Trunk-Group-Id', Opts) -> + empty_group('Trunk-Group-Id', Opts); +empty_value('TWAN-User-Location-Info', Opts) -> + empty_group('TWAN-User-Location-Info', Opts); +empty_value('Unit-Cost', Opts) -> + empty_group('Unit-Cost', Opts); +empty_value('User-CSG-Information', Opts) -> + empty_group('User-CSG-Information', Opts); +empty_value('UWAN-User-Location-Info', Opts) -> + empty_group('UWAN-User-Location-Info', Opts); +empty_value('Variable-Part', Opts) -> + empty_group('Variable-Part', Opts); +empty_value('VCS-Information', Opts) -> + empty_group('VCS-Information', Opts); +empty_value('Emergency-Info', Opts) -> + empty_group('Emergency-Info', Opts); +empty_value('MIP6-Agent-Info', Opts) -> + empty_group('MIP6-Agent-Info', Opts); +empty_value('Access-Network-Charging-Identifier-Gx', + Opts) -> + empty_group('Access-Network-Charging-Identifier-Gx', + Opts); +empty_value('Allocation-Retention-Priority', Opts) -> + empty_group('Allocation-Retention-Priority', Opts); +empty_value('Application-Detection-Information', + Opts) -> + empty_group('Application-Detection-Information', Opts); +empty_value('Charging-Rule-Definition', Opts) -> + empty_group('Charging-Rule-Definition', Opts); +empty_value('Charging-Rule-Install', Opts) -> + empty_group('Charging-Rule-Install', Opts); +empty_value('Charging-Rule-Remove', Opts) -> + empty_group('Charging-Rule-Remove', Opts); +empty_value('Charging-Rule-Report', Opts) -> + empty_group('Charging-Rule-Report', Opts); +empty_value('CoA-Information', Opts) -> + empty_group('CoA-Information', Opts); +empty_value('Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + empty_group('Conditional-APN-Aggregate-Max-Bitrate', + Opts); +empty_value('Default-EPS-Bearer-QoS', Opts) -> + empty_group('Default-EPS-Bearer-QoS', Opts); +empty_value('Default-QoS-Information', Opts) -> + empty_group('Default-QoS-Information', Opts); +empty_value('Event-Report-Indication', Opts) -> + empty_group('Event-Report-Indication', Opts); +empty_value('Fixed-User-Location-Info', Opts) -> + empty_group('Fixed-User-Location-Info', Opts); +empty_value('Flow-Information', Opts) -> + empty_group('Flow-Information', Opts); +empty_value('Packet-Filter-Information', Opts) -> + empty_group('Packet-Filter-Information', Opts); +empty_value('Presence-Reporting-Area-Information', + Opts) -> + empty_group('Presence-Reporting-Area-Information', + Opts); +empty_value('QoS-Information', Opts) -> + empty_group('QoS-Information', Opts); +empty_value('Redirect-Information', Opts) -> + empty_group('Redirect-Information', Opts); +empty_value('Routing-Filter', Opts) -> + empty_group('Routing-Filter', Opts); +empty_value('Routing-Rule-Definition', Opts) -> + empty_group('Routing-Rule-Definition', Opts); +empty_value('Routing-Rule-Install', Opts) -> + empty_group('Routing-Rule-Install', Opts); +empty_value('Routing-Rule-Remove', Opts) -> + empty_group('Routing-Rule-Remove', Opts); +empty_value('TDF-Information', Opts) -> + empty_group('TDF-Information', Opts); +empty_value('Tunnel-Information', Opts) -> + empty_group('Tunnel-Information', Opts); +empty_value('TFT-Packet-Filter-Information', Opts) -> + empty_group('TFT-Packet-Filter-Information', Opts); +empty_value('Usage-Monitoring-Information', Opts) -> + empty_group('Usage-Monitoring-Information', Opts); +empty_value('Network-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Cancellation-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Status', _) -> <<0, 0, 0, 0>>; +empty_value('All-APN-Configurations-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('VPLMN-Dynamic-Address-Allowed', _) -> + <<0, 0, 0, 0>>; +empty_value('PDN-GW-Allocation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Equipment-Status', _) -> <<0, 0, 0, 0>>; +empty_value('PDN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Complete-Data-List-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Roaming-Restricted-Due-To-Unsupported-Feature', + _) -> + <<0, 0, 0, 0>>; +empty_value('Alert-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Notification-To-UE-User', _) -> + <<0, 0, 0, 0>>; +empty_value('GMLC-Restriction', _) -> <<0, 0, 0, 0>>; +empty_value('PLMN-Client', _) -> <<0, 0, 0, 0>>; +empty_value('ICS-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Voice-Over-PS-Sessions-Supported', + _) -> + <<0, 0, 0, 0>>; +empty_value('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + _) -> + <<0, 0, 0, 0>>; +empty_value('User-State', _) -> <<0, 0, 0, 0>>; +empty_value('Current-Location-Retrieved', _) -> + <<0, 0, 0, 0>>; +empty_value('Error-Diagnostic', _) -> <<0, 0, 0, 0>>; +empty_value('UE-SRVCC-Capability', _) -> <<0, 0, 0, 0>>; +empty_value('VPLMN-LIPA-Allowed', _) -> <<0, 0, 0, 0>>; +empty_value('LIPA-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('SIPTO-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('Relay-Node-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MDT-User-Consent', _) -> <<0, 0, 0, 0>>; +empty_value('Subscribed-VSRVCC', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Register-Request', _) -> + <<0, 0, 0, 0>>; +empty_value('Daylight-Saving-Time', _) -> + <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Server-Assignment-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PS-Data-Off-Status', _) -> + <<0, 0, 0, 0>>; +empty_value('Access-Transfer-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Adaptations', _) -> <<0, 0, 0, 0>>; +empty_value('Additional-Exception-Reports', _) -> + <<0, 0, 0, 0>>; +empty_value('Address-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Addressee-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Format', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Service-Obligatory-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('AoC-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Charge-Reason-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Characteristics-Selection-Mode', + _) -> + <<0, 0, 0, 0>>; +empty_value('Charging-Per-IP-CAN-Session-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Class-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('CN-Operator-Selection-Entity', _) -> + <<0, 0, 0, 0>>; +empty_value('Content-Class', _) -> <<0, 0, 0, 0>>; +empty_value('Coverage-Status', _) -> <<0, 0, 0, 0>>; +empty_value('CP-CIoT-EPS-Optimisation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('CSG-Membership-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Delivery-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('DRM-Content', _) -> <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag-Extension', _) -> + <<0, 0, 0, 0>>; +empty_value('Envelope-Reporting', _) -> <<0, 0, 0, 0>>; +empty_value('File-Repair-Supported', _) -> + <<0, 0, 0, 0>>; +empty_value('Forwarding-Pending', _) -> <<0, 0, 0, 0>>; +empty_value('Interface-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Inter-UE-Transfer', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Emergency-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('IMSI-Unauthenticated-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-Realm-Default-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('LCS-Client-Type', _) -> <<0, 0, 0, 0>>; +empty_value('LCS-Format-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Local-GW-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Location-Estimate-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Balance-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Priority-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MBMS-Charged-Party', _) -> <<0, 0, 0, 0>>; +empty_value('MBMS-User-Service-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Media-Initiator-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('MMBox-Storage-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('NNI-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Node-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('Online-Charging-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Originator', _) -> <<0, 0, 0, 0>>; +empty_value('Participant-Access-Priority', _) -> + <<0, 0, 0, 0>>; +empty_value('Participant-Action-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PC5-Radio-Technology', _) -> + <<0, 0, 0, 0>>; +empty_value('PDP-Context-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Play-Alternative', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Change-Condition', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Server-Role', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Session-Initiation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Session-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-User-Role-Info-Units', _) -> + <<0, 0, 0, 0>>; +empty_value('Priority', _) -> <<0, 0, 0, 0>>; +empty_value('Privacy-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Direct-Discovery-Model', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Range-Class', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Reason-For-Cancellation', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Role-Of-UE', _) -> <<0, 0, 0, 0>>; +empty_value('Proximity-Alert-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-Append-Free-Format-Data', _) -> + <<0, 0, 0, 0>>; +empty_value('Quota-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('Read-Reply-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Relationship-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Reply-Path-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Reporting-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-Node', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-ProSe-Function', _) -> + <<0, 0, 0, 0>>; +empty_value('SDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('Serving-Node-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SGi-PtP-Tunnelling-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('SGW-Change', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Device-Trigger-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('SM-Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Node', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Status-AS-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Role', _) -> <<0, 0, 0, 0>>; +empty_value('TAD-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('Time-Quota-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Transcoder-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Trigger-Type', _) -> <<0, 0, 0, 0>>; +empty_value('UNI-PDU-CP-Only-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Participating-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Variable-Part-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AN-GW-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Control-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Operation', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Correlation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Information-Reporting', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Trigger', _) -> <<0, 0, 0, 0>>; +empty_value('Flow-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('IP-CAN-Session-Charging-Scope', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-CAN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Metering-Method', _) -> <<0, 0, 0, 0>>; +empty_value('Mute-Notification', _) -> <<0, 0, 0, 0>>; +empty_value('Network-Request-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Offline', _) -> <<0, 0, 0, 0>>; +empty_value('Online', _) -> <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Operation', _) -> + <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('PCC-Rule-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Pre-emption-Capability', _) -> + <<0, 0, 0, 0>>; +empty_value('Pre-emption-Vulnerability', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-to-CS-Session-Continuity', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Class-Identifier', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Negotiation', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Upgrade', _) -> <<0, 0, 0, 0>>; +empty_value('RAT-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Support', _) -> <<0, 0, 0, 0>>; +empty_value('Reporting-Level', _) -> <<0, 0, 0, 0>>; +empty_value('Resource-Allocation-Notification', _) -> + <<0, 0, 0, 0>>; +empty_value('Rule-Failure-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Release-Cause', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Level', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Report', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Support', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"3GPP2-MEID", 1471, "OctetString", "MV"}, + {"A-MSISDN", 1643, "OctetString", "V"}, + {"AMBR", 1435, "Grouped", "MV"}, + {"APN-Configuration", 1430, "Grouped", "MV"}, + {"APN-Configuration-Profile", 1429, "Grouped", "MV"}, + {"AUTN", 1449, "OctetString", "MV"}, + {"Access-Restriction-Data", 1426, "Unsigned32", "MV"}, + {"Active-APN", 1612, "Grouped", "V"}, + {"Age-Of-Location-Information", + 1611, + "Unsigned32", + "V"}, + {"Alert-Reason", 1434, "Enumerated", "MV"}, + {"All-APN-Configurations-Included-Indicator", + 1428, + "Enumerated", + "MV"}, + {"Area-Scope", 1624, "Grouped", "V"}, + {"Authentication-Info", 1413, "Grouped", "MV"}, + {"CLR-Flags", 1638, "Unsigned32", "V"}, + {"CSG-Id", 1437, "Unsigned32", "MV"}, + {"CSG-Subscription-Data", 1436, "Grouped", "MV"}, + {"Call-Barring-Info", 1488, "Grouped", "MV"}, + {"Cancellation-Type", 1420, "Enumerated", "MV"}, + {"Cell-Global-Identity", 1604, "OctetString", "V"}, + {"Client-Identity", 1480, "OctetString", "MV"}, + {"Collection-Period-RRM-LTE", 1657, "Enumerated", "V"}, + {"Collection-Period-RRM-UMTS", 1658, "Enumerated", "V"}, + {"Complete-Data-List-Included-Indicator", + 1468, + "Enumerated", + "MV"}, + {"Context-Identifier", 1423, "Unsigned32", "MV"}, + {"Core-Network-Restrictions", 1704, "Unsigned32", "V"}, + {"Current-Location-Retrieved", 1610, "Enumerated", "V"}, + {"DSA-Flags", 1422, "Unsigned32", "MV"}, + {"DSR-Flags", 1421, "Unsigned32", "MV"}, + {"Daylight-Saving-Time", 1650, "Enumerated", "V"}, + {"E-UTRAN-Cell-Global-Identity", + 1602, + "OctetString", + "V"}, + {"E-UTRAN-Vector", 1414, "Grouped", "MV"}, + {"EPS-Location-Information", 1496, "Grouped", "V"}, + {"EPS-Subscribed-QoS-Profile", 1431, "Grouped", "MV"}, + {"EPS-User-State", 1495, "Grouped", "V"}, + {"Equipment-Status", 1445, "Enumerated", "MV"}, + {"Equivalent-PLMN-List", 1637, "Grouped", "V"}, + {"Error-Diagnostic", 1614, "Enumerated", "V"}, + {"Event-Threshold-Event-1F", 1661, "Integer32", "V"}, + {"Event-Threshold-Event-1I", 1662, "Integer32", "V"}, + {"Event-Threshold-RSRP", 1629, "Unsigned32", "V"}, + {"Event-Threshold-RSRQ", 1630, "Unsigned32", "V"}, + {"Expiration-Date", 1439, "Time", "MV"}, + {"Ext-PDP-Address", 1621, "Address", "V"}, + {"Ext-PDP-Type", 1620, "OctetString", "V"}, + {"External-Client", 1479, "Grouped", "MV"}, + {"GERAN-Vector", 1416, "Grouped", "MV"}, + {"GMLC-Restriction", 1481, "Enumerated", "MV"}, + {"GPRS-Subscription-Data", 1467, "Grouped", "MV"}, + {"Geodetic-Information", 1609, "OctetString", "V"}, + {"Geographical-Information", 1608, "OctetString", "V"}, + {"HPLMN-ODB", 1418, "Unsigned32", "MV"}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + 1493, + "Enumerated", + "V"}, + {"ICS-Indicator", 1491, "Enumerated", "V"}, + {"IDA-Flags", 1441, "Unsigned32", "MV"}, + {"IDR-Flags", 1490, "Unsigned32", "MV"}, + {"IMEI", 1402, "UTF8String", "MV"}, + {"IMS-Voice-Over-PS-Sessions-Supported", + 1492, + "Enumerated", + "V"}, + {"Immediate-Response-Preferred", + 1412, + "Unsigned32", + "MV"}, + {"Item-Number", 1419, "Unsigned32", "MV"}, + {"Job-Type", 1623, "Enumerated", "V"}, + {"KASME", 1450, "OctetString", "MV"}, + {"Kc", 1453, "OctetString", "MV"}, + {"LCS-Info", 1473, "Grouped", "MV"}, + {"LCS-PrivacyException", 1475, "Grouped", "MV"}, + {"LIPA-Permission", 1618, "Enumerated", "V"}, + {"Last-UE-Activity-Time", 1494, "Time", "V"}, + {"List-Of-Measurements", 1625, "Unsigned32", "V"}, + {"Local-Time-Zone", 1649, "Grouped", "V"}, + {"Location-Area-Identity", 1606, "OctetString", "V"}, + {"Logging-Duration", 1632, "Enumerated", "V"}, + {"Logging-Interval", 1631, "Enumerated", "V"}, + {"MDT-Configuration", 1622, "Grouped", "V"}, + {"MDT-User-Consent", 1634, "Enumerated", "V"}, + {"MME-Location-Information", 1600, "Grouped", "V"}, + {"MME-Number-for-MT-SMS", 1645, "OctetString", "V"}, + {"MME-User-State", 1497, "Grouped", "V"}, + {"MO-LR", 1485, "Grouped", "MV"}, + {"MPS-Priority", 1616, "Unsigned32", "V"}, + {"Measurement-Period-LTE", 1656, "Enumerated", "V"}, + {"Measurement-Period-UMTS", 1655, "Enumerated", "V"}, + {"Measurement-Quantity", 1660, "OctetString", "V"}, + {"NOR-Flags", 1443, "Unsigned32", "MV"}, + {"Network-Access-Mode", 1417, "Enumerated", "MV"}, + {"Notification-To-UE-User", 1478, "Enumerated", "MV"}, + {"Number-Of-Requested-Vectors", + 1410, + "Unsigned32", + "MV"}, + {"OMC-Id", 1466, "OctetString", "MV"}, + {"Operator-Determined-Barring", + 1425, + "Unsigned32", + "MV"}, + {"PDN-GW-Allocation-Type", 1438, "Enumerated", "MV"}, + {"PDN-Type", 1456, "Enumerated", "MV"}, + {"PDP-Context", 1469, "Grouped", "MV"}, + {"PDP-Type", 1470, "OctetString", "MV"}, + {"PLMN-Client", 1482, "Enumerated", "MV"}, + {"PUA-Flags", 1442, "Unsigned32", "MV"}, + {"PUR-Flags", 1635, "Unsigned32", "V"}, + {"Positioning-Method", 1659, "OctetString", "V"}, + {"QoS-Subscribed", 1404, "OctetString", "MV"}, + {"RAND", 1447, "OctetString", "MV"}, + {"RAT-Frequency-Selection-Priority-ID", + 1440, + "Unsigned32", + "MV"}, + {"Re-Synchronization-Info", 1411, "OctetString", "MV"}, + {"Regional-Subscription-Zone-Code", + 1446, + "OctetString", + "MV"}, + {"Relay-Node-Indicator", 1633, "Enumerated", "V"}, + {"Report-Amount", 1628, "Enumerated", "V"}, + {"Report-Interval", 1627, "Enumerated", "V"}, + {"Reporting-Trigger", 1626, "Unsigned32", "V"}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + "Grouped", + "MV"}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + "Grouped", + "MV"}, + {"Restoration-Priority", 1663, "Unsigned32", "V"}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + 1457, + "Enumerated", + "MV"}, + {"Routing-Area-Identity", 1605, "OctetString", "V"}, + {"SGSN-Location-Information", 1601, "Grouped", "V"}, + {"SGSN-User-State", 1498, "Grouped", "V"}, + {"SIPTO-Permission", 1613, "Enumerated", "V"}, + {"SMS-Register-Request", 1648, "Enumerated", "V"}, + {"SRES", 1454, "OctetString", "MV"}, + {"SS-Code", 1476, "OctetString", "MV"}, + {"SS-Status", 1477, "OctetString", "MV"}, + {"STN-SR", 1433, "OctetString", "MV"}, + {"Service-Area-Identity", 1607, "OctetString", "V"}, + {"Service-Type", 1483, "Grouped", "MV"}, + {"ServiceTypeIdentity", 1484, "Unsigned32", "MV"}, + {"Software-Version", 1403, "UTF8String", "MV"}, + {"Specific-APN-Info", 1472, "Grouped", "MV"}, + {"Subscribed-Periodic-RAU-TAU-Timer", + 1619, + "Unsigned32", + "V"}, + {"Subscribed-VSRVCC", 1636, "Enumerated", "V"}, + {"Subscriber-Status", 1424, "Enumerated", "MV"}, + {"Subscription-Data", 1400, "Grouped", "MV"}, + {"Subscription-Data-Flags", 1654, "Unsigned32", "V"}, + {"TS-Code", 1487, "OctetString", "MV"}, + {"Teleservice-List", 1486, "Grouped", "MV"}, + {"Terminal-Information", 1401, "Grouped", "MV"}, + {"Time-Zone", 1642, "UTF8String", "V"}, + {"Trace-Collection-Entity", 1452, "Address", "MV"}, + {"Trace-Data", 1458, "Grouped", "MV"}, + {"Trace-Depth", 1462, "Enumerated", "MV"}, + {"Trace-Event-List", 1465, "OctetString", "MV"}, + {"Trace-Interface-List", 1464, "OctetString", "MV"}, + {"Trace-NE-Type-List", 1463, "OctetString", "MV"}, + {"Trace-Reference", 1459, "OctetString", "MV"}, + {"Tracking-Area-Identity", 1603, "OctetString", "V"}, + {"UE-SRVCC-Capability", 1615, "Enumerated", "V"}, + {"UE-Usage-Type", 1680, "Unsigned32", "V"}, + {"ULA-Flags", 1406, "Unsigned32", "MV"}, + {"ULR-Flags", 1405, "Unsigned32", "MV"}, + {"UTRAN-Vector", 1415, "Grouped", "MV"}, + {"UVA-Flags", 1640, "Unsigned32", "MV"}, + {"UVR-Flags", 1639, "Unsigned32", "MV"}, + {"User-Id", 1444, "UTF8String", "V"}, + {"User-State", 1499, "Enumerated", "V"}, + {"VPLMN-CSG-Subscription-Data", 1641, "Grouped", "MV"}, + {"VPLMN-Dynamic-Address-Allowed", + 1432, + "Enumerated", + "MV"}, + {"VPLMN-LIPA-Allowed", 1617, "Enumerated", "V"}, + {"Visited-PLMN-Id", 1407, "OctetString", "MV"}, + {"XRES", 1448, "OctetString", "MV"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, + [{320, "DSR", "DSA"}, + {321, "PUR", "PUA"}, + {322, "RSR", "RSA"}, + {323, "NOR", "NOA"}, + {324, "ECR", "ECA"}, + {316, "ULR", "ULA"}, + {317, "CLR", "CLA"}, + {318, "AIR", "AIA"}, + {319, "IDR", "IDA"}]}, + {custom_types, []}, + {define, []}, + {enum, + [{"Network-Access-Mode", + [{"PACKET_AND_CIRCUIT", 0}, + {"RESERVED", 1}, + {"ONLY_PACKET", 2}]}, + {"Cancellation-Type", + [{"MME_UPDATE_PROCEDURE", 0}, + {"SGSN_UPDATE_PROCEDURE", 1}, + {"SUBSCRIPTION_WITHDRAWAL", 2}, + {"UPDATE_PROCEDURE_IWF", 3}, + {"INITIAL_ATTACH_PROCEDURE", 4}]}, + {"Subscriber-Status", + [{"SERVICE_GRANTED", 0}, + {"OPERATOR_DETERMINED_BARRING", 1}]}, + {"All-APN-Configurations-Included-Indicator", + [{"All_APN_CONFIGURATIONS_INCLUDED", 0}, + {"MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED", 1}]}, + {"VPLMN-Dynamic-Address-Allowed", + [{"NOTALLOWED", 0}, {"ALLOWED", 1}]}, + {"PDN-GW-Allocation-Type", + [{"STATIC", 0}, {"DYNAMIC", 1}]}, + {"Equipment-Status", + [{"WHITELISTED", 0}, + {"BLACKLISTED", 1}, + {"GREYLISTED", 2}]}, + {"PDN-Type", + [{"IPv4", 0}, + {"IPv6", 1}, + {"IPv4v6", 2}, + {"IPv4_OR_IPv6", 3}]}, + {"Complete-Data-List-Included-Indicator", + [{"All_PDP_CONTEXTS_INCLUDED", 0}, + {"MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED", 1}]}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + [{"ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE", 0}]}, + {"Alert-Reason", + [{"UE_PRESENT", 0}, {"UE_MEMORY_AVAILABLE", 1}]}, + {"Notification-To-UE-User", + [{"NOTIFY_LOCATION_ALLOWED", 0}, + {"NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE", 1}, + {"NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RE" + "SPONSE", + 2}, + {"LOCATION_NOT_ALLOWED", 3}]}, + {"GMLC-Restriction", + [{"GMLC_LIST", 0}, {"HOME_COUNTRY", 1}]}, + {"PLMN-Client", + [{"BROADCAST_SERVICE", 0}, + {"O_AND_M_HPLMN", 1}, + {"O_AND_M_VPLMN", 2}, + {"ANONYMOUS_LOCATION", 3}, + {"TARGET_UE_SUBSCRIBED_SERVICE", 4}]}, + {"ICS-Indicator", [{"FALSE", 0}, {"TRUE", 1}]}, + {"IMS-Voice-Over-PS-Sessions-Supported", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"User-State", + [{"DETACHED", 0}, + {"ATTACHED_NOT_REACHABLE_FOR_PAGING", 1}, + {"ATTACHED_REACHABLE_FOR_PAGING", 2}, + {"CONNECTED_NOT_REACHABLE_FOR_PAGING", 3}, + {"CONNECTED_REACHABLE_FOR_PAGING", 4}, + {"NETWORK_DETERMINED_NOT_REACHABLE", 5}]}, + {"Current-Location-Retrieved", + [{"ACTIVE-LOCATION-RETRIEVAL", 0}]}, + {"Error-Diagnostic", + [{"GPRS_DATA_SUBSCRIBED", 0}, + {"NO_GPRS_DATA_SUBSCRIBED", 1}, + {"ODB-ALL-APN", 2}, + {"ODB-HPLMN-APN", 3}, + {"ODB-VPLMN-APN", 4}]}, + {"UE-SRVCC-Capability", + [{"UE-SRVCC-NOT-SUPPORTED", 0}, + {"UE-SRVCC-SUPPORTED", 1}]}, + {"VPLMN-LIPA-Allowed", + [{"LIPA-NOTALLOWED", 0}, {"LIPA-ALLOWED", 1}]}, + {"LIPA-Permission", + [{"LIPA-PROHIBITED", 0}, + {"LIPA-ONLY", 1}, + {"LIPA-CONDITIONAL", 2}]}, + {"SIPTO-Permission", + [{"SIPTO_ALLOWED", 0}, {"SIPTO_NOTALLOWED", 1}]}, + {"Relay-Node-Indicator", + [{"NOT_RELAY_NODE", 0}, {"RELAY_NODE", 1}]}, + {"MDT-User-Consent", + [{"CONSENT_NOT_GIVEN", 0}, {"CONSENT_GIVEN", 1}]}, + {"Subscribed-VSRVCC", [{"VSRVCC_SUBSCRIBED", 0}]}, + {"SMS-Register-Request", + [{"SMS_REGISTRATION_REQUIRED", 0}, + {"SMS_REGISTRATION_NOT_PREFERRED", 1}, + {"NO_PREFERENCE", 2}]}, + {"Daylight-Saving-Time", + [{"NO_ADJUSTMENT", 0}, + {"PLUS_ONE_HOUR_ADJUSTMENT", 1}, + {"PLUS_TWO_HOURS_ADJUSTMENT", 2}]}]}, + {grouped, + [{"Subscription-Data", + 1400, + [10415], + [["Subscriber-Status"], + ["MSISDN"], + ["A-MSISDN"], + ["STN-SR"], + ["ICS-Indicator"], + ["Network-Access-Mode"], + ["Operator-Determined-Barring"], + ["HPLMN-ODB"], + {{0, 10}, ["Regional-Subscription-Zone-Code"]}, + ["Access-Restriction-Data"], + ["APN-OI-Replacement"], + ["LCS-Info"], + ["Teleservice-List"], + {'*', ["Call-Barring-Info"]}, + ["3GPP-Charging-Characteristics"], + ["AMBR"], + ["APN-Configuration-Profile"], + ["RAT-Frequency-Selection-Priority-ID"], + ["Trace-Data"], + ["GPRS-Subscription-Data"], + {'*', ["CSG-Subscription-Data"]}, + ["Roaming-Restricted-Due-To-Unsupported-Feature"], + ["Subscribed-Periodic-RAU-TAU-Timer"], + ["MPS-Priority"], + ["VPLMN-LIPA-Allowed"], + ["Relay-Node-Indicator"], + ["MDT-User-Consent"], + ["Subscribed-VSRVCC"], + ["Subscription-Data-Flags"], + {'*', ["AVP"]}]}, + {"Terminal-Information", + 1401, + [10415], + [["IMEI"], + ["3GPP2-MEID"], + ["Software-Version"], + {'*', ["AVP"]}]}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Authentication-Info", + 1413, + [10415], + [{'*', ["E-UTRAN-Vector"]}, + {'*', ["UTRAN-Vector"]}, + {'*', ["GERAN-Vector"]}, + {'*', ["AVP"]}]}, + {"E-UTRAN-Vector", + 1414, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"KASME"}, + {'*', ["AVP"]}]}, + {"UTRAN-Vector", + 1415, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"Confidentiality-Key"}, + {"Integrity-Key"}, + {'*', ["AVP"]}]}, + {"GERAN-Vector", + 1416, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"SRES"}, + {"Kc"}, + {'*', ["AVP"]}]}, + {"APN-Configuration-Profile", + 1429, + [10415], + [{"Context-Identifier"}, + {"All-APN-Configurations-Included-Indicator"}, + {'*', {"APN-Configuration"}}, + {'*', ["AVP"]}]}, + {"APN-Configuration", + 1430, + [10415], + [{"Context-Identifier"}, + {"PDN-Type"}, + {"Service-Selection"}, + {{0, 2}, ["Served-Party-IP-Address"]}, + ["EPS-Subscribed-QoS-Profile"], + ["VPLMN-Dynamic-Address-Allowed"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + ["PDN-GW-Allocation-Type"], + ["3GPP-Charging-Characteristics"], + ["AMBR"], + {'*', ["Specific-APN-Info"]}, + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"EPS-Subscribed-QoS-Profile", + 1431, + [10415], + [{"QoS-Class-Identifier"}, + {"Allocation-Retention-Priority"}, + {'*', ["AVP"]}]}, + {"AMBR", + 1435, + [10415], + [{"Max-Requested-Bandwidth-UL"}, + {"Max-Requested-Bandwidth-DL"}, + {'*', ["AVP"]}]}, + {"Trace-Data", + 1458, + [10415], + [{"Trace-Reference"}, + {"Trace-Depth"}, + {"Trace-NE-Type-List"}, + {"Trace-Event-List"}, + {"Trace-Collection-Entity"}, + ["Trace-Interface-List"], + ["OMC-Id"], + ["MDT-Configuration"], + {'*', ["AVP"]}]}, + {"GPRS-Subscription-Data", + 1467, + [10415], + [{"Complete-Data-List-Included-Indicator"}, + {{1, 50}, {"PDP-Context"}}, + {'*', ["AVP"]}]}, + {"PDP-Context", + 1469, + [10415], + [{"Context-Identifier"}, + {"PDP-Type"}, + {"QoS-Subscribed"}, + {"Service-Selection"}, + ["PDP-Address"], + ["VPLMN-Dynamic-Address-Allowed"], + ["3GPP-Charging-Characteristics"], + ["Ext-PDP-Type"], + ["Ext-PDP-Address"], + ["AMBR"], + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"CSG-Subscription-Data", + 1436, + [10415], + [{"CSG-Id"}, + ["Expiration-Date"], + {'*', ["Service-Selection"]}, + ["Visited-PLMN-Id"], + {'*', ["AVP"]}]}, + {"Specific-APN-Info", + 1472, + [10415], + [{"Service-Selection"}, + {"MIP6-Agent-Info"}, + ["Visited-Network-Identifier"], + {'*', ["AVP"]}]}, + {"LCS-Info", + 1473, + [10415], + [{'*', ["GMLC-Number"]}, + {'*', ["LCS-PrivacyException"]}, + {'*', ["MO-LR"]}, + {'*', ["AVP"]}]}, + {"LCS-PrivacyException", + 1475, + [10415], + [{"SS-Code"}, + {"SS-Status"}, + ["Notification-To-UE-User"], + {'*', ["External-Client"]}, + {'*', ["PLMN-Client"]}, + {'*', ["Service-Type"]}, + {'*', ["AVP"]}]}, + {"External-Client", + 1479, + [10415], + [{"Client-Identity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"Service-Type", + 1483, + [10415], + [{"ServiceTypeIdentity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"MO-LR", + 1485, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"Teleservice-List", + 1486, + [10415], + [{'*', {"TS-Code"}}, {'*', ["AVP"]}]}, + {"Call-Barring-Info", + 1488, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"EPS-User-State", + 1495, + [10415], + [["MME-User-State"], + ["SGSN-User-State"], + {'*', ["AVP"]}]}, + {"EPS-Location-Information", + 1496, + [10415], + [["MME-Location-Information"], + ["SGSN-Location-Information"], + {'*', ["AVP"]}]}, + {"MME-User-State", + 1497, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"SGSN-User-State", + 1498, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"MME-Location-Information", + 1600, + [10415], + [["E-UTRAN-Cell-Global-Identity"], + ["Tracking-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"SGSN-Location-Information", + 1601, + [10415], + [["Cell-Global-Identity"], + ["Location-Area-Identity"], + ["Service-Area-Identity"], + ["Routing-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"Active-APN", + 1612, + [10415], + [{"Context-Identifier"}, + ["Service-Selection"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + {'*', ["Specific-APN-Info"]}, + {'*', ["AVP"]}]}, + {"MDT-Configuration", + 1622, + [10415], + [{"Job-Type"}, + ["Area-Scope"], + ["List-Of-Measurements"], + ["Reporting-Trigger"], + ["Report-Interval"], + ["Report-Amount"], + ["Event-Threshold-RSRP"], + ["Event-Threshold-RSRQ"], + ["Logging-Interval"], + ["Logging-Duration"], + ["Measurement-Period-LTE"], + ["Measurement-Period-UMTS"], + ["Positioning-Method"], + ["Measurement-Quantity"], + ["Event-Threshold-Event-1F"], + ["Event-Threshold-Event-1I"], + {'*', ["AVP"]}]}, + {"Area-Scope", + 1624, + [10415], + [{'*', ["Cell-Global-Identity"]}, + {'*', ["E-UTRAN-Cell-Global-Identity"]}, + {'*', ["Routing-Area-Identity"]}, + {'*', ["Location-Area-Identity"]}, + {'*', ["Tracking-Area-Identity"]}, + {'*', ["AVP"]}]}, + {"Equivalent-PLMN-List", + 1637, + [10415], + [{'*', {"Visited-PLMN-Id"}}, {'*', ["AVP"]}]}, + {"VPLMN-CSG-Subscription-Data", + 1641, + [10415], + [{"CSG-Id"}, ["Expiration-Date"], {'*', ["AVP"]}]}, + {"Local-Time-Zone", + 1649, + [10415], + [{"Time-Zone"}, + {"Daylight-Saving-Time"}, + {'*', ["AVP"]}]}]}, + {id, 16777251}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {diameter_3gpp_ts29_214, + [{"AF-Application-Identifier", + 504, + "OctetString", + "MV"}, + {"AF-Charging-Identifier", 505, "OctetString", "MV"}, + {"AF-Signalling-Protocol", 529, "Enumerated", "V"}, + {"Abort-Cause", 500, "Enumerated", "MV"}, + {"Access-Network-Charging-Address", + 501, + "Address", + "MV"}, + {"Access-Network-Charging-Identifier-Value", + 503, + "OctetString", + "MV"}, + {"Application-Service-Provider-Identity", + 532, + "UTF8String", + "V"}, + {"Codec-Data", 524, "OctetString", "MV"}, + {"Flow-Description", 507, "IPFilterRule", "MV"}, + {"Flow-Number", 509, "Unsigned32", "MV"}, + {"Flow-Status", 511, "Enumerated", "MV"}, + {"Flow-Usage", 512, "Enumerated", "MV"}, + {"Flows", 510, "Grouped", "MV"}, + {"GCS-Identifier", 538, "OctetString", "V"}, + {"IP-Domain-Id", 537, "OctetString", "V"}, + {"MPS-Identifier", 528, "OctetString", "V"}, + {"Max-Requested-Bandwidth-DL", 515, "Unsigned32", "MV"}, + {"Max-Requested-Bandwidth-UL", 516, "Unsigned32", "MV"}, + {"Media-Component-Number", 518, "Unsigned32", "MV"}, + {"Media-Type", 520, "Enumerated", "MV"}, + {"Min-Requested-Bandwidth-DL", 534, "Unsigned32", "V"}, + {"Min-Requested-Bandwidth-UL", 535, "Unsigned32", "V"}, + {"RR-Bandwidth", 521, "Unsigned32", "MV"}, + {"RS-Bandwidth", 522, "Unsigned32", "MV"}, + {"Required-Access-Info", 536, "Enumerated", "V"}, + {"Rx-Request-Type", 533, "Enumerated", "V"}, + {"SIP-Forking-Indication", 523, "Enumerated", "MV"}, + {"Service-Info-Status", 527, "Enumerated", "MV"}, + {"Service-URN", 525, "OctetString", "MV"}, + {"Specific-Action", 513, "Enumerated", "MV"}, + {"Sponsor-Identity", 531, "UTF8String", "V"}]}, + {diameter_3gpp_ts29_229, + [{"Call-ID-SIP-Header", 643, "OctetString", "V"}, + {"Charging-Information", 618, "Grouped", "MV"}, + {"Confidentiality-Key", 625, "OctetString", "MV"}, + {"Contact", 641, "OctetString", "V"}, + {"Deregistration-Reason", 615, "Grouped", "MV"}, + {"Digest-Algorithm", 111, "UTF8String", "M"}, + {"Digest-HA1", 121, "UTF8String", "M"}, + {"Digest-QoP", 110, "UTF8String", "M"}, + {"Digest-Realm", 104, "UTF8String", "M"}, + {"Feature-List", 630, "Unsigned32", "V"}, + {"Feature-List-ID", 629, "Unsigned32", "V"}, + {"From-SIP-Header", 644, "OctetString", "V"}, + {"Initial-CSeq-Sequence-Number", + 654, + "Unsigned32", + "V"}, + {"Integrity-Key", 626, "OctetString", "MV"}, + {"LIA-Flags", 653, "Unsigned32", "V"}, + {"Loose-Route-Indication", 638, "Enumerated", "V"}, + {"Mandatory-Capability", 604, "Unsigned32", "MV"}, + {"Multiple-Registration-Indication", + 648, + "Enumerated", + "V"}, + {"Optional-Capability", 605, "Unsigned32", "MV"}, + {"Originating-Request", 633, "Enumerated", "MV"}, + {"Path", 640, "OctetString", "V"}, + {"Primary-Charging-Collection-Function-Name", + 621, + "DiameterURI", + "MV"}, + {"Primary-Event-Charging-Function-Name", + 619, + "DiameterURI", + "MV"}, + {"Priviledged-Sender-Indication", + 652, + "Enumerated", + "V"}, + {"Public-Identity", 601, "UTF8String", "MV"}, + {"Reason-Code", 616, "Enumerated", "MV"}, + {"Reason-Info", 617, "UTF8String", "MV"}, + {"Record-Route", 646, "OctetString", "V"}, + {"SAR-Flags", 655, "Unsigned32", "V"}, + {"SIP-Auth-Data-Item", 612, "Grouped", "MV"}, + {"SIP-Authenticate", 609, "OctetString", "MV"}, + {"SIP-Authentication-Context", + 611, + "OctetString", + "MV"}, + {"SIP-Authentication-Scheme", 608, "UTF8String", "MV"}, + {"SIP-Authorization", 610, "OctetString", "MV"}, + {"SIP-Digest-Authenticate", 635, "Grouped", "V"}, + {"SIP-Item-Number", 613, "Unsigned32", "MV"}, + {"SIP-Number-Auth-Items", 607, "Unsigned32", "MV"}, + {"Secondary-Charging-Collection-Function-Name", + 622, + "DiameterURI", + "MV"}, + {"Secondary-Event-Charging-Function-Name", + 620, + "DiameterURI", + "MV"}, + {"Server-Assignment-Type", 614, "Enumerated", "MV"}, + {"Server-Name", 602, "UTF8String", "MV"}, + {"Session-Priority", 650, "Enumerated", "V"}, + {"Supported-Applications", 631, "Grouped", "V"}, + {"Supported-Features", 628, "Grouped", "V"}, + {"To-SIP-Header", 645, "OctetString", "V"}, + {"UAR-Flags", 637, "Unsigned32", "V"}, + {"User-Authorization-Type", 623, "Enumerated", "MV"}, + {"User-Data", 606, "OctetString", "MV"}, + {"User-Data-Already-Available", + 624, + "Enumerated", + "MV"}, + {"Visited-Network-Identifier", + 600, + "OctetString", + "MV"}, + {"Wildcarded-Public-Identity", + 634, + "UTF8String", + "V"}]}, + {diameter_3gpp_ts29_329, + [{"Current-Location", 707, "Enumerated", "MV"}, + {"DSAI-Tag", 711, "OctetString", "MV"}, + {"Data-Reference", 703, "Enumerated", "MV"}, + {"Expiry-Time", 709, "Time", "V"}, + {"Identity-Set", 708, "Enumerated", "V"}, + {"MSISDN", 701, "OctetString", "MV"}, + {"One-Time-Notification", 712, "Enumerated", "V"}, + {"Requested-Domain", 706, "Enumerated", "MV"}, + {"Requested-Nodes", 713, "Unsigned32", "V"}, + {"Send-Data-Indication", 710, "Enumerated", "V"}, + {"Sequence-Number", 716, "Unsigned32", "V"}, + {"Service-Indication", 704, "OctetString", "MV"}, + {"Serving-Node-Indication", 714, "Enumerated", "V"}, + {"Subs-Req-Type", 705, "Enumerated", "MV"}]}, + {diameter_3gpp_ts29_173, + [{"3GPP-AAA-Server-Name", + 318, + "DiameterIdentity", + "MV"}, + {"Additional-Serving-Node", 2406, "Grouped", "MV"}, + {"GMLC-Address", 2405, "Address", "MV"}, + {"LCS-Capabilities-Sets", 2404, "Unsigned32", "MV"}, + {"LMSI", 2400, "OctetString", "MV"}, + {"MME-Name", 2402, "DiameterIdentity", "MV"}, + {"MME-Realm", 2408, "DiameterIdentity", "V"}, + {"MSC-Number", 2403, "OctetString", "MV"}, + {"PPR-Address", 2407, "Address", "MV"}, + {"RIA-Flags", 2411, "Unsigned32", "V"}, + {"SGSN-Name", 2409, "DiameterIdentity", "V"}, + {"SGSN-Realm", 2410, "DiameterIdentity", "V"}, + {"Serving-Node", 2401, "Grouped", "MV"}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", 4406, "Enumerated", "MV"}, + {"AF-Correlation-Information", 1276, "Grouped", "MV"}, + {"APN-Rate-Control", 3933, "Grouped", "MV"}, + {"APN-Rate-Control-Downlink", 3934, "Grouped", "MV"}, + {"APN-Rate-Control-Uplink", 3935, "Grouped", "MV"}, + {"Access-Network-Info-Change", 4401, "Grouped", "MV"}, + {"Access-Network-Information", + 1263, + "OctetString", + "MV"}, + {"Access-Transfer-Information", 2709, "Grouped", "MV"}, + {"Access-Transfer-Type", 2710, "Enumerated", "MV"}, + {"Account-Expiration", 2309, "Time", "MV"}, + {"Accumulated-Cost", 2052, "Grouped", "MV"}, + {"Adaptations", 1217, "Enumerated", "MV"}, + {"Additional-Content-Information", + 1207, + "Grouped", + "MV"}, + {"Additional-Exception-Reports", + 3936, + "Enumerated", + "MV"}, + {"Additional-Type-Information", + 1205, + "UTF8String", + "MV"}, + {"Address-Data", 897, "UTF8String", "MV"}, + {"Address-Domain", 898, "Grouped", "MV"}, + {"Address-Type", 899, "Enumerated", "MV"}, + {"Addressee-Type", 1208, "Enumerated", "MV"}, + {"Alternate-Charged-Party-Address", + 1280, + "UTF8String", + "MV"}, + {"Announcement-Identifier", 3905, "Unsigned32", "MV"}, + {"Announcement-Information", 3904, "Grouped", "MV"}, + {"Announcement-Order", 3906, "Unsigned32", "MV"}, + {"Announcing-PLMN-ID", 4408, "UTF8String", "MV"}, + {"Announcing-UE-HPLMN-Identifier", + 3426, + "UTF8String", + "MV"}, + {"Announcing-UE-VPLMN-Identifier", + 3427, + "UTF8String", + "MV"}, + {"AoC-Cost-Information", 2053, "Grouped", "MV"}, + {"AoC-Format", 2310, "Enumerated", "MV"}, + {"AoC-Information", 2054, "Grouped", "MV"}, + {"AoC-Request-Type", 2055, "Enumerated", "MV"}, + {"AoC-Service", 2311, "Grouped", "MV"}, + {"AoC-Service-Obligatory-Type", + 2312, + "Enumerated", + "MV"}, + {"AoC-Service-Type", 2313, "Enumerated", "MV"}, + {"AoC-Subscription-Information", 2314, "Grouped", "MV"}, + {"Applic-ID", 1218, "UTF8String", "MV"}, + {"Application-Provided-Called-Party-Address", + 837, + "UTF8String", + "MV"}, + {"Application-Server", 836, "UTF8String", "MV"}, + {"Application-Server-Information", + 850, + "Grouped", + "MV"}, + {"Application-Specific-Data", + 3458, + "OctetString", + "MV"}, + {"Associated-Party-Address", 2035, "UTF8String", "MV"}, + {"Associated-URI", 856, "UTF8String", "MV"}, + {"Authorised-QoS", 849, "UTF8String", "MV"}, + {"Aux-Applic-Info", 1219, "UTF8String", "MV"}, + {"BSSID", 2716, "UTF8String", "MV"}, + {"Base-Time-Interval", 1265, "Unsigned32", "MV"}, + {"Basic-Service-Code", 3411, "Grouped", "MV"}, + {"Bearer-Capability", 3412, "OctetString", "MV"}, + {"Bearer-Service", 854, "OctetString", "MV"}, + {"CG-Address", 846, "Address", "MV"}, + {"CN-Operator-Selection-Entity", + 3421, + "Enumerated", + "MV"}, + {"CP-CIoT-EPS-Optimisation-Indicator", + 3930, + "Enumerated", + "MV"}, + {"CPDT-Information", 3927, "Grouped", "MV"}, + {"CSG-Access-Mode", 2317, "Enumerated", "MV"}, + {"CSG-Membership-Indication", 2318, "Enumerated", "MV"}, + {"CUG-Information", 2304, "OctetString", "MV"}, + {"Called-Asserted-Identity", 1250, "UTF8String", "MV"}, + {"Called-Identity", 3916, "UTF8String", "MV"}, + {"Called-Identity-Change", 3917, "Grouped", "MV"}, + {"Called-Party-Address", 832, "UTF8String", "MV"}, + {"Calling-Party-Address", 831, "UTF8String", "MV"}, + {"Carrier-Select-Routing-Information", + 2023, + "UTF8String", + "MV"}, + {"Cause-Code", 861, "Integer32", "MV"}, + {"Cellular-Network-Information", + 3924, + "OctetString", + "MV"}, + {"Change-Condition", 2037, "Integer32", "MV"}, + {"Change-Time", 2038, "Time", "MV"}, + {"Charge-Reason-Code", 2118, "Enumerated", "MV"}, + {"Charged-Party", 857, "UTF8String", "MV"}, + {"Charging-Characteristics-Selection-Mode", + 2066, + "Enumerated", + "MV"}, + {"Charging-Per-IP-CAN-Session-Indicator", + 4400, + "Enumerated", + "MV"}, + {"Class-Identifier", 1214, "Enumerated", "MV"}, + {"Client-Address", 2018, "Address", "MV"}, + {"Content-Class", 1220, "Enumerated", "MV"}, + {"Content-Disposition", 828, "UTF8String", "MV"}, + {"Content-Length", 827, "Unsigned32", "MV"}, + {"Content-Size", 1206, "Unsigned32", "MV"}, + {"Content-Type", 826, "UTF8String", "MV"}, + {"Coverage-Info", 3459, "Grouped", "MV"}, + {"Coverage-Status", 3428, "Enumerated", "MV"}, + {"Current-Tariff", 2056, "Grouped", "MV"}, + {"DRM-Content", 1221, "Enumerated", "MV"}, + {"Data-Coding-Scheme", 2001, "Integer32", "MV"}, + {"Deferred-Location-Event-Type", + 1230, + "UTF8String", + "MV"}, + {"Delivery-Report-Requested", 1216, "Enumerated", "MV"}, + {"Destination-Interface", 2002, "Grouped", "MV"}, + {"Diagnostics", 2039, "Integer32", "MV"}, + {"Discoveree-UE-HPLMN-Identifier", + 4402, + "UTF8String", + "MV"}, + {"Discoveree-UE-VPLMN-Identifier", + 4403, + "UTF8String", + "MV"}, + {"Discoverer-UE-HPLMN-Identifier", + 4404, + "UTF8String", + "MV"}, + {"Discoverer-UE-VPLMN-Identifier", + 4405, + "UTF8String", + "MV"}, + {"Domain-Name", 1200, "UTF8String", "MV"}, + {"Dynamic-Address-Flag", 2051, "Enumerated", "MV"}, + {"Dynamic-Address-Flag-Extension", + 2068, + "Enumerated", + "MV"}, + {"EPDG-Address", 3425, "Address", "MV"}, + {"Early-Media-Description", 1272, "Grouped", "MV"}, + {"Enhanced-Diagnostics", 3901, "Grouped", "MV"}, + {"Envelope", 1266, "Grouped", "MV"}, + {"Envelope-End-Time", 1267, "Time", "MV"}, + {"Envelope-Reporting", 1268, "Enumerated", "MV"}, + {"Envelope-Start-Time", 1269, "Time", "MV"}, + {"Event", 825, "UTF8String", "MV"}, + {"Event-Charging-TimeStamp", 1258, "Time", "MV"}, + {"Event-Type", 823, "Grouped", "MV"}, + {"Expires", 888, "Unsigned32", "MV"}, + {"FE-Identifier-List", 4413, "UTF8String", "MV"}, + {"File-Repair-Supported", 1224, "Enumerated", "MV"}, + {"Forwarding-Pending", 3415, "Enumerated", "MV"}, + {"From-Address", 2708, "UTF8String", "MV"}, + {"GGSN-Address", 847, "Address", "MV"}, + {"IMS-Application-Reference-Identifier", + 2601, + "UTF8String", + "MV"}, + {"IMS-Charging-Identifier", 841, "UTF8String", "MV"}, + {"IMS-Communication-Service-Identifier", + 1281, + "UTF8String", + "MV"}, + {"IMS-Emergency-Indicator", 2322, "Enumerated", "MV"}, + {"IMS-Information", 876, "Grouped", "MV"}, + {"IMS-Visited-Network-Identifier", + 2713, + "UTF8String", + "MV"}, + {"IMSI-Unauthenticated-Flag", 2308, "Enumerated", "MV"}, + {"IP-Realm-Default-Indication", + 2603, + "Enumerated", + "MV"}, + {"ISUP-Cause", 3416, "Grouped", "MV"}, + {"ISUP-Cause-Diagnostics", 3422, "OctetString", "MV"}, + {"ISUP-Cause-Location", 3423, "Unsigned32", "MV"}, + {"ISUP-Cause-Value", 3424, "Unsigned32", "MV"}, + {"ISUP-Location-Number", 3414, "OctetString", "MV"}, + {"Incoming-Trunk-Group-Id", 852, "UTF8String", "MV"}, + {"Incremental-Cost", 2062, "Grouped", "MV"}, + {"Initial-IMS-Charging-Identifier", + 2321, + "UTF8String", + "MV"}, + {"Instance-Id", 3402, "UTF8String", "MV"}, + {"Inter-Operator-Identifier", 838, "Grouped", "MV"}, + {"Inter-UE-Transfer", 3902, "Enumerated", "MV"}, + {"Interface-Id", 2003, "UTF8String", "MV"}, + {"Interface-Port", 2004, "UTF8String", "MV"}, + {"Interface-Text", 2005, "UTF8String", "MV"}, + {"Interface-Type", 2006, "Enumerated", "MV"}, + {"LCS-APN", 1231, "UTF8String", "MV"}, + {"LCS-Client-Dialed-By-MS", 1233, "UTF8String", "MV"}, + {"LCS-Client-External-ID", 1234, "UTF8String", "MV"}, + {"LCS-Client-ID", 1232, "Grouped", "MV"}, + {"LCS-Client-Name", 1235, "Grouped", "MV"}, + {"LCS-Client-Type", 1241, "Enumerated", "MV"}, + {"LCS-Data-Coding-Scheme", 1236, "UTF8String", "MV"}, + {"LCS-Format-Indicator", 1237, "Enumerated", "MV"}, + {"LCS-Information", 878, "Grouped", "MV"}, + {"LCS-Name-String", 1238, "UTF8String", "MV"}, + {"LCS-Requestor-ID", 1239, "Grouped", "MV"}, + {"LCS-Requestor-ID-String", 1240, "UTF8String", "MV"}, + {"Language", 3914, "UTF8String", "MV"}, + {"Layer-2-Group-ID", 3429, "OctetString", "MV"}, + {"Local-GW-Inserted-Indication", + 2604, + "Enumerated", + "MV"}, + {"Local-Sequence-Number", 2063, "Unsigned32", "MV"}, + {"Location-Estimate", 1242, "OctetString", "MV"}, + {"Location-Estimate-Type", 1243, "Enumerated", "MV"}, + {"Location-Info", 3460, "Grouped", "MV"}, + {"Location-Type", 1244, "Grouped", "MV"}, + {"Low-Balance-Indication", 2020, "Enumerated", "MV"}, + {"Low-Priority-Indicator", 2602, "Enumerated", "MV"}, + {"MBMS-Charged-Party", 2323, "Enumerated", "MV"}, + {"MBMS-GW-Address", 2307, "Address", "MV"}, + {"MBMS-Information", 880, "Grouped", "MV"}, + {"MBMS-User-Service-Type", 1225, "Enumerated", "MV"}, + {"MM-Content-Type", 1203, "Grouped", "MV"}, + {"MMBox-Storage-Requested", 1248, "Enumerated", "MV"}, + {"MMS-Information", 877, "Grouped", "MV"}, + {"MMTel-Information", 2030, "Grouped", "MV"}, + {"MMTel-SService-Type", 2031, "Unsigned32", "MV"}, + {"MSC-Address", 3417, "OctetString", "MV"}, + {"MTC-IWF-Address", 3406, "Address", "MV"}, + {"Media-Initiator-Flag", 882, "Enumerated", "MV"}, + {"Media-Initiator-Party", 1288, "UTF8String", "MV"}, + {"Message-Body", 889, "Grouped", "MV"}, + {"Message-Class", 1213, "Grouped", "MV"}, + {"Message-ID", 1210, "UTF8String", "MV"}, + {"Message-Size", 1212, "Unsigned32", "MV"}, + {"Message-Type", 1211, "Enumerated", "MV"}, + {"Monitored-PLMN-Identifier", 3430, "UTF8String", "MV"}, + {"Monitoring-Event-Configuration-Activity", + 3919, + "Integer32", + "MV"}, + {"Monitoring-Event-Functionality", + 3922, + "Integer32", + "MV"}, + {"Monitoring-Event-Information", 3921, "Grouped", "MV"}, + {"Monitoring-Event-Report-Data", 3920, "Grouped", "MV"}, + {"Monitoring-Event-Report-Number", + 3923, + "Unsigned32", + "MV"}, + {"Monitoring-UE-HPLMN-Identifier", + 3431, + "UTF8String", + "MV"}, + {"Monitoring-UE-Identifier", 3432, "UTF8String", "MV"}, + {"Monitoring-UE-VPLMN-Identifier", + 3433, + "UTF8String", + "MV"}, + {"NIDD-Submission", 3928, "Grouped", "VM"}, + {"NNI-Information", 2703, "Grouped", "MV"}, + {"NNI-Type", 2704, "Enumerated", "MV"}, + {"Neighbour-Node-Address", 2705, "Address", "MV"}, + {"Network-Call-Reference-Number", + 3418, + "OctetString", + "MV"}, + {"Next-Tariff", 2057, "Grouped", "VM"}, + {"Node-Functionality", 862, "Enumerated", "MV"}, + {"Node-Id", 2064, "UTF8String", "MV"}, + {"Number-Of-Diversions", 2034, "Unsigned32", "MV"}, + {"Number-Of-Messages-Sent", 2019, "Unsigned32", "MV"}, + {"Number-Of-Participants", 885, "Unsigned32", "MV"}, + {"Number-Of-Received-Talk-Bursts", + 1282, + "Unsigned32", + "MV"}, + {"Number-Of-Talk-Bursts", 1283, "Unsigned32", "MV"}, + {"Number-Portability-Routing-Information", + 2024, + "UTF8String", + "MV"}, + {"Offline-Charging", 1278, "Grouped", "MV"}, + {"Online-Charging-Flag", 2303, "Enumerated", "MV"}, + {"Originating-IOI", 839, "UTF8String", "MV"}, + {"Originator", 864, "Enumerated", "MV"}, + {"Originator-Address", 886, "Grouped", "MV"}, + {"Originator-Interface", 2009, "Grouped", "MV"}, + {"Originator-Received-Address", 2027, "Grouped", "MV"}, + {"Originator-SCCP-Address", 2008, "Address", "MV"}, + {"Outgoing-Session-Id", 2320, "UTF8String", "MV"}, + {"Outgoing-Trunk-Group-Id", 853, "UTF8String", "MV"}, + {"PC3-Control-Protocol-Cause", 3434, "Integer32", "MV"}, + {"PC3-EPC-Control-Protocol-Cause", + 3435, + "Integer32", + "MV"}, + {"PC5-Radio-Technology", 1300, "Enumerated", "V"}, + {"PDN-Connection-Charging-ID", + 2050, + "Unsigned32", + "MV"}, + {"PDP-Address", 1227, "Address", "MV"}, + {"PDP-Address-Prefix-Length", 2606, "Unsigned32", "MV"}, + {"PDP-Context-Type", 1247, "Enumerated", "MV"}, + {"PS-Append-Free-Format-Data", 867, "Enumerated", "MV"}, + {"PS-Free-Format-Data", 866, "OctetString", "MV"}, + {"PS-Furnish-Charging-Information", + 865, + "Grouped", + "MV"}, + {"PS-Information", 874, "Grouped", "MV"}, + {"Participant-Access-Priority", + 1259, + "Enumerated", + "MV"}, + {"Participant-Action-Type", 2049, "Enumerated", "MV"}, + {"Participant-Group", 1260, "Grouped", "MV"}, + {"Participants-Involved", 887, "UTF8String", "MV"}, + {"Play-Alternative", 3913, "Enumerated", "MV"}, + {"PoC-Change-Condition", 1261, "Enumerated", "MV"}, + {"PoC-Change-Time", 1262, "Time", "MV"}, + {"PoC-Controlling-Address", 858, "UTF8String", "MV"}, + {"PoC-Event-Type", 2025, "Enumerated", "MV"}, + {"PoC-Group-Name", 859, "UTF8String", "MV"}, + {"PoC-Information", 879, "Grouped", "MV"}, + {"PoC-Server-Role", 883, "Enumerated", "MV"}, + {"PoC-Session-Id", 1229, "UTF8String", "MV"}, + {"PoC-Session-Initiation-Type", + 1277, + "Enumerated", + "MV"}, + {"PoC-Session-Type", 884, "Enumerated", "MV"}, + {"PoC-User-Role", 1252, "Grouped", "MV"}, + {"PoC-User-Role-IDs", 1253, "UTF8String", "MV"}, + {"PoC-User-Role-Info-Units", 1254, "Enumerated", "MV"}, + {"Positioning-Data", 1245, "UTF8String", "MV"}, + {"Preferred-AoC-Currency", 2315, "Unsigned32", "MV"}, + {"Priority", 1209, "Enumerated", "MV"}, + {"Privacy-Indicator", 3915, "Enumerated", "MV"}, + {"ProSe-3rd-Party-Application-ID", + 3440, + "UTF8String", + "MV"}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + "Grouped", + "MV"}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + "Grouped", + "MV"}, + {"ProSe-Direct-Discovery-Model", + 3442, + "Enumerated", + "MV"}, + {"ProSe-Event-Type", 3443, "Enumerated", "MV"}, + {"ProSe-Function-IP-Address", 3444, "Address", "MV"}, + {"ProSe-Function-PLMN-Identifier", + 3457, + "UTF8String", + "MV"}, + {"ProSe-Functionality", 3445, "Enumerated", "MV"}, + {"ProSe-Group-IP-Multicast-Address", + 3446, + "Address", + "MV"}, + {"ProSe-Information", 3447, "Grouped", "MV"}, + {"ProSe-Range-Class", 3448, "Enumerated", "MV"}, + {"ProSe-Reason-For-Cancellation", + 3449, + "Enumerated", + "MV"}, + {"ProSe-Request-Timestamp", 3450, "Time", "MV"}, + {"ProSe-Role-Of-UE", 3451, "Enumerated", "MV"}, + {"ProSe-Source-IP-Address", 3452, "Address", "MV"}, + {"ProSe-Target-Layer-2-ID", 4410, "OctetString", "MV"}, + {"ProSe-UE-ID", 3453, "OctetString", "MV"}, + {"ProSe-UE-to-Network-Relay-UE-ID", + 4409, + "OctetString", + "MV"}, + {"Proximity-Alert-Indication", + 3454, + "Enumerated", + "MV"}, + {"Proximity-Alert-Timestamp", 3455, "Time", "MV"}, + {"Proximity-Cancellation-Timestamp", + 3456, + "Time", + "MV"}, + {"Quota-Consumption-Time", 881, "Unsigned32", "MV"}, + {"Quota-Holding-Time", 871, "Unsigned32", "MV"}, + {"Quota-Indicator", 3912, "Enumerated", "MV"}, + {"RAN-End-Time", 1301, "Time", "V"}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + "Grouped", + "V"}, + {"RAN-Start-Time", 1303, "Time", "V"}, + {"Radio-Frequency", 3462, "OctetString", "MV"}, + {"Radio-Parameter-Set-Info", 3463, "Grouped", "MV"}, + {"Radio-Parameter-Set-Values", + 3464, + "OctetString", + "MV"}, + {"Radio-Resources-Indicator", 3465, "Integer32", "MV"}, + {"Rate-Control-Max-Message-Size", + 3937, + "Unsigned32", + "MV"}, + {"Rate-Control-Max-Rate", 3938, "Unsigned32", "MV"}, + {"Rate-Control-Time-Unit", 3939, "Unsigned32", "MV"}, + {"Rate-Element", 2058, "Grouped", "MV"}, + {"Read-Reply-Report-Requested", + 1222, + "Enumerated", + "MV"}, + {"Real-Time-Tariff-Information", 2305, "Grouped", "MV"}, + {"Reason-Header", 3401, "UTF8String", "MV"}, + {"Received-Talk-Burst-Time", 1284, "Unsigned32", "MV"}, + {"Received-Talk-Burst-Volume", + 1285, + "Unsigned32", + "MV"}, + {"Recipient-Address", 1201, "Grouped", "MV"}, + {"Recipient-Info", 2026, "Grouped", "MV"}, + {"Recipient-Received-Address", 2028, "Grouped", "MV"}, + {"Recipient-SCCP-Address", 2010, "Address", "MV"}, + {"Refund-Information", 2022, "OctetString", "MV"}, + {"Related-Change-Condition-Information", + 3925, + "Grouped", + "MV"}, + {"Related-IMS-Charging-Identifier", + 2711, + "UTF8String", + "MV"}, + {"Related-IMS-Charging-Identifier-Node", + 2712, + "Address", + "MV"}, + {"Related-Trigger", 3926, "Grouped", "MV"}, + {"Relationship-Mode", 2706, "Enumerated", "MV"}, + {"Relay-IP-address", 4411, "Address", "MV"}, + {"Remaining-Balance", 2021, "Grouped", "MV"}, + {"Reply-Applic-ID", 1223, "UTF8String", "MV"}, + {"Reply-Path-Requested", 2011, "Enumerated", "MV"}, + {"Reporting-Reason", 872, "Enumerated", "MV"}, + {"Requested-PLMN-Identifier", 3436, "UTF8String", "MV"}, + {"Requested-Party-Address", 1251, "UTF8String", "MV"}, + {"Requestor-PLMN-Identifier", 3437, "UTF8String", "MV"}, + {"Role-Of-Node", 829, "Enumerated", "MV"}, + {"Role-Of-ProSe-Function", 3438, "Enumerated", "MV"}, + {"Route-Header-Received", 3403, "UTF8String", "MV"}, + {"Route-Header-Transmitted", 3404, "UTF8String", "MV"}, + {"SCS-AS-Address", 3940, "Grouped", "MV"}, + {"SCS-Address", 3941, "Address", "MV"}, + {"SCS-Realm", 3942, "DiameterIdentity", "MV"}, + {"SDP-Answer-Timestamp", 1275, "Time", "MV"}, + {"SDP-Media-Component", 843, "Grouped", "MV"}, + {"SDP-Media-Description", 845, "UTF8String", "MV"}, + {"SDP-Media-Name", 844, "UTF8String", "MV"}, + {"SDP-Offer-Timestamp", 1274, "Time", "MV"}, + {"SDP-Session-Description", 842, "UTF8String", "MV"}, + {"SDP-TimeStamps", 1273, "Grouped", "MV"}, + {"SDP-Type", 2036, "Enumerated", "MV"}, + {"SGSN-Address", 1228, "Address", "MV"}, + {"SGW-Address", 2067, "Address", "MV"}, + {"SGW-Change", 2065, "Enumerated", "MV"}, + {"SGi-PtP-Tunnelling-Method", 3931, "Enumerated", "MV"}, + {"SIP-Method", 824, "UTF8String", "MV"}, + {"SIP-Request-Timestamp", 834, "Time", "MV"}, + {"SIP-Request-Timestamp-Fraction", + 2301, + "Unsigned32", + "MV"}, + {"SIP-Response-Timestamp", 835, "Time", "MV"}, + {"SIP-Response-Timestamp-Fraction", + 2302, + "Unsigned32", + "MV"}, + {"SM-Device-Trigger-Indicator", + 3407, + "Enumerated", + "MV"}, + {"SM-Device-Trigger-Information", + 3405, + "Grouped", + "MV"}, + {"SM-Discharge-Time", 2012, "Time", "MV"}, + {"SM-Message-Type", 2007, "Enumerated", "MV"}, + {"SM-Protocol-ID", 2013, "OctetString", "MV"}, + {"SM-Sequence-Number", 3408, "Unsigned32", "MV"}, + {"SM-Service-Type", 2029, "Enumerated", "MV"}, + {"SM-Status", 2014, "OctetString", "MV"}, + {"SM-User-Data-Header", 2015, "OctetString", "MV"}, + {"SMS-Information", 2000, "Grouped", "MV"}, + {"SMS-Node", 2016, "Enumerated", "MV"}, + {"SMS-Result", 3409, "Unsigned32", "MV"}, + {"SMSC-Address", 2017, "Address", "MV"}, + {"Scale-Factor", 2059, "Grouped", "MV"}, + {"Secondary-RAT-Type", 1304, "OctetString", "V"}, + {"Served-Party-IP-Address", 848, "Address", "MV"}, + {"Service-Data-Container", 2040, "Grouped", "MV"}, + {"Service-Id", 855, "UTF8String", "MV"}, + {"Service-Information", 873, "Grouped", "MV"}, + {"Service-Mode", 2032, "Unsigned32", "MV"}, + {"Service-Specific-Data", 863, "UTF8String", "MV"}, + {"Service-Specific-Info", 1249, "Grouped", "MV"}, + {"Service-Specific-Type", 1257, "Unsigned32", "MV"}, + {"Serving-Node-Identity", + 3929, + "DiameterIdentity", + "MV"}, + {"Serving-Node-Type", 2047, "Enumerated", "MV"}, + {"Session-Direction", 2707, "Enumerated", "MV"}, + {"Start-Time", 2041, "Time", "MV"}, + {"Start-of-Charging", 3419, "Time", "MV"}, + {"Status-AS-Code", 2702, "Enumerated", "MV"}, + {"Stop-Time", 2042, "Time", "MV"}, + {"Submission-Time", 1202, "Time", "MV"}, + {"Subscriber-Role", 2033, "Enumerated", "MV"}, + {"Supplementary-Service", 2048, "Grouped", "MV"}, + {"TAD-Identifier", 2717, "Enumerated", "MV"}, + {"TWAG-Address", 3903, "Address", "MV"}, + {"TWAN-User-Location-Info", 2714, "Grouped", "MV"}, + {"Talk-Burst-Exchange", 1255, "Grouped", "MV"}, + {"Talk-Burst-Time", 1286, "Unsigned32", "MV"}, + {"Talk-Burst-Volume", 1287, "Unsigned32", "MV"}, + {"Target-IP-Address", 4412, "Address", "MV"}, + {"Tariff-Information", 2060, "Grouped", "MV"}, + {"Tariff-XML", 2306, "UTF8String", "MV"}, + {"Teleservice", 3413, "OctetString", "MV"}, + {"Terminating-IOI", 840, "UTF8String", "MV"}, + {"Time-First-Reception", 3466, "Time", "MV"}, + {"Time-First-Transmission", 3467, "Time", "MV"}, + {"Time-First-Usage", 2043, "Time", "MV"}, + {"Time-Indicator", 3911, "Unsigned32", "MV"}, + {"Time-Last-Usage", 2044, "Time", "MV"}, + {"Time-Quota-Mechanism", 1270, "Grouped", "MV"}, + {"Time-Quota-Threshold", 868, "Unsigned32", "MV"}, + {"Time-Quota-Type", 1271, "Enumerated", "MV"}, + {"Time-Stamps", 833, "Grouped", "MV"}, + {"Time-Usage", 2045, "Unsigned32", "MV"}, + {"Token-Text", 1215, "UTF8String", "MV"}, + {"Traffic-Data-Volumes", 2046, "Grouped", "MV"}, + {"Transcoder-Inserted-Indication", + 2605, + "Enumerated", + "MV"}, + {"Transit-IOI-List", 2701, "UTF8String", "MV"}, + {"Transmitter-Info", 3468, "Grouped", "MV"}, + {"Trigger", 1264, "Grouped", "MV"}, + {"Trigger-Type", 870, "Enumerated", "MV"}, + {"Trunk-Group-Id", 851, "Grouped", "MV"}, + {"Type-Number", 1204, "Enumerated", "MV"}, + {"UNI-PDU-CP-Only-Flag", 3932, "Enumerated", "MV"}, + {"UWAN-User-Location-Info", 3918, "Grouped", "MV"}, + {"Unit-Cost", 2061, "Grouped", "MV"}, + {"Unit-Quota-Threshold", 1226, "Unsigned32", "MV"}, + {"Unused-Quota-Timer", 4407, "Unsigned32", "MV"}, + {"Usage-Information-Report-Sequence-Number", + 3439, + "Integer32", + "MV"}, + {"User-CSG-Information", 2319, "Grouped", "MV"}, + {"User-Participating-Type", 1279, "Enumerated", "MV"}, + {"User-Session-Id", 830, "UTF8String", "MV"}, + {"VCS-Information", 3410, "Grouped", "MV"}, + {"VLR-Number", 3420, "OctetString", "MV"}, + {"Variable-Part", 3907, "Grouped", "MV"}, + {"Variable-Part-Order", 3908, "Unsigned32", "MV"}, + {"Variable-Part-Type", 3909, "Enumerated", "MV"}, + {"Variable-Part-Value", 3910, "UTF8String", "MV"}, + {"Volume-Quota-Threshold", 869, "Unsigned32", "MV"}]}, + {diameter_3gpp_break_circles, + [{"APN-OI-Replacement", 1427, "UTF8String", "MV"}, + {"Emergency-Info", 1687, "Grouped", "V"}, + {"GMLC-Number", 1474, "OctetString", "MV"}, + {"SGSN-Number", 1489, "OctetString", "MV"}]}, + {diameter_rfc5447, + [{"MIP6-Agent-Info", 486, "Grouped", "M"}, + {"MIP6-Home-Link-Prefix", 125, "OctetString", "M"}]}, + {diameter_rfc5778, + [{"Service-Selection", 493, "UTF8String", "M"}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Address", 1050, "Address", "V"}, + {"AN-GW-Status", 2811, "Enumerated", "V"}, + {"APN-Aggregate-Max-Bitrate-DL", + 1040, + "Unsigned32", + "V"}, + {"APN-Aggregate-Max-Bitrate-UL", + 1041, + "Unsigned32", + "V"}, + {"Access-Network-Charging-Identifier-Gx", + 1022, + "Grouped", + "MV"}, + {"Allocation-Retention-Priority", 1034, "Grouped", "V"}, + {"Application-Detection-Information", + 1098, + "Grouped", + "V"}, + {"Bearer-Control-Mode", 1023, "Enumerated", "MV"}, + {"Bearer-Identifier", 1020, "OctetString", "MV"}, + {"Bearer-Operation", 1021, "Enumerated", "MV"}, + {"Bearer-Usage", 1000, "Enumerated", "MV"}, + {"CSG-Information-Reporting", 1071, "Enumerated", "V"}, + {"Charging-Correlation-Indicator", + 1073, + "Enumerated", + "V"}, + {"Charging-Rule-Base-Name", 1004, "UTF8String", "MV"}, + {"Charging-Rule-Definition", 1003, "Grouped", "MV"}, + {"Charging-Rule-Install", 1001, "Grouped", "MV"}, + {"Charging-Rule-Name", 1005, "OctetString", "MV"}, + {"Charging-Rule-Remove", 1002, "Grouped", "MV"}, + {"Charging-Rule-Report", 1018, "Grouped", "MV"}, + {"CoA-IP-Address", 1035, "Address", "V"}, + {"CoA-Information", 1039, "Grouped", "V"}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + "Grouped", + "V"}, + {"Credit-Management-Status", 1082, "Unsigned32", "V"}, + {"Default-EPS-Bearer-QoS", 1049, "Grouped", "V"}, + {"Default-QoS-Information", 2816, "Grouped", "V"}, + {"Default-QoS-Name", 2817, "UTF8String", "V"}, + {"Event-Report-Indication", 1033, "Grouped", "V"}, + {"Event-Trigger", 1006, "Enumerated", "MV"}, + {"Fixed-User-Location-Info", 2825, "Grouped", "V"}, + {"Flow-Direction", 1080, "Enumerated", "V"}, + {"Flow-Information", 1058, "Grouped", "V"}, + {"Flow-Label", 1057, "OctetString", "V"}, + {"Guaranteed-Bitrate-DL", 1025, "Unsigned32", "MV"}, + {"Guaranteed-Bitrate-UL", 1026, "Unsigned32", "MV"}, + {"HeNB-Local-IP-Address", 2804, "Address", "V"}, + {"IP-CAN-Session-Charging-Scope", + 2827, + "Enumerated", + "V"}, + {"IP-CAN-Type", 1027, "Enumerated", "MV"}, + {"Metering-Method", 1007, "Enumerated", "MV"}, + {"Monitoring-Key", 1066, "OctetString", "V"}, + {"Monitoring-Time", 2810, "Time", "V"}, + {"Mute-Notification", 2809, "Enumerated", "V"}, + {"NetLoc-Access-Support", 2824, "Unsigned32", "V"}, + {"Network-Request-Support", 1024, "Enumerated", "MV"}, + {"Offline", 1008, "Enumerated", "MV"}, + {"Online", 1009, "Enumerated", "MV"}, + {"PCC-Rule-Status", 1019, "Enumerated", "MV"}, + {"PCSCF-Restoration-Indication", + 2826, + "Unsigned32", + "V"}, + {"PDN-Connection-ID", 1065, "OctetString", "V"}, + {"PS-to-CS-Session-Continuity", + 1099, + "Enumerated", + "V"}, + {"Packet-Filter-Content", 1059, "IPFilterRule", "V"}, + {"Packet-Filter-Identifier", 1060, "OctetString", "V"}, + {"Packet-Filter-Information", 1061, "Grouped", "V"}, + {"Packet-Filter-Operation", 1062, "Enumerated", "V"}, + {"Packet-Filter-Usage", 1072, "Enumerated", "V"}, + {"Pre-emption-Capability", 1047, "Enumerated", "V"}, + {"Pre-emption-Vulnerability", 1048, "Enumerated", "V"}, + {"Precedence", 1010, "Unsigned32", "MV"}, + {"Presence-Reporting-Area-Elements-List", + 2820, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Identifier", + 2821, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Information", + 2822, + "Grouped", + "V"}, + {"Presence-Reporting-Area-Status", + 2823, + "Unsigned32", + "V"}, + {"Priority-Level", 1046, "Unsigned32", "V"}, + {"QoS-Class-Identifier", 1028, "Enumerated", "MV"}, + {"QoS-Information", 1016, "Grouped", "MV"}, + {"QoS-Negotiation", 1029, "Enumerated", "MV"}, + {"QoS-Upgrade", 1030, "Enumerated", "MV"}, + {"RAN-NAS-Release-Cause", 2819, "OctetString", "V"}, + {"RAT-Type", 1032, "Enumerated", "V"}, + {"Redirect-Information", 1085, "Grouped", "V"}, + {"Redirect-Support", 1086, "Enumerated", "V"}, + {"Reporting-Level", 1011, "Enumerated", "MV"}, + {"Resource-Allocation-Notification", + 1063, + "Enumerated", + "V"}, + {"Revalidation-Time", 1042, "Time", "MV"}, + {"Routing-Filter", 1078, "Grouped", "V"}, + {"Routing-IP-Address", 1079, "Address", "V"}, + {"Routing-Rule-Definition", 1076, "Grouped", "V"}, + {"Routing-Rule-Identifier", 1077, "OctetString", "V"}, + {"Routing-Rule-Install", 1081, "Grouped", "V"}, + {"Routing-Rule-Remove", 1075, "Grouped", "V"}, + {"Rule-Activation-Time", 1043, "Time", "MV"}, + {"Rule-Deactivation-Time", 1044, "Time", "MV"}, + {"Rule-Failure-Code", 1031, "Enumerated", "MV"}, + {"Security-Parameter-Index", 1056, "OctetString", "V"}, + {"Session-Release-Cause", 1045, "Enumerated", "MV"}, + {"TDF-Application-Identifier", + 1088, + "OctetString", + "V"}, + {"TDF-Application-Instance-Identifier", + 2802, + "OctetString", + "V"}, + {"TDF-Destination-Host", 1089, "DiameterIdentity", "V"}, + {"TDF-Destination-Realm", + 1090, + "DiameterIdentity", + "V"}, + {"TDF-IP-Address", 1091, "Address", "V"}, + {"TDF-Information", 1087, "Grouped", "V"}, + {"TFT-Filter", 1012, "IPFilterRule", "MV"}, + {"TFT-Packet-Filter-Information", + 1013, + "Grouped", + "MV"}, + {"ToS-Traffic-Class", 1014, "OctetString", "MV"}, + {"Tunnel-Header-Filter", 1036, "IPFilterRule", "V"}, + {"Tunnel-Header-Length", 1037, "Unsigned32", "V"}, + {"Tunnel-Information", 1038, "Grouped", "V"}, + {"UDP-Source-Port", 2806, "Unsigned32", "V"}, + {"UE-Local-IP-Address", 2805, "Address", "V"}, + {"Usage-Monitoring-Information", 1067, "Grouped", "V"}, + {"Usage-Monitoring-Level", 1068, "Enumerated", "V"}, + {"Usage-Monitoring-Report", 1069, "Enumerated", "V"}, + {"Usage-Monitoring-Support", 1070, "Enumerated", "V"}, + {"User-Location-Info-Time", 2812, "Time", "V"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {diameter_3gpp_ts29_229, + [{"Server-Assignment-Type", + [{"NO_ASSIGNMENT", 0}, + {"REGISTRATION", 1}, + {"RE_REGISTRATION", 2}, + {"UNREGISTERED_USER", 3}, + {"TIMEOUT_DEREGISTRATION", 4}, + {"USER_DEREGISTRATION", 5}, + {"TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 6}, + {"USER_DEREGISTRATION_STORE_SERVER_NAME", 7}, + {"ADMINISTRATIVE_DEREGISTRATION", 8}, + {"AUTHENTICATION_FAILURE", 9}, + {"AUTHENTICATION_TIMEOUT", 10}, + {"DEREGISTRATION_TOO_MUCH_DATA", 11}, + {"AAA_USER_DATA_REQUEST", 12}, + {"PGW_UPDATE", 13}, + {"RESTORATION", 14}]}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", + [{"Active", 0}, {"Inactive", 1}]}, + {"Access-Transfer-Type", + [{"PS-to-CS-Transfer", 0}, + {"CS-to-PS-Transfer", 1}, + {"PS-to-PS-Transfer", 2}, + {"CS-to-CS-Transfer", 3}]}, + {"Adaptations", [{"Yes", 0}, {"No", 1}]}, + {"Additional-Exception-Reports", + [{"Not-allowed", 0}, {"Allowed", 1}]}, + {"Address-Type", + [{"e-mail-address", 0}, + {"MSISDN", 1}, + {"IPv4-Address", 2}, + {"IPv6-Address", 3}, + {"Numeric-Shortcode", 4}, + {"Alphanumeric-Shortcode", 5}, + {"Other", 6}, + {"IMSI", 7}]}, + {"Addressee-Type", [{"TO", 0}, {"CC", 1}, {"BCC", 2}]}, + {"AoC-Format", + [{"MONETARY", 0}, {"NON_MONETARY", 1}, {"CAI", 2}]}, + {"AoC-Request-Type", + [{"AoC_NOT_REQUESTED", 0}, + {"AoC_FULL", 1}, + {"AoC_COST_ONLY", 2}, + {"AoC_TARIFF_ONLY", 3}]}, + {"AoC-Service-Obligatory-Type", + [{"NON_BINDING", 0}, {"BINDING", 1}]}, + {"AoC-Service-Type", + [{"NONE", 0}, + {"AOC-S", 1}, + {"AOC-D", 2}, + {"AOC-E", 3}]}, + {"Charge-Reason-Code", + [{"UNKNOWN", 0}, + {"USAGE", 1}, + {"COMMUNICATION-ATTEMPT-CHARGE", 2}, + {"SETUP-CHARGE", 3}, + {"ADD-ON-CHARGE", 4}]}, + {"Charging-Characteristics-Selection-Mode", + [{"Serving-Node-Supplied", 0}, + {"Subscription-specific", 1}, + {"APN-specific", 2}, + {"Home-Default", 3}, + {"Roaming-Default", 4}, + {"Visiting-Default", 5}]}, + {"Charging-Per-IP-CAN-Session-Indicator", + [{"Inactive", 0}, {"Active", 1}]}, + {"Class-Identifier", + [{"Personal", 0}, + {"Advertisement", 1}, + {"Informational", 2}, + {"Auto", 3}]}, + {"CN-Operator-Selection-Entity", + [{"The-Serving-Network-has-been-selected-by-the-UE", 0}, + {"The-Serving-Network-has-been-selected-by-the-" + "network", + 1}]}, + {"Content-Class", + [{"text", 0}, + {"image-basic", 1}, + {"image-rich", 2}, + {"video-basic", 3}, + {"video-rich", 4}, + {"megapixel", 5}, + {"content-basic", 6}, + {"content-rich", 7}]}, + {"Coverage-Status", + [{"Out-of-coverage", 0}, {"In-coverage", 1}]}, + {"CP-CIoT-EPS-Optimisation-Indicator", + [{"Not-Apply", 0}, {"Apply", 1}]}, + {"CSG-Access-Mode", + [{"Closed-mode", 0}, {"Hybrid-Mode", 1}]}, + {"CSG-Membership-Indication", + [{"Not-CSG-member", 0}, {"CSG-Member", 1}]}, + {"Delivery-Report-Requested", [{"No", 0}, {"Yes", 1}]}, + {"DRM-Content", [{"No", 0}, {"Yes", 1}]}, + {"Dynamic-Address-Flag", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Dynamic-Address-Flag-Extension", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Envelope-Reporting", + [{"DO_NOT_REPORT_ENVELOPES", 0}, + {"REPORT_ENVELOPES", 1}, + {"REPORT_ENVELOPES_WITH_VOLUME", 2}, + {"REPORT_ENVELOPES_WITH_EVENTS", 3}, + {"REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", 4}]}, + {"File-Repair-Supported", + [{"SUPPORTED", 1}, {"NOT_SUPPORTED", 2}]}, + {"Forwarding-Pending", + [{"Forwarding-not-pending", 0}, + {"Forwarding-pending", 1}]}, + {"Interface-Type", + [{"Unknown", 0}, + {"MOBILE_ORIGINATING", 1}, + {"MOBILE_TERMINATING", 2}, + {"APPLICATION_ORIGINATING", 3}, + {"APPLICATION_TERMINATION", 4}]}, + {"Inter-UE-Transfer", + [{"Intra-UE-transfer", 0}, {"Inter-UE-transfer", 1}]}, + {"IMS-Emergency-Indicator", + [{"Non-Emergency", 0}, {"Emergency", 1}]}, + {"IMSI-Unauthenticated-Flag", + [{"Authenticated", 0}, {"Unauthenticated", 1}]}, + {"IP-Realm-Default-Indication", + [{"Default-IP-Realm-Not-used", 0}, + {"Default-IP-realm-used", 1}]}, + {"LCS-Client-Type", + [{"EMERGENCY_SERVICES", 0}, + {"VALUE_ADDED_SERVICES", 1}, + {"PLMN_OPERATOR_SERVICES", 2}, + {"LAWFUL_INTERCEPT_SERVICES", 3}]}, + {"LCS-Format-Indicator", + [{"LOGICAL_NAME", 0}, + {"EMAIL_ADDRESS", 1}, + {"MSISDN", 2}, + {"URL", 3}, + {"SIP_URL", 4}]}, + {"Local-GW-Inserted-Indication", + [{"Local-GW-Not-Inserted", 0}, + {"Local-GW-Inserted", 1}]}, + {"Location-Estimate-Type", + [{"CURRENT_LOCATION", 0}, + {"CURRENT_LAST_KNOWN_LOCATION", 1}, + {"INITIAL_LOCATION", 2}, + {"ACTIVATE_DEFERRED_LOCATION", 3}, + {"CANCEL_DEFERRED_LOCATION", 4}]}, + {"Low-Balance-Indication", + [{"NOT-APPLICABLE", 0}, {"YES", 1}]}, + {"Low-Priority-Indicator", [{"NO", 0}, {"YES", 1}]}, + {"MBMS-Charged-Party", + [{"Content-Provider", 0}, {"Subscriber", 1}]}, + {"MBMS-User-Service-Type", + [{"DOWNLOAD", 1}, {"STREAMING", 2}]}, + {"Media-Initiator-Flag", + [{"called-party", 0}, + {"calling-party", 1}, + {"unknown", 2}]}, + {"Message-Type", + [{"m-send-req", 1}, + {"m-send-conf", 2}, + {"m-notification-ind", 3}, + {"m-notifyresp-ind", 4}, + {"m-retrieve-conf", 5}, + {"m-acknowledge-ind", 6}, + {"m-delivery-ind", 7}, + {"m-read-rec-ind", 8}, + {"m-read-orig-ind", 9}, + {"m-forward-req", 10}, + {"m-forward-conf", 11}, + {"m-mbox-store-conf", 12}, + {"m-mbox-view-conf", 13}, + {"m-mbox-upload-conf", 14}, + {"m-mbox-delete-conf", 15}]}, + {"MMBox-Storage-Requested", [{"No", 0}, {"Yes", 1}]}, + {"NNI-Type", + [{"non-roaming", 0}, + {"roaming-without-loopback", 1}, + {"roaming-with-loopback", 2}]}, + {"Node-Functionality", + [{"S-CSCF", 0}, + {"P-CSCF", 1}, + {"I-CSCF", 2}, + {"MRFC", 3}, + {"MGCF", 4}, + {"BGCF", 5}, + {"AS", 6}, + {"IBCF", 7}, + {"S-GW", 8}, + {"P-GW", 9}, + {"HSGW", 10}, + {"E-CSCF", 11}, + {"MME", 12}, + {"TRF", 13}, + {"TF", 14}, + {"ATCF", 15}, + {"Proxy-Function", 16}, + {"ePDG", 17}, + {"TDF", 18}, + {"TWAG", 19}, + {"SCEF", 20}, + {"IWK-SCEF", 21}]}, + {"Online-Charging-Flag", + [{"ECF-address-not-provided", 0}, + {"ECF-address-provided", 1}]}, + {"Originator", + [{"Calling-Party", 0}, {"Called-Party", 1}]}, + {"Participant-Access-Priority", + [{"Pre-emptive-priority", 1}, + {"High-priority", 2}, + {"Normal-priority", 3}, + {"Low-priority", 4}]}, + {"Participant-Action-Type", + [{"CREATE_CONF", 0}, + {"JOIN_CONF", 1}, + {"INVITE_INTO_CONF", 2}, + {"QUIT_CONF", 3}]}, + {"PC5-Radio-Technology", + [{"EUTRA", 0}, + {"WLAN", 1}, + {"Both-EUTRA-and-WLAN", 2}]}, + {"PDP-Context-Type", + [{"Primary", 0}, {"Secondary", 1}]}, + {"Play-Alternative", + [{"served-party", 0}, {"remote-party", 1}]}, + {"PoC-Change-Condition", + [{"ServiceChange", 0}, + {"VolumeLimit", 1}, + {"TimeLimit", 2}, + {"NumberofTalkBurstLimit", 3}, + {"NumberofActiveParticipants", 4}, + {"TariffTime", 5}]}, + {"PoC-Event-Type", + [{"Normal", 0}, + {"Instant-Personal-Alert-event", 1}, + {"PoC-Group-Advertisement-event", 2}, + {"Early-Ssession-Setting-up-event", 3}, + {"PoC-Talk-Burst", 4}]}, + {"PoC-Server-Role", + [{"Participating-PoC-Server", 0}, + {"Controlling-PoC-Server", 1}, + {"Interworking-function", 2}, + {"Interworking-selection-function", 3}]}, + {"PoC-Session-Initiation-Type", + [{"Pre-established", 0}, {"On-demand", 1}]}, + {"PoC-Session-Type", + [{"1-to-1-PoC-session", 0}, + {"Chat-PoC-group-session", 1}, + {"Pre-arranged-PoC-group-session", 2}, + {"Ad-hoc-PoC-group-session", 3}]}, + {"PoC-User-Role-Info-Units", + [{"Moderator", 1}, + {"Dispatcher", 2}, + {"Session-Owner", 3}, + {"Session-Participant", 4}]}, + {"Priority", [{"Low", 0}, {"Normal", 1}, {"High", 2}]}, + {"Privacy-Indicator", + [{"NOT_PRIVATE", 0}, {"PRIVATE", 1}]}, + {"ProSe-Direct-Discovery-Model", + [{"Model-A", 0}, {"Model-B", 1}]}, + {"ProSe-Event-Type", + [{"Annoucing", 0}, + {"Monitoring", 1}, + {"Match-Report", 2}]}, + {"ProSe-Functionality", + [{"Direct-discovery", 0}, + {"EPC-level-discovery", 1}, + {"Direct-communication", 2}]}, + {"ProSe-Range-Class", + [{"Reserved", 0}, + {"50m", 1}, + {"100m", 2}, + {"200m", 3}, + {"500m", 4}, + {"1000m", 5}]}, + {"ProSe-Reason-For-Cancellation", + [{"Proximity-Alert-sent", 0}, + {"Time-expired-with-no-renewal", 1}, + {"Requestor-cancellation", 2}]}, + {"ProSe-Role-Of-UE", + [{"Announcing-UE", 0}, + {"Monitoring-UE", 1}, + {"Requestor-UE", 2}, + {"Requested-UE", 3}]}, + {"Proximity-Alert-Indication", + [{"Alert", 0}, {"No-Alert", 1}]}, + {"PS-Append-Free-Format-Data", + [{"Append", 0}, {"Overwrite", 1}]}, + {"Quota-Indicator", + [{"QUOTA_IS_NOT_USED_DURING_PLAYBACK", 0}, + {"QUOTA_IS_USED_DURING_PLAYBACK", 1}]}, + {"Read-Reply-Report-Requested", + [{"No", 0}, {"Yes", 1}]}, + {"Relationship-Mode", + [{"trusted", 0}, {"non-trusted", 1}]}, + {"Reply-Path-Requested", + [{"No-Reply-Path-Set", 0}, {"Reply-path-Set", 1}]}, + {"Reporting-Reason", + [{"THRESHOLD", 0}, + {"QHT", 1}, + {"FINAL", 2}, + {"QUOTA_EXHAUSTED", 3}, + {"VALIDITY_TIME", 4}, + {"OTHER_QUOTA_TYPE", 5}, + {"RATING_CONDITION_CHANGE", 6}, + {"FORCED_REAUTHORISATION", 7}, + {"POOL_EXHAUSTED", 8}, + {"UNUSED_QUOTA_TIMER", 9}]}, + {"Role-Of-Node", + [{"ORIGINATING_ROLE", 0}, + {"TERMINATING_ROLE", 1}, + {"FORWARDING_ROLE", 2}]}, + {"Role-Of-ProSe-Function", + [{"HPLMN", 0}, {"VPLMN", 1}, {"Local-PLMN", 2}]}, + {"SDP-Type", [{"SDP-Offer", 0}, {"SDP-Answer", 1}]}, + {"Session-Direction", + [{"inbound", 0}, {"outbound", 1}]}, + {"Serving-Node-Type", + [{"SGSN", 0}, + {"PMIPSGW", 1}, + {"GTPSGW", 2}, + {"ePDG", 3}, + {"hSGW", 4}, + {"MME", 5}, + {"TWAN", 6}]}, + {"SGi-PtP-Tunnelling-Method", + [{"UDP_IP_based", 0}, {"Others", 1}]}, + {"SGW-Change", + [{"ACR_Start_NOT_due_to_SGW_Change", 0}, + {"ACR_Start_due_to_SGW_Change", 1}]}, + {"SM-Device-Trigger-Indicator", + [{"Not-DeviceTrigger", 0}, + {"Device-Trigger-request", 1}, + {"Device-Trigger-replace", 2}, + {"Device-Trigger-recall", 3}]}, + {"SM-Message-Type", + [{"SUBMISSION", 0}, + {"DELIVERY_REPORT", 1}, + {"SM-Service-Request", 2}, + {"T4-Device-Trigger", 3}, + {"SM-Device-Trigger", 4}, + {"MO-SMS-T4-submission", 5}]}, + {"SMS-Node", + [{"SMS-Router", 0}, + {"IP-SM-GW", 1}, + {"SMS-Router-and-IP-SM-GW", 2}, + {"SMS-SC", 3}]}, + {"SM-Service-Type", + [{"VAS4SMS-Short-Message-content-processing", 0}, + {"VAS4SMS-Short-Message-forwarding", 1}, + {"VAS4SMS-Short-Message-Forwarding-multiple-sub" + "scriptions", + 2}, + {"VAS4SMS-Short-Message-filtering", 3}, + {"VAS4SMS-Short-Message-receipt", 4}, + {"VAS4SMS-Short-Message-Network-Storage", 5}, + {"VAS4SMS-Short-Message-to-multiple-destinations", 6}, + {"VAS4SMS-Short-Message-Virtual-Private-Network", 7}, + {"VAS4SMS-Short-Message-Auto-Reply", 8}, + {"VAS4SMS-Short-Message-Personal-Signature", 9}, + {"VAS4SMS-Short-Message-Deferred-Delivery", 10}]}, + {"Status-AS-Code", + [{"4xx", 0}, {"5xx", 1}, {"Timeout", 2}]}, + {"Subscriber-Role", + [{"Originating", 0}, {"Terminating", 1}]}, + {"TAD-Identifier", [{"CS", 0}, {"PS", 1}]}, + {"Time-Quota-Type", + [{"DISCRETE_TIME_PERIOD", 0}, + {"CONTINUOUS_TIME_PERIOD", 1}]}, + {"Transcoder-Inserted-Indication", + [{"Transcoder-Not-Inserted", 0}, + {"Transcoder-Inserted", 1}]}, + {"Trigger-Type", + [{"CHANGE_IN_SGSN_IP_ADDRESS", 1}, + {"CHANGE_IN_QOS", 2}, + {"CHANGE_IN_LOCATION", 3}, + {"CHANGE_IN_RAT", 4}, + {"CHANGE_IN_UE_TIMEZONE", 5}, + {"CHANGEINQOS_TRAFFIC_CLASS", 10}, + {"CHANGEINQOS_RELIABILITY_CLASS", 11}, + {"CHANGEINQOS_DELAY_CLASS", 12}, + {"CHANGEINQOS_PEAK_THROUGHPUT", 13}, + {"CHANGEINQOS_PRECEDENCE_CLASS", 14}, + {"CHANGEINQOS_MEAN_THROUGHPUT", 15}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", 16}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", 17}, + {"CHANGEINQOS_RESIDUAL_BER", 18}, + {"CHANGEINQOS_SDU_ERROR_RATIO", 19}, + {"CHANGEINQOS_TRANSFER_DELAY", 20}, + {"CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", 21}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", 22}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", 23}, + {"CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", 24}, + {"CHANGEINLOCATION_MCC", 30}, + {"CHANGEINLOCATION_MNC", 31}, + {"CHANGEINLOCATION_RAC", 32}, + {"CHANGEINLOCATION_LAC", 33}, + {"CHANGEINLOCATION_CellId", 34}, + {"CHANGEINLOCATION_TAC", 35}, + {"CHANGEINLOCATION_ECGI", 36}, + {"CHANGE_IN_MEDIA_COMPOSITION", 40}, + {"CHANGE_IN_PARTICIPANTS_NMB", 50}, + {"CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB", 51}, + {"CHANGE_IN_USER_PARTICIPATING_TYPE", 52}, + {"CHANGE_IN_SERVICE_CONDITION", 60}, + {"CHANGE_IN_SERVING_NODE", 61}, + {"CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW", 62}, + {"CHANGE_IN_USER_CSG_INFORMATION", 70}, + {"CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", + 71}, + {"CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORM" + "ATION", + 72}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", + 73}, + {"CHANGE_IN_APN_RATE_CONTROL", 75}, + {"CHANGE_IN_3GPP_PS_DATA_OFF", 76}]}, + {"UNI-PDU-CP-Only-Flag", + [{"UNI-PDU-both-UP-CP", 0}, {"UNI-PDU-CP-Only", 1}]}, + {"User-Participating-Type", + [{"Normal", 0}, {"NW-PoC-Box", 1}, {"UE-PoC-Box", 2}]}, + {"Variable-Part-Type", + [{"Integer", 0}, + {"Number", 1}, + {"Time", 2}, + {"Date", 3}, + {"Currency", 4}]}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Status", [{"AN_GW_FAILED", 0}]}, + {"Bearer-Control-Mode", + [{"UE_ONLY", 0}, {"RESERVED", 1}, {"UE_NW", 2}]}, + {"Bearer-Operation", + [{"TERMINATION", 0}, + {"ESTABLISHMENT", 1}, + {"MODIFICATION", 2}]}, + {"Bearer-Usage", + [{"GENERAL", 0}, {"IMS_SIGNALLING", 1}]}, + {"Charging-Correlation-Indicator", + [{"CHARGING_IDENTIFIER_REQUIRED", 0}]}, + {"CSG-Information-Reporting", + [{"CHANGE_CSG_CELL", 0}, + {"CHANGE_CSG_SUBSCRIBED_HYBRID_CELL", 1}, + {"CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL", 2}]}, + {"Event-Trigger", + [{"SGSN_CHANGE", 0}, + {"QOS_CHANGE", 1}, + {"RAT_CHANGE", 2}, + {"TFT_CHANGE", 3}, + {"PLMN_CHANGE", 4}, + {"LOSS_OF_BEARER", 5}, + {"RECOVERY_OF_BEARER", 6}, + {"IP-CAN_CHANGE", 7}, + {"QOS_CHANGE_EXCEEDING_AUTHORIZATION", 11}, + {"RAI_CHANGE", 12}, + {"USER_LOCATION_CHANGE", 13}, + {"NO_EVENT_TRIGGERS", 14}, + {"OUT_OF_CREDIT", 15}, + {"REALLOCATION_OF_CREDIT", 16}, + {"REVALIDATION_TIMEOUT", 17}, + {"UE_IP_ADDRESS_ALLOCATE", 18}, + {"UE_IP_ADDRESS_RELEASE", 19}, + {"DEFAULT_EPS_BEARER_QOS_CHANGE", 20}, + {"AN_GW_CHANGE", 21}, + {"SUCCESSFUL_RESOURCE_ALLOCATION", 22}, + {"RESOURCE_MODIFICATION_REQUEST", 23}, + {"PGW_TRACE_CONTROL", 24}, + {"UE_TIME_ZONE_CHANGE", 25}, + {"TAI_CHANGE", 26}, + {"ECGI_CHANGE", 27}, + {"CHARGING_CORRELATION_EXCHANGE", 28}, + {"APN-AMBR_MODIFICATION_FAILURE", 29}, + {"USER_CSG_INFORMATION_CHANGE", 30}, + {"USAGE_REPORT", 33}, + {"DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE", 34}, + {"USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE", 35}, + {"USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE", 36}, + {"ROUTING_RULE_CHANGE", 37}, + {"APPLICATION_START", 39}, + {"APPLICATION_STOP", 40}, + {"CS_TO_PS_HANDOVER", 42}, + {"UE_LOCAL_IP_ADDRESS_CHANGE", 43}, + {"HNB_LOCAL_IP_ADDRESS_CHANGE", 44}, + {"ACCESS_NETWORK_INFO_REPORT", 45}, + {"CREDIT_MANAGEMENT_SESSION_FAILURE", 46}, + {"DEFAULT_QOS_CHANGE", 47}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_A" + "REA_REPORT", + 48}]}, + {"Flow-Direction", + [{"UNSPECIFIED", 0}, + {"DOWNLINK", 1}, + {"UPLINK", 2}, + {"BIDIRECTIONAL", 3}]}, + {"IP-CAN-Session-Charging-Scope", + [{"IP-CAN_SESSION_SCOPE", 0}]}, + {"IP-CAN-Type", + [{"3GPP-GPRS", 0}, + {"DOCSIS", 1}, + {"xDSL", 2}, + {"WiMAX", 3}, + {"3GPP2", 4}, + {"3GPP-EPS", 5}, + {"Non-3GPP-EPS", 6}, + {"FBA", 7}]}, + {"Metering-Method", + [{"DURATION", 0}, + {"VOLUME", 1}, + {"DURATION_VOLUME", 2}, + {"EVENT", 3}]}, + {"Mute-Notification", [{"MUTE_REQUIRED", 0}]}, + {"Network-Request-Support", + [{"NETWORK_REQUEST_NOT_SUPPORTED", 0}, + {"NETWORK_REQUEST_SUPPORTED", 1}]}, + {"Offline", + [{"DISABLE_OFFLINE", 0}, {"ENABLE_OFFLINE", 1}]}, + {"Online", + [{"DISABLE_ONLINE", 0}, {"ENABLE_ONLINE", 1}]}, + {"Packet-Filter-Operation", + [{"DELETION", 0}, + {"ADDITION", 1}, + {"MODIFICATION", 2}]}, + {"Packet-Filter-Usage", [{"SEND_TO_UE", 1}]}, + {"PCC-Rule-Status", + [{"ACTIVE", 0}, + {"INACTIVE", 1}, + {"TEMPORARILY_INACTIVE", 2}]}, + {"Pre-emption-Capability", + [{"PRE-EMPTION_CAPABILITY_ENABLED", 0}, + {"PRE-EMPTION_CAPABILITY_DISABLED", 1}]}, + {"Pre-emption-Vulnerability", + [{"PRE-EMPTION_VULNERABILITY_ENABLED", 0}, + {"PRE-EMPTION_VULNERABILITY_DISABLED", 1}]}, + {"PS-to-CS-Session-Continuity", + [{"VIDEO_PS2CS_CONT_CANDIDATE", 0}]}, + {"QoS-Class-Identifier", + [{"QCI_1", 1}, + {"QCI_2", 2}, + {"QCI_3", 3}, + {"QCI_4", 4}, + {"QCI_5", 5}, + {"QCI_6", 6}, + {"QCI_7", 7}, + {"QCI_8", 8}, + {"QCI_9", 9}, + {"QCI_65", 65}, + {"QCI_66", 66}, + {"QCI_69", 69}, + {"QCI_70", 70}]}, + {"QoS-Negotiation", + [{"NO_QoS_NEGOTIATION", 0}, + {"QoS_NEGOTIATION_SUPPORTED", 1}]}, + {"QoS-Upgrade", + [{"QoS_UPGRADE_NOT_SUPPORTED", 0}, + {"QoS_UPGRADE_SUPPORTED", 1}]}, + {"RAT-Type", + [{"WLAN", 0}, + {"VIRTUAL", 1}, + {"UTRAN", 1000}, + {"GERAN", 1001}, + {"GAN", 1002}, + {"HSPA_EVOLUTION", 1003}, + {"EUTRAN", 1004}, + {"CDMA2000_1X", 2000}, + {"HRPD", 2001}, + {"UMB", 2002}, + {"EHRPD", 2003}]}, + {"Redirect-Support", + [{"REDIRECTION_DISABLED", 0}, + {"REDIRECTION_ENABLED", 1}]}, + {"Reporting-Level", + [{"SERVICE_IDENTIFIER_LEVEL", 0}, + {"RATING_GROUP_LEVEL", 1}, + {"SPONSORED_CONNECTIVITY_LEVEL", 2}]}, + {"Resource-Allocation-Notification", + [{"ENABLE_NOTIFICATION", 0}]}, + {"Rule-Failure-Code", + [{"UNKNOWN_RULE_NAME", 1}, + {"RATING_GROUP_ERROR", 2}, + {"SERVICE_IDENTIFIER_ERROR", 3}, + {"GW_PCEF_MALFUNCTION", 4}, + {"RESOURCES_LIMITATION", 5}, + {"MAX_NR_BEARERS_REACHED", 6}, + {"UNKNOWN_BEARER_ID", 7}, + {"MISSING_BEARER_ID", 8}, + {"MISSING_FLOW_INFORMATION", 9}, + {"RESOURCE_ALLOCATION_FAILURE", 10}, + {"UNSUCCESSFUL_QOS_VALIDATION", 11}, + {"INCORRECT_FLOW_INFORMATION", 12}, + {"PS_TO_CS_HANDOVER", 13}, + {"TDF_APPLICATION_IDENTIFIER_ERROR", 14}, + {"NO_BEARER_BOUND", 15}, + {"FILTER_RESTRICTIONS", 16}, + {"AN_GW_FAILED", 17}, + {"MISSING_REDIRECT_SERVER_ADDRESS", 18}, + {"CM_END_USER_SERVICE_DENIED", 19}, + {"CM_CREDIT_CONTROL_NOT_APPLICABLE", 20}, + {"CM_AUTHORIZATION_REJECTED", 21}, + {"CM_USER_UNKNOWN", 22}, + {"CM_RATING_FAILED", 23}]}, + {"Session-Release-Cause", + [{"UNSPECIFIED_REASON", 0}, + {"UE_SUBSCRIPTION_REASON", 1}, + {"INSUFFICIENT_SERVER_RESOURCES", 2}, + {"IP_CAN_SESSION_TERMINATION", 3}, + {"UE_IP_ADDRESS_RELEASE", 4}]}, + {"Usage-Monitoring-Level", + [{"SESSION_LEVEL", 0}, + {"PCC_RULE_LEVEL", 1}, + {"ADC_RULE_LEVEL", 2}]}, + {"Usage-Monitoring-Report", + [{"USAGE_MONITORING_REPORT_REQUIRED", 0}]}, + {"Usage-Monitoring-Support", + [{"USAGE_MONITORING_DISABLED", 0}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_3gpp_ts29_214, + [{"Flows", + 510, + [], + [{"Media-Component-Number"}, + {'*', ["Flow-Number"]}, + ["Final-Unit-Action"]]}]}, + {diameter_3gpp_ts29_229, + [{"Charging-Information", + 618, + [], + [["Primary-Event-Charging-Function-Name"], + ["Secondary-Event-Charging-Function-Name"], + ["Primary-Charging-Collection-Function-Name"], + ["Secondary-Charging-Collection-Function-Name"], + {'*', ["AVP"]}]}, + {"Supported-Features", + 628, + [], + [{"Vendor-Id"}, + {"Feature-List-ID"}, + {"Feature-List"}, + {'*', ["AVP"]}]}, + {"Supported-Applications", + 631, + [10415], + [{'*', ["Auth-Application-Id"]}, + {'*', ["Acct-Application-Id"]}, + {'*', ["Vendor-Specific-Application-Id"]}, + {'*', ["AVP"]}]}, + {"SIP-Auth-Data-Item", + 612, + [10415], + [["SIP-Item-Number"], + ["SIP-Authentication-Scheme"], + ["SIP-Authenticate"], + ["SIP-Authorization"], + ["SIP-Authentication-Context"], + ["Confidentiality-Key"], + ["Integrity-Key"], + ["SIP-Digest-Authenticate"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + {'*', ["Line-Identifier"]}, + {'*', ["AVP"]}]}, + {"Deregistration-Reason", + 615, + [10415], + [{"Reason-Code"}, ["Reason-Info"], {'*', ["AVP"]}]}, + {"SIP-Digest-Authenticate", + 635, + [10415], + [{"Digest-Realm"}, + {"Digest-QoP"}, + {"Digest-HA1"}, + ["Digest-Algorithm"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_173, + [{"Serving-Node", + 2401, + [10415], + [["SGSN-Number"], + ["SGSN-Name"], + ["SGSN-Realm"], + ["MME-Name"], + ["MME-Realm"], + ["MSC-Number"], + ["3GPP-AAA-Server-Name"], + ["LCS-Capabilities-Sets"], + ["GMLC-Address"], + {'*', ["AVP"]}]}, + {"Additional-Serving-Node", + 2406, + [10415], + [["SGSN-Number"], + ["MME-Name"], + ["SGSN-Name"], + ["SGSN-Realm"], + ["MME-Realm"], + ["MSC-Number"], + ["3GPP-AAA-Server-Name"], + ["LCS-Capabilities-Sets"], + ["GMLC-Address"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts32_299, + [{"Access-Network-Info-Change", + 4401, + [], + [{'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Change-Time"]]}, + {"Access-Transfer-Information", + 2709, + [], + [["Access-Transfer-Type"], + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Inter-UE-Transfer"], + ["User-Equipment-Info"], + ["Instance-Id"], + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Change-Time"]]}, + {"Accumulated-Cost", + 2052, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Additional-Content-Information", + 1207, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"]]}, + {"Address-Domain", + 898, + [], + [["Domain-Name"], ["3GPP-IMSI-MCC-MNC"]]}, + {"AF-Correlation-Information", + 1276, + [], + [{"AF-Charging-Identifier"}, {'*', ["Flows"]}]}, + {"Announcement-Information", + 3904, + [], + [{"Announcement-Identifier"}, + {'*', ["Variable-Part"]}, + ["Time-Indicator"], + ["Quota-Indicator"], + ["Announcement-Order"], + ["Play-Alternative"], + ["Privacy-Indicator"], + ["Language"]]}, + {"AoC-Cost-Information", + 2053, + [], + [["Accumulated-Cost"], + {'*', ["Incremental-Cost"]}, + ["Currency-Code"]]}, + {"AoC-Information", + 2054, + [], + [["AoC-Cost-Information"], + ["Tariff-Information"], + ["AoC-Subscription-Information"]]}, + {"AoC-Service", + 2311, + [], + [["AoC-Service-Obligatory-Type"], + ["AoC-Service-Type"]]}, + {"AoC-Subscription-Information", + 2314, + [], + [{'*', ["AoC-Service"]}, + ["AoC-Format"], + ["Preferred-AoC-Currency"]]}, + {"APN-Rate-Control", + 3933, + [], + [["APN-Rate-Control-Uplink"], + ["APN-Rate-Control-Downlink"]]}, + {"APN-Rate-Control-Downlink", + 3934, + [], + [["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"], + ["Rate-Control-Max-Message-Size"]]}, + {"APN-Rate-Control-Uplink", + 3935, + [], + [["Additional-Exception-Reports"], + ["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"]]}, + {"Application-Server-Information", + 850, + [], + [["Application-Server"], + {'*', ["Application-Provided-Called-Party-Address"]}, + ["Status-AS-Code"]]}, + {"Basic-Service-Code", + 3411, + [], + [["Bearer-Service"], ["Teleservice"]]}, + {"Called-Identity-Change", + 3917, + [], + [["Called-Identity"], ["Change-Time"]]}, + {"Coverage-Info", + 3459, + [], + [["Coverage-Status"], + ["Change-Time"], + {'*', ["Location-Info"]}]}, + {"CPDT-Information", + 3927, + [], + [["Serving-Node-Identity"], + ["SGW-Change"], + ["NIDD-Submission"]]}, + {"Current-Tariff", + 2056, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"Destination-Interface", + 2002, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Early-Media-Description", + 1272, + [], + [["SDP-TimeStamps"], + {'*', ["SDP-Media-Component"]}, + {'*', ["SDP-Session-Description"]}]}, + {"Enhanced-Diagnostics", + 3901, + [], + [{'*', ["RAN-NAS-Release-Cause"]}]}, + {"Envelope", + 1266, + [], + [{"Envelope-Start-Time"}, + ["Envelope-End-Time"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"]]}, + {"Event-Type", + 823, + [], + [["SIP-Method"], ["Event"], ["Expires"]]}, + {"Incremental-Cost", + 2062, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"IMS-Information", + 876, + [], + [{"Node-Functionality"}, + ["Event-Type"], + ["Role-Of-Node"], + ["User-Session-Id"], + ["Outgoing-Session-Id"], + ["Session-Priority"], + {'*', ["Calling-Party-Address"]}, + ["Called-Party-Address"], + {'*', ["Called-Asserted-Identity"]}, + ["Called-Identity-Change"], + ["Number-Portability-Routing-Information"], + ["Carrier-Select-Routing-Information"], + ["Alternate-Charged-Party-Address"], + {'*', ["Requested-Party-Address"]}, + {'*', ["Associated-URI"]}, + ["Time-Stamps"], + {'*', ["Application-Server-Information"]}, + {'*', ["Inter-Operator-Identifier"]}, + {'*', ["Transit-IOI-List"]}, + ["IMS-Charging-Identifier"], + {'*', ["SDP-Session-Description"]}, + {'*', ["SDP-Media-Component"]}, + ["Served-Party-IP-Address"], + ["Trunk-Group-Id"], + ["Bearer-Service"], + ["Service-Id"], + {'*', ["Service-Specific-Info"]}, + {'*', ["Message-Body"]}, + ["Cause-Code"], + {'*', ["Reason-Header"]}, + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + {'*', ["Early-Media-Description"]}, + ["IMS-Communication-Service-Identifier"], + ["IMS-Application-Reference-Identifier"], + ["Online-Charging-Flag"], + ["Real-Time-Tariff-Information"], + ["Account-Expiration"], + ["Initial-IMS-Charging-Identifier"], + {'*', ["NNI-Information"]}, + ["From-Address"], + ["IMS-Emergency-Indicator"], + ["IMS-Visited-Network-Identifier"], + {'*', ["Access-Network-Info-Change"]}, + {'*', ["Access-Transfer-Information"]}, + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Route-Header-Received"], + ["Route-Header-Transmitted"], + ["Instance-Id"], + ["TAD-Identifier"], + ["FE-Identifier-List"]]}, + {"Inter-Operator-Identifier", + 838, + [], + [["Originating-IOI"], ["Terminating-IOI"]]}, + {"ISUP-Cause", + 3416, + [], + [["ISUP-Cause-Location"], + ["ISUP-Cause-Value"], + ["ISUP-Cause-Diagnostics"]]}, + {"LCS-Client-ID", + 1232, + [], + [["LCS-Client-Type"], + ["LCS-Client-External-ID"], + ["LCS-Client-Dialed-By-MS"], + ["LCS-Client-Name"], + ["LCS-APN"], + ["LCS-Requestor-ID"]]}, + {"LCS-Client-Name", + 1235, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Name-String"], + ["LCS-Format-Indicator"]]}, + {"LCS-Information", + 878, + [], + [["LCS-Client-ID"], + ["Location-Type"], + ["Location-Estimate"], + ["Positioning-Data"], + ["3GPP-IMSI"], + ["MSISDN"]]}, + {"LCS-Requestor-ID", + 1239, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Requestor-ID-String"]]}, + {"Location-Info", + 3460, + [], + [["3GPP-User-Location-Info"], ["Change-Time"]]}, + {"Location-Type", + 1244, + [], + [["Location-Estimate-Type"], + ["Deferred-Location-Event-Type"]]}, + {"MBMS-Information", + 880, + [], + [["TMGI"], + ["MBMS-User-Service-Type"], + ["File-Repair-Supported"], + ["MBMS-2G-3G-Indicator"], + {'*', ["MBMS-Service-Area"]}, + ["MBMS-Session-Identity"], + ["CN-IP-Multicast-Distribution"], + ["MBMS-GW-Address"], + ["MBMS-Charged-Party"], + {'*', ["MSISDN"]}]}, + {"Message-Body", + 889, + [], + [{"Content-Type"}, + {"Content-Length"}, + ["Content-Disposition"], + ["Originator"]]}, + {"Message-Class", + 1213, + [], + [["Class-Identifier"], ["Token-Text"]]}, + {"MM-Content-Type", + 1203, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"], + {'*', ["Additional-Content-Information"]}]}, + {"MMS-Information", + 877, + [], + [["Originator-Address"], + {'*', ["Recipient-Address"]}, + ["Submission-Time"], + ["MM-Content-Type"], + ["Priority"], + ["Message-ID"], + ["Message-Type"], + ["Message-Size"], + ["Message-Class"], + ["Delivery-Report-Requested"], + ["Read-Reply-Report-Requested"], + ["MMBox-Storage-Requested"], + ["Applic-ID"], + ["Reply-Applic-ID"], + ["Aux-Applic-Info"], + ["Content-Class"], + ["DRM-Content"], + ["Adaptations"]]}, + {"MMTel-Information", + 2030, + [], + [{'*', ["Supplementary-Service"]}]}, + {"Monitoring-Event-Information", + 3921, + [], + [["Monitoring-Event-Functionality"], + ["Event-Timestamp"], + ["Monitoring-Event-Configuration-Activity"], + ["Charged-Party"], + {'*', ["Monitoring-Event-Report-Data"]}]}, + {"Monitoring-Event-Report-Data", + 3920, + [], + [["Event-Timestamp"], + ["Monitoring-Event-Report-Number"], + ["Charged-Party"], + ["Subscription-Id"]]}, + {"Next-Tariff", + 2057, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"NIDD-Submission", + 3928, + [], + [["Submission-Time"], + ["Event-Timestamp"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"]]}, + {"NNI-Information", + 2703, + [], + [["Session-Direction"], + ["NNI-Type"], + ["Relationship-Mode"], + ["Neighbour-Node-Address"]]}, + {"Offline-Charging", + 1278, + [], + [["Quota-Consumption-Time"], + ["Time-Quota-Mechanism"], + ["Envelope-Reporting"], + {'*', ["Multiple-Services-Credit-Control"]}, + {'*', ["AVP"]}]}, + {"Originator-Address", + 886, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Originator-Interface", + 2009, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Originator-Received-Address", + 2027, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Participant-Group", + 1260, + [], + [["Called-Party-Address"], + ["Participant-Access-Priority"], + ["User-Participating-Type"]]}, + {"PoC-Information", + 879, + [], + [["PoC-Server-Role"], + ["PoC-Session-Type"], + ["PoC-User-Role"], + ["PoC-Session-Initiation-Type"], + ["PoC-Event-Type"], + ["Number-Of-Participants"], + {'*', ["Participants-Involved"]}, + {'*', ["Participant-Group"]}, + {'*', ["Talk-Burst-Exchange"]}, + ["PoC-Controlling-Address"], + ["PoC-Group-Name"], + ["PoC-Session-Id"], + ["Charged-Party"]]}, + {"PoC-User-Role", + 1252, + [], + [["PoC-User-Role-IDs"], ["PoC-User-Role-Info-Units"]]}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Input-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Output-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Information", + 3447, + [], + [["Announcing-UE-HPLMN-Identifier"], + ["Announcing-UE-VPLMN-Identifier"], + ["Monitoring-UE-HPLMN-Identifier"], + ["Monitoring-UE-VPLMN-Identifier"], + ["Role-Of-ProSe-Function"], + ["ProSe-3rd-Party-Application-ID"], + ["Application-Specific-Data"], + ["ProSe-Event-Type"], + ["ProSe-Direct-Discovery-Model"], + ["ProSe-Function-IP-Address"], + ["ProSe-Role-Of-UE"], + ["ProSe-Request-Timestamp"], + ["PC3-Control-Protocol-Cause"], + ["Monitoring-UE-Identifier"], + ["Requestor-PLMN-Identifier"], + ["Requested-PLMN-Identifier"], + ["ProSe-Range-Class"], + ["Proximity-Alert-Indication"], + ["Proximity-Alert-Timestamp"], + ["Proximity-Cancellation-Timestamp"], + ["ProSe-Reason-For-Cancellation"], + ["PC3-EPC-Control-Protocol-Cause"], + ["ProSe-UE-ID"], + ["ProSe-Source-IP-Address"], + ["Layer-2-Group-ID"], + ["ProSe-Group-IP-Multicast-Address"], + {'*', ["Coverage-Info"]}, + {'*', ["Radio-Parameter-Set-Info"]}, + {'*', ["Transmitter-Info"]}, + ["Time-First-Transmission"], + ["Time-First-Reception"], + {'*', + ["ProSe-Direct-Communication-Transmission-Data-" + "Container"]}, + {'*', + ["ProSe-Direct-Communication-Reception-Data-Con" + "tainer"]}, + ["Announcing-PLMN-ID"], + ["ProSe-Target-Layer-2-ID"], + ["Relay-IP-address"], + ["ProSe-UE-to-Network-Relay-UE-ID"], + ["Target-IP-Address"], + ["PC5-Radio-Technology"]]}, + {"PS-Furnish-Charging-Information", + 865, + [], + [{"3GPP-Charging-Id"}, + {"PS-Free-Format-Data"}, + ["PS-Append-Free-Format-Data"]]}, + {"PS-Information", + 874, + [], + [["3GPP-Charging-Id"], + ["PDN-Connection-Charging-ID"], + ["Node-Id"], + ["3GPP-PDP-Type"], + {'*', ["PDP-Address"]}, + ["PDP-Address-Prefix-Length"], + ["Dynamic-Address-Flag"], + ["Dynamic-Address-Flag-Extension"], + ["QoS-Information"], + {'*', ["SGSN-Address"]}, + {'*', ["GGSN-Address"]}, + {'*', ["TDF-IP-Address"]}, + {'*', ["SGW-Address"]}, + {'*', ["TWAG-Address"]}, + ["CG-Address"], + ["Serving-Node-Type"], + ["SGW-Change"], + ["3GPP-IMSI-MCC-MNC"], + ["IMSI-Unauthenticated-Flag"], + ["3GPP-GGSN-MCC-MNC"], + ["3GPP-NSAPI"], + ["Called-Station-Id"], + ["3GPP-Session-Stop-Indicator"], + ["3GPP-Selection-Mode"], + ["3GPP-Charging-Characteristics"], + ["Charging-Characteristics-Selection-Mode"], + ["3GPP-SGSN-MCC-MNC"], + ["3GPP-MS-TimeZone"], + ["Charging-Rule-Base-Name"], + ["3GPP-User-Location-Info"], + ["User-Location-Info-Time"], + ["User-CSG-Information"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["TWAN-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-RAT-Type"], + ["PS-Furnish-Charging-Information"], + ["PDP-Context-Type"], + ["Offline-Charging"], + {'*', ["Traffic-Data-Volumes"]}, + {'*', ["Service-Data-Container"]}, + ["User-Equipment-Info"], + ["Start-Time"], + ["Stop-Time"], + ["Change-Condition"], + ["Diagnostics"], + ["Low-Priority-Indicator"], + ["Logical-Access-ID"], + ["Physical-Access-ID"], + ["Fixed-User-Location-Info"], + ["CN-Operator-Selection-Entity"], + ["Enhanced-Diagnostics"], + ["SGi-PtP-Tunnelling-Method"], + ["CP-CIoT-EPS-Optimisation-Indicator"], + ["UNI-PDU-CP-Only-Flag"], + ["APN-Rate-Control"], + ["Charging-Per-IP-CAN-Session-Indicator"], + ["3GPP-PS-Data-Off-Status"], + ["SCS-AS-Address"], + ["Unused-Quota-Timer"], + {'*', ["RAN-Secondary-RAT-Usage-Report"]}, + {'*', ["AVP"]}]}, + {"Radio-Parameter-Set-Info", + 3463, + [], + [["Radio-Parameter-Set-Values"], ["Change-Time"]]}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + [], + [["Secondary-RAT-Type"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"]]}, + {"Rate-Element", + 2058, + [], + [{"CC-Unit-Type"}, + ["Charge-Reason-Code"], + ["Unit-Value"], + ["Unit-Cost"], + ["Unit-Quota-Threshold"]]}, + {"Real-Time-Tariff-Information", + 2305, + [], + [["Tariff-Information"], ["Tariff-XML"]]}, + {"Recipient-Address", + 1201, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"], + ["Addressee-Type"]]}, + {"Recipient-Info", + 2026, + [], + [["Destination-Interface"], + {'*', ["Recipient-Address"]}, + {'*', ["Recipient-Received-Address"]}, + ["Recipient-SCCP-Address"], + ["SM-Protocol-ID"]]}, + {"Recipient-Received-Address", + 2028, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Related-Change-Condition-Information", + 3925, + [], + [["SGSN-Address"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"]]}, + {"Related-Trigger", + 3926, + [], + [{'*', ["Trigger-Type"]}]}, + {"Remaining-Balance", + 2021, + [], + [{"Unit-Value"}, {"Currency-Code"}]}, + {"Scale-Factor", + 2059, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"SCS-AS-Address", + 3940, + [], + [["SCS-Realm"], ["SCS-Address"]]}, + {"SDP-Media-Component", + 843, + [], + [["SDP-Media-Name"], + {'*', ["SDP-Media-Description"]}, + ["Local-GW-Inserted-Indication"], + ["IP-Realm-Default-Indication"], + ["Transcoder-Inserted-Indication"], + ["Media-Initiator-Flag"], + ["Media-Initiator-Party"], + ["3GPP-Charging-Id"], + ["Access-Network-Charging-Identifier-Value"], + ["SDP-Type"]]}, + {"SDP-TimeStamps", + 1273, + [], + [["SDP-Offer-Timestamp"], ["SDP-Answer-Timestamp"]]}, + {"Service-Data-Container", + 2040, + [], + [["AF-Correlation-Information"], + ["Charging-Rule-Base-Name"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Local-Sequence-Number"], + ["QoS-Information"], + ["Rating-Group"], + ["Change-Time"], + ["Service-Identifier"], + ["Service-Specific-Info"], + ["SGSN-Address"], + ["Time-First-Usage"], + ["Time-Last-Usage"], + ["Time-Usage"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["APN-Rate-Control"], + ["3GPP-PS-Data-Off-Status"]]}, + {"Service-Information", + 873, + [], + [{'*', ["Subscription-Id"]}, + ["AoC-Information"], + ["PS-Information"], + ["IMS-Information"], + ["MMS-Information"], + ["LCS-Information"], + ["PoC-Information"], + ["MBMS-Information"], + ["SMS-Information"], + ["VCS-Information"], + ["MMTel-Information"], + ["ProSe-Information"], + ["CPDT-Information"]]}, + {"Service-Specific-Info", + 1249, + [], + [["Service-Specific-Data"], ["Service-Specific-Type"]]}, + {"SM-Device-Trigger-Information", + 3405, + [], + [["MTC-IWF-Address"], ["Validity-Time"]]}, + {"SMS-Information", + 2000, + [], + [["SMS-Node"], + ["Client-Address"], + ["Originator-SCCP-Address"], + ["SMSC-Address"], + ["Data-Coding-Scheme"], + ["SM-Discharge-Time"], + ["SM-Message-Type"], + ["Originator-Interface"], + ["SM-Protocol-ID"], + ["Reply-Path-Requested"], + ["SM-Status"], + ["SM-User-Data-Header"], + ["Number-Of-Messages-Sent"], + ["SM-Sequence-Number"], + {'*', ["Recipient-Info"]}, + ["Originator-Received-Address"], + ["SM-Service-Type"], + ["SMS-Result"], + ["SM-Device-Trigger-Indicator"], + ["SM-Device-Trigger-Information"], + ["MTC-IWF-Address"]]}, + {"Supplementary-Service", + 2048, + [], + [["MMTel-SService-Type"], + ["Service-Mode"], + ["Number-Of-Diversions"], + ["Associated-Party-Address"], + ["Service-Id"], + ["Change-Time"], + ["Number-Of-Participants"], + ["Participant-Action-Type"], + ["CUG-Information"], + ["AoC-Information"]]}, + {"Talk-Burst-Exchange", + 1255, + [], + [{"PoC-Change-Time"}, + ["Number-Of-Talk-Bursts"], + ["Talk-Burst-Volume"], + ["Talk-Burst-Time"], + ["Number-Of-Received-Talk-Bursts"], + ["Received-Talk-Burst-Volume"], + ["Received-Talk-Burst-Time"], + ["Number-Of-Participants"], + ["PoC-Change-Condition"]]}, + {"Tariff-Information", + 2060, + [], + [{"Current-Tariff"}, + ["Tariff-Time-Change"], + ["Next-Tariff"]]}, + {"Time-Quota-Mechanism", + 1270, + [], + [{"Time-Quota-Type"}, {"Base-Time-Interval"}]}, + {"Time-Stamps", + 833, + [], + [["SIP-Request-Timestamp"], + ["SIP-Response-Timestamp"], + ["SIP-Request-Timestamp-Fraction"], + ["SIP-Response-Timestamp-Fraction"]]}, + {"Traffic-Data-Volumes", + 2046, + [], + [["QoS-Information"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"], + ["Change-Time"], + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-Charging-Id"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["Diagnostics"], + ["Enhanced-Diagnostics"], + ["CP-CIoT-EPS-Optimisation-Indicator"]]}, + {"Transmitter-Info", + 3468, + [], + [["ProSe-Source-IP-Address"], ["ProSe-UE-ID"]]}, + {"Trigger", 1264, [], [{'*', ["Trigger-Type"]}]}, + {"Trunk-Group-Id", + 851, + [], + [["Incoming-Trunk-Group-Id"], + ["Outgoing-Trunk-Group-Id"]]}, + {"TWAN-User-Location-Info", 2714, [], [["BSSID"]]}, + {"Unit-Cost", + 2061, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"User-CSG-Information", + 2319, + [], + [{"CSG-Access-Mode"}, ["CSG-Membership-Indication"]]}, + {"UWAN-User-Location-Info", + 3918, + [], + [{"UE-Local-IP-Address"}, + ["UDP-Source-Port"], + ["BSSID"]]}, + {"Variable-Part", + 3907, + [], + [{"Variable-Part-Type"}, + {"Variable-Part-Value"}, + ["Variable-Part-Order"]]}, + {"VCS-Information", + 3410, + [], + [["Bearer-Capability"], + ["Network-Call-Reference-Number"], + ["MSC-Address"], + ["Basic-Service-Code"], + ["ISUP-Location-Number"], + ["VLR-Number"], + ["Forwarding-Pending"], + ["ISUP-Cause"], + ["Start-Time"], + ["Start-of-Charging"], + ["Stop-Time"], + ["PS-Free-Format-Data"]]}]}, + {diameter_3gpp_break_circles, + [{"Emergency-Info", + 1687, + [10415], + [["MIP6-Agent-Info"], {'*', ["AVP"]}]}]}, + {diameter_rfc5447, + [{"MIP6-Agent-Info", + 486, + [], + [{{0, 2}, ["MIP-Home-Agent-Address"]}, + ["MIP-Home-Agent-Host"], + ["MIP6-Home-Link-Prefix"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_212, + [{"Access-Network-Charging-Identifier-Gx", + 1022, + [], + [{"Access-Network-Charging-Identifier-Value"}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Charging-Rule-Name"]}, + ["IP-CAN-Session-Charging-Scope"], + {'*', ["AVP"]}]}, + {"Allocation-Retention-Priority", + 1034, + [], + [{"Priority-Level"}, + ["Pre-emption-Capability"], + ["Pre-emption-Vulnerability"]]}, + {"Application-Detection-Information", + 1098, + [], + [{"TDF-Application-Identifier"}, + ["TDF-Application-Instance-Identifier"], + {'*', ["Flow-Information"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Definition", + 1003, + [], + [{"Charging-Rule-Name"}, + ["Service-Identifier"], + ["Rating-Group"], + {'*', ["Flow-Information"]}, + ["TDF-Application-Identifier"], + ["Flow-Status"], + ["QoS-Information"], + ["PS-to-CS-Session-Continuity"], + ["Reporting-Level"], + ["Online"], + ["Offline"], + ["Metering-Method"], + ["Precedence"], + ["AF-Charging-Identifier"], + {'*', ["Flows"]}, + ["Monitoring-Key"], + ["Redirect-Information"], + ["Mute-Notification"], + ["AF-Signalling-Protocol"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Install", + 1001, + [], + [{'*', ["Charging-Rule-Definition"]}, + {'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["Rule-Activation-Time"], + ["Rule-Deactivation-Time"], + ["Resource-Allocation-Notification"], + ["Charging-Correlation-Indicator"], + {'*', ["AVP"]}]}, + {"Charging-Rule-Remove", + 1002, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Report", + 1018, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["PCC-Rule-Status"], + ["Rule-Failure-Code"], + ["Final-Unit-Indication"], + {'*', ["RAN-NAS-Release-Cause"]}, + {'*', ["AVP"]}]}, + {"CoA-Information", + 1039, + [], + [{"Tunnel-Information"}, + {"CoA-IP-Address"}, + {'*', ["AVP"]}]}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + [], + [["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["IP-CAN-Type"]}, + {'*', ["RAT-Type"]}, + {'*', ["AVP"]}]}, + {"Default-EPS-Bearer-QoS", + 1049, + [], + [["QoS-Class-Identifier"], + ["Allocation-Retention-Priority"], + {'*', ["AVP"]}]}, + {"Default-QoS-Information", + 2816, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Default-QoS-Name"], + {'*', ["AVP"]}]}, + {"Event-Report-Indication", + 1033, + [], + [{'*', ["Event-Trigger"]}, + ["IP-CAN-Type"], + {{0, 2}, ["AN-GW-Address"]}, + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["3GPP-SGSN-MCC-MNC"], + ["Framed-IP-Address"], + ["RAT-Type"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["3GPP-MS-TimeZone"], + ["Routing-IP-Address"], + ["UE-Local-IP-Address"], + ["HeNB-Local-IP-Address"], + ["UDP-Source-Port"], + ["Presence-Reporting-Area-Information"], + {'*', ["AVP"]}]}, + {"Fixed-User-Location-Info", + 2825, + [], + [["Logical-Access-ID"], + ["Physical-Access-ID"], + {'*', ["AVP"]}]}, + {"Flow-Information", + 1058, + [], + [["Flow-Description"], + ["Packet-Filter-Identifier"], + ["Packet-Filter-Usage"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Packet-Filter-Information", + 1061, + [], + [["Packet-Filter-Identifier"], + ["Precedence"], + ["Packet-Filter-Content"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Presence-Reporting-Area-Information", + 2822, + [], + [["Presence-Reporting-Area-Identifier"], + ["Presence-Reporting-Area-Status"], + ["Presence-Reporting-Area-Elements-List"], + {'*', ["AVP"]}]}, + {"QoS-Information", + 1016, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Guaranteed-Bitrate-UL"], + ["Guaranteed-Bitrate-DL"], + ["Bearer-Identifier"], + ["Allocation-Retention-Priority"], + ["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["Conditional-APN-Aggregate-Max-Bitrate"]}, + {'*', ["AVP"]}]}, + {"Redirect-Information", + 1085, + [], + [["Redirect-Support"], + ["Redirect-Address-Type"], + ["Redirect-Server-Address"], + {'*', ["AVP"]}]}, + {"Routing-Filter", + 1078, + [], + [{"Flow-Description"}, + {"Flow-Direction"}, + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Definition", + 1076, + [], + [{"Routing-Rule-Identifier"}, + {'*', ["Routing-Filter"]}, + ["Precedence"], + ["Routing-IP-Address"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Install", + 1081, + [], + [{'*', ["Routing-Rule-Definition"]}, {'*', ["AVP"]}]}, + {"Routing-Rule-Remove", + 1075, + [], + [{'*', ["Routing-Rule-Identifier"]}, {'*', ["AVP"]}]}, + {"TDF-Information", + 1087, + [], + [["TDF-Destination-Realm"], + ["TDF-Destination-Host"], + ["TDF-IP-Address"]]}, + {"Tunnel-Information", + 1038, + [], + [["Tunnel-Header-Length"], + {{0, 2}, ["Tunnel-Header-Filter"]}, + {'*', ["AVP"]}]}, + {"TFT-Packet-Filter-Information", + 1013, + [], + [["Precedence"], + ["TFT-Filter"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Usage-Monitoring-Information", + 1067, + [], + [["Monitoring-Key"], + {{0, 2}, ["Granted-Service-Unit"]}, + {{0, 2}, ["Used-Service-Unit"]}, + ["Usage-Monitoring-Level"], + ["Usage-Monitoring-Report"], + ["Usage-Monitoring-Support"], + {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_3gpp_ts29_212", []}, + {"diameter_rfc5778", []}, + {"diameter_rfc5447", []}, + {"diameter_3gpp_break_circles", []}, + {"diameter_3gpp_ts32_299", []}, + {"diameter_3gpp_ts29_173", []}, + {"diameter_3gpp_ts29_329", []}, + {"diameter_3gpp_ts29_229", []}, + {"diameter_3gpp_ts29_214", []}, + {"diameter_3gpp_base", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"ULR", + 316, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"User-Name"}, + {"RAT-Type"}, + {"ULR-Flags"}, + {"Visited-PLMN-Id"}, + ["Vendor-Specific-Application-Id"], + ["Destination-Host"], + ["Terminal-Information"], + ["UE-SRVCC-Capability"], + ["SGSN-Number"], + ["Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions"], + ["GMLC-Address"], + ["Equivalent-PLMN-List"], + ["MME-Number-for-MT-SMS"], + ["SMS-Register-Request"], + {'*', ["Supported-Features"]}, + {'*', ["Active-APN"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"ULA", + 316, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + ["Result-Code"], + ["Experimental-Result"], + ["Error-Diagnostic"], + ["ULA-Flags"], + ["Subscription-Data"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"AIR", + 318, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"User-Name"}, + {"Visited-PLMN-Id"}, + ["Vendor-Specific-Application-Id"], + ["Destination-Host"], + ["Requested-EUTRAN-Authentication-Info"], + ["Requested-UTRAN-GERAN-Authentication-Info"], + {'*', ["Supported-Features"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"AIA", + 318, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + ["Result-Code"], + ["Experimental-Result"], + ["Error-Diagnostic"], + ["Authentication-Info"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"CLR", + 317, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Host"}, + {"Destination-Realm"}, + {"User-Name"}, + {"Cancellation-Type"}, + {'*', ["Supported-Features"]}, + ["Vendor-Specific-Application-Id"], + ["CLR-Flags"], + {'*', ["AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"CLA", + 317, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + ["Result-Code"], + ["Experimental-Result"], + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"IDR", + 319, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Host"}, + {"Destination-Realm"}, + {"User-Name"}, + {"Subscription-Data"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + ["IDR-Flags"], + {'*', ["AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"IDA", + 319, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + ["Result-Code"], + ["Experimental-Result"], + ["IMS-Voice-Over-PS-Sessions-Supported"], + ["Last-UE-Activity-Time"], + ["RAT-Type"], + ["IDA-Flags"], + ["EPS-User-State"], + ["EPS-Location-Information"], + ["Local-Time-Zone"], + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"DSR", + 320, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Host"}, + {"Destination-Realm"}, + {"User-Name"}, + {"DSR-Flags"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + {'*', ["Context-Identifier"]}, + ["Trace-Reference"], + {'*', ["TS-Code"]}, + {'*', ["SS-Code"]}, + {'*', ["AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"DSA", + 320, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + ["Result-Code"], + ["Experimental-Result"], + ["DSA-Flags"], + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"PUR", + 321, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"User-Name"}, + ["Vendor-Specific-Application-Id"], + ["Destination-Host"], + ["PUR-Flags"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"PUA", + 321, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + ["Result-Code"], + ["Experimental-Result"], + ["PUA-Flags"], + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"RSR", + 322, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Host"}, + {"Destination-Realm"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + {'*', ["User-Id"]}, + {'*', ["AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"RSA", + 322, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + {'*', ["Supported-Features"]}, + ["Result-Code"], + ["Experimental-Result"], + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"NOR", + 323, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"User-Name"}, + ["Vendor-Specific-Application-Id"], + ["Destination-Host"], + {'*', ["Supported-Features"]}, + ["Terminal-Information"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + ["Context-Identifier"], + ["Service-Selection"], + ["Alert-Reason"], + ["UE-SRVCC-Capability"], + ["NOR-Flags"], + ["Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions"], + {'*', ["AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"NOA", + 323, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + ["Result-Code"], + ["Experimental-Result"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"ECR", + 324, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Terminal-Information"}, + ["Vendor-Specific-Application-Id"], + ["Destination-Host"], + ["User-Name"], + {'*', ["AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}, + {"ECA", + 324, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Vendor-Specific-Application-Id"], + ["Result-Code"], + ["Experimental-Result"], + ["Equipment-Status"], + {'*', ["AVP"]}, + {'*', ["Failed-AVP"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}]}]}, + {name, "diameter_3gpp_ts29_272"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_273.erl b/src/diameter_3gpp_ts29_273.erl new file mode 100644 index 0000000..a53143a --- /dev/null +++ b/src/diameter_3gpp_ts29_273.erl @@ -0,0 +1,17008 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_273). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['WLAN-Identifier', + 'Access-Network-Info', + 'TWAN-Connectivity-Parameters', + 'Non-3GPP-User-Data', + 'Trace-Info', + 'TWAN-Access-Info', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id', + 'Emergency-Info', + 'Access-Network-Charging-Identifier-Gx', + 'Allocation-Retention-Priority', + 'Application-Detection-Information', + 'Charging-Rule-Definition', + 'Charging-Rule-Install', + 'Charging-Rule-Remove', + 'Charging-Rule-Report', + 'CoA-Information', + 'Conditional-APN-Aggregate-Max-Bitrate', + 'Default-EPS-Bearer-QoS', + 'Default-QoS-Information', + 'Event-Report-Indication', + 'Fixed-User-Location-Info', + 'Flow-Information', + 'Packet-Filter-Information', + 'Presence-Reporting-Area-Information', + 'QoS-Information', + 'Redirect-Information', + 'Routing-Filter', + 'Routing-Rule-Definition', + 'Routing-Rule-Install', + 'Routing-Rule-Remove', + 'TDF-Information', + 'Tunnel-Information', + 'TFT-Packet-Filter-Information', + 'Usage-Monitoring-Information', + 'Subscription-Data', + 'Terminal-Information', + 'Requested-EUTRAN-Authentication-Info', + 'Requested-UTRAN-GERAN-Authentication-Info', + 'Authentication-Info', + 'E-UTRAN-Vector', + 'UTRAN-Vector', + 'GERAN-Vector', + 'APN-Configuration-Profile', + 'APN-Configuration', + 'EPS-Subscribed-QoS-Profile', + 'AMBR', + 'Trace-Data', + 'GPRS-Subscription-Data', + 'PDP-Context', + 'CSG-Subscription-Data', + 'Specific-APN-Info', + 'LCS-Info', + 'LCS-PrivacyException', + 'External-Client', + 'Service-Type', + 'MO-LR', + 'Teleservice-List', + 'Call-Barring-Info', + 'EPS-User-State', + 'EPS-Location-Information', + 'MME-User-State', + 'SGSN-User-State', + 'MME-Location-Information', + 'SGSN-Location-Information', + 'Active-APN', + 'MDT-Configuration', + 'Area-Scope', + 'Equivalent-PLMN-List', + 'VPLMN-CSG-Subscription-Data', + 'Local-Time-Zone', + 'Access-Network-Info-Change', + 'Access-Transfer-Information', + 'Accumulated-Cost', + 'Additional-Content-Information', + 'Address-Domain', + 'AF-Correlation-Information', + 'Announcement-Information', + 'AoC-Cost-Information', + 'AoC-Information', + 'AoC-Service', + 'AoC-Subscription-Information', + 'APN-Rate-Control', + 'APN-Rate-Control-Downlink', + 'APN-Rate-Control-Uplink', + 'Application-Server-Information', + 'Basic-Service-Code', + 'Called-Identity-Change', + 'Coverage-Info', + 'CPDT-Information', + 'Current-Tariff', + 'Destination-Interface', + 'Early-Media-Description', + 'Enhanced-Diagnostics', + 'Envelope', + 'Event-Type', + 'Incremental-Cost', + 'IMS-Information', + 'Inter-Operator-Identifier', + 'ISUP-Cause', + 'LCS-Client-ID', + 'LCS-Client-Name', + 'LCS-Information', + 'LCS-Requestor-ID', + 'Location-Info', + 'Location-Type', + 'MBMS-Information', + 'Message-Body', + 'Message-Class', + 'MM-Content-Type', + 'MMS-Information', + 'MMTel-Information', + 'Monitoring-Event-Information', + 'Monitoring-Event-Report-Data', + 'Next-Tariff', + 'NIDD-Submission', + 'NNI-Information', + 'Offline-Charging', + 'Originator-Address', + 'Originator-Interface', + 'Originator-Received-Address', + 'Participant-Group', + 'PoC-Information', + 'PoC-User-Role', + 'ProSe-Direct-Communication-Reception-Data-Container', + 'ProSe-Direct-Communication-Transmission-Data-Container', + 'ProSe-Information', + 'PS-Furnish-Charging-Information', + 'PS-Information', + 'Radio-Parameter-Set-Info', + 'RAN-Secondary-RAT-Usage-Report', + 'Rate-Element', + 'Real-Time-Tariff-Information', + 'Recipient-Address', + 'Recipient-Info', + 'Recipient-Received-Address', + 'Related-Change-Condition-Information', + 'Related-Trigger', + 'Remaining-Balance', + 'Scale-Factor', + 'SCS-AS-Address', + 'SDP-Media-Component', + 'SDP-TimeStamps', + 'Service-Data-Container', + 'Service-Information', + 'Service-Specific-Info', + 'SM-Device-Trigger-Information', + 'SMS-Information', + 'Supplementary-Service', + 'Talk-Burst-Exchange', + 'Tariff-Information', + 'Time-Quota-Mechanism', + 'Time-Stamps', + 'Traffic-Data-Volumes', + 'Transmitter-Info', + 'Trigger', + 'Trunk-Group-Id', + 'TWAN-User-Location-Info', + 'Unit-Cost', + 'User-CSG-Information', + 'UWAN-User-Location-Info', + 'Variable-Part', + 'VCS-Information', + 'Cost-Information', + 'Unit-Value', + 'Multiple-Services-Credit-Control', + 'Granted-Service-Unit', + 'Requested-Service-Unit', + 'Used-Service-Unit', + 'CC-Money', + 'G-S-U-Pool-Reference', + 'Final-Unit-Indication', + 'Redirect-Server', + 'Service-Parameter-Info', + 'Subscription-Id', + 'User-Equipment-Info', + 'OC-Supported-Features', + 'OC-OLR']). + +-record('WLAN-Identifier', + {'SSID' = [], 'HESSID' = [], 'AVP' = []}). + +-record('Access-Network-Info', + {'SSID' = [], + 'BSSID' = [], + 'Location-Information' = [], + 'Location-Data' = [], + 'Operator-Name' = [], + 'Logical-Access-ID' = [], + 'AVP' = []}). + +-record('TWAN-Connectivity-Parameters', + {'Connectivity-Flags' = [], + 'Service-Selection' = [], + 'PDN-Type' = [], + 'Served-Party-IP-Address' = [], + 'TWAN-PCO' = [], + 'TWAG-UP-Address' = [], + 'TWAN-S2a-Failure-Cause' = [], + 'SM-Back-Off-Timer' = [], + 'AVP' = []}). + +-record('Non-3GPP-User-Data', + {'Subscription-Id' = [], + 'Non-3GPP-IP-Access' = [], + 'Non-3GPP-IP-Access-APN' = [], + 'RAT-Type' = [], + 'Session-Timeout' = [], + 'MIP6-Feature-Vector' = [], + 'AMBR' = [], + '3GPP-Charging-Characteristics' = [], + 'Context-Identifier' = [], + 'APN-OI-Replacement' = [], + 'APN-Configuration' = [], + 'Trace-Info' = [], + 'TWAN-Default-APN-Context-Id' = [], + 'TWAN-Access-Info' = [], + 'UE-Usage-Type' = [], + 'Emergency-Info' = [], + 'ERP-Authorization' = [], + 'Core-Network-Restrictions' = [], + 'AVP' = []}). + +-record('Trace-Info', + {'Trace-Data' = [], + 'Trace-Reference' = [], + 'AVP' = []}). + +-record('TWAN-Access-Info', + {'Access-Authorization-Flags' = [], + 'WLAN-Identifier' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_273. + +id() -> 0. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('WLAN-Identifier') -> 'WLAN-Identifier'; +name2rec('Access-Network-Info') -> + 'Access-Network-Info'; +name2rec('TWAN-Connectivity-Parameters') -> + 'TWAN-Connectivity-Parameters'; +name2rec('Non-3GPP-User-Data') -> 'Non-3GPP-User-Data'; +name2rec('Trace-Info') -> 'Trace-Info'; +name2rec('TWAN-Access-Info') -> 'TWAN-Access-Info'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec('Emergency-Info') -> 'Emergency-Info'; +name2rec('Access-Network-Charging-Identifier-Gx') -> + 'Access-Network-Charging-Identifier-Gx'; +name2rec('Allocation-Retention-Priority') -> + 'Allocation-Retention-Priority'; +name2rec('Application-Detection-Information') -> + 'Application-Detection-Information'; +name2rec('Charging-Rule-Definition') -> + 'Charging-Rule-Definition'; +name2rec('Charging-Rule-Install') -> + 'Charging-Rule-Install'; +name2rec('Charging-Rule-Remove') -> + 'Charging-Rule-Remove'; +name2rec('Charging-Rule-Report') -> + 'Charging-Rule-Report'; +name2rec('CoA-Information') -> 'CoA-Information'; +name2rec('Conditional-APN-Aggregate-Max-Bitrate') -> + 'Conditional-APN-Aggregate-Max-Bitrate'; +name2rec('Default-EPS-Bearer-QoS') -> + 'Default-EPS-Bearer-QoS'; +name2rec('Default-QoS-Information') -> + 'Default-QoS-Information'; +name2rec('Event-Report-Indication') -> + 'Event-Report-Indication'; +name2rec('Fixed-User-Location-Info') -> + 'Fixed-User-Location-Info'; +name2rec('Flow-Information') -> 'Flow-Information'; +name2rec('Packet-Filter-Information') -> + 'Packet-Filter-Information'; +name2rec('Presence-Reporting-Area-Information') -> + 'Presence-Reporting-Area-Information'; +name2rec('QoS-Information') -> 'QoS-Information'; +name2rec('Redirect-Information') -> + 'Redirect-Information'; +name2rec('Routing-Filter') -> 'Routing-Filter'; +name2rec('Routing-Rule-Definition') -> + 'Routing-Rule-Definition'; +name2rec('Routing-Rule-Install') -> + 'Routing-Rule-Install'; +name2rec('Routing-Rule-Remove') -> + 'Routing-Rule-Remove'; +name2rec('TDF-Information') -> 'TDF-Information'; +name2rec('Tunnel-Information') -> 'Tunnel-Information'; +name2rec('TFT-Packet-Filter-Information') -> + 'TFT-Packet-Filter-Information'; +name2rec('Usage-Monitoring-Information') -> + 'Usage-Monitoring-Information'; +name2rec('Subscription-Data') -> 'Subscription-Data'; +name2rec('Terminal-Information') -> + 'Terminal-Information'; +name2rec('Requested-EUTRAN-Authentication-Info') -> + 'Requested-EUTRAN-Authentication-Info'; +name2rec('Requested-UTRAN-GERAN-Authentication-Info') -> + 'Requested-UTRAN-GERAN-Authentication-Info'; +name2rec('Authentication-Info') -> + 'Authentication-Info'; +name2rec('E-UTRAN-Vector') -> 'E-UTRAN-Vector'; +name2rec('UTRAN-Vector') -> 'UTRAN-Vector'; +name2rec('GERAN-Vector') -> 'GERAN-Vector'; +name2rec('APN-Configuration-Profile') -> + 'APN-Configuration-Profile'; +name2rec('APN-Configuration') -> 'APN-Configuration'; +name2rec('EPS-Subscribed-QoS-Profile') -> + 'EPS-Subscribed-QoS-Profile'; +name2rec('AMBR') -> 'AMBR'; +name2rec('Trace-Data') -> 'Trace-Data'; +name2rec('GPRS-Subscription-Data') -> + 'GPRS-Subscription-Data'; +name2rec('PDP-Context') -> 'PDP-Context'; +name2rec('CSG-Subscription-Data') -> + 'CSG-Subscription-Data'; +name2rec('Specific-APN-Info') -> 'Specific-APN-Info'; +name2rec('LCS-Info') -> 'LCS-Info'; +name2rec('LCS-PrivacyException') -> + 'LCS-PrivacyException'; +name2rec('External-Client') -> 'External-Client'; +name2rec('Service-Type') -> 'Service-Type'; +name2rec('MO-LR') -> 'MO-LR'; +name2rec('Teleservice-List') -> 'Teleservice-List'; +name2rec('Call-Barring-Info') -> 'Call-Barring-Info'; +name2rec('EPS-User-State') -> 'EPS-User-State'; +name2rec('EPS-Location-Information') -> + 'EPS-Location-Information'; +name2rec('MME-User-State') -> 'MME-User-State'; +name2rec('SGSN-User-State') -> 'SGSN-User-State'; +name2rec('MME-Location-Information') -> + 'MME-Location-Information'; +name2rec('SGSN-Location-Information') -> + 'SGSN-Location-Information'; +name2rec('Active-APN') -> 'Active-APN'; +name2rec('MDT-Configuration') -> 'MDT-Configuration'; +name2rec('Area-Scope') -> 'Area-Scope'; +name2rec('Equivalent-PLMN-List') -> + 'Equivalent-PLMN-List'; +name2rec('VPLMN-CSG-Subscription-Data') -> + 'VPLMN-CSG-Subscription-Data'; +name2rec('Local-Time-Zone') -> 'Local-Time-Zone'; +name2rec('Access-Network-Info-Change') -> + 'Access-Network-Info-Change'; +name2rec('Access-Transfer-Information') -> + 'Access-Transfer-Information'; +name2rec('Accumulated-Cost') -> 'Accumulated-Cost'; +name2rec('Additional-Content-Information') -> + 'Additional-Content-Information'; +name2rec('Address-Domain') -> 'Address-Domain'; +name2rec('AF-Correlation-Information') -> + 'AF-Correlation-Information'; +name2rec('Announcement-Information') -> + 'Announcement-Information'; +name2rec('AoC-Cost-Information') -> + 'AoC-Cost-Information'; +name2rec('AoC-Information') -> 'AoC-Information'; +name2rec('AoC-Service') -> 'AoC-Service'; +name2rec('AoC-Subscription-Information') -> + 'AoC-Subscription-Information'; +name2rec('APN-Rate-Control') -> 'APN-Rate-Control'; +name2rec('APN-Rate-Control-Downlink') -> + 'APN-Rate-Control-Downlink'; +name2rec('APN-Rate-Control-Uplink') -> + 'APN-Rate-Control-Uplink'; +name2rec('Application-Server-Information') -> + 'Application-Server-Information'; +name2rec('Basic-Service-Code') -> 'Basic-Service-Code'; +name2rec('Called-Identity-Change') -> + 'Called-Identity-Change'; +name2rec('Coverage-Info') -> 'Coverage-Info'; +name2rec('CPDT-Information') -> 'CPDT-Information'; +name2rec('Current-Tariff') -> 'Current-Tariff'; +name2rec('Destination-Interface') -> + 'Destination-Interface'; +name2rec('Early-Media-Description') -> + 'Early-Media-Description'; +name2rec('Enhanced-Diagnostics') -> + 'Enhanced-Diagnostics'; +name2rec('Envelope') -> 'Envelope'; +name2rec('Event-Type') -> 'Event-Type'; +name2rec('Incremental-Cost') -> 'Incremental-Cost'; +name2rec('IMS-Information') -> 'IMS-Information'; +name2rec('Inter-Operator-Identifier') -> + 'Inter-Operator-Identifier'; +name2rec('ISUP-Cause') -> 'ISUP-Cause'; +name2rec('LCS-Client-ID') -> 'LCS-Client-ID'; +name2rec('LCS-Client-Name') -> 'LCS-Client-Name'; +name2rec('LCS-Information') -> 'LCS-Information'; +name2rec('LCS-Requestor-ID') -> 'LCS-Requestor-ID'; +name2rec('Location-Info') -> 'Location-Info'; +name2rec('Location-Type') -> 'Location-Type'; +name2rec('MBMS-Information') -> 'MBMS-Information'; +name2rec('Message-Body') -> 'Message-Body'; +name2rec('Message-Class') -> 'Message-Class'; +name2rec('MM-Content-Type') -> 'MM-Content-Type'; +name2rec('MMS-Information') -> 'MMS-Information'; +name2rec('MMTel-Information') -> 'MMTel-Information'; +name2rec('Monitoring-Event-Information') -> + 'Monitoring-Event-Information'; +name2rec('Monitoring-Event-Report-Data') -> + 'Monitoring-Event-Report-Data'; +name2rec('Next-Tariff') -> 'Next-Tariff'; +name2rec('NIDD-Submission') -> 'NIDD-Submission'; +name2rec('NNI-Information') -> 'NNI-Information'; +name2rec('Offline-Charging') -> 'Offline-Charging'; +name2rec('Originator-Address') -> 'Originator-Address'; +name2rec('Originator-Interface') -> + 'Originator-Interface'; +name2rec('Originator-Received-Address') -> + 'Originator-Received-Address'; +name2rec('Participant-Group') -> 'Participant-Group'; +name2rec('PoC-Information') -> 'PoC-Information'; +name2rec('PoC-User-Role') -> 'PoC-User-Role'; +name2rec('ProSe-Direct-Communication-Reception-Data-Container') -> + 'ProSe-Direct-Communication-Reception-Data-Container'; +name2rec('ProSe-Direct-Communication-Transmission-Data-Container') -> + 'ProSe-Direct-Communication-Transmission-Data-Container'; +name2rec('ProSe-Information') -> 'ProSe-Information'; +name2rec('PS-Furnish-Charging-Information') -> + 'PS-Furnish-Charging-Information'; +name2rec('PS-Information') -> 'PS-Information'; +name2rec('Radio-Parameter-Set-Info') -> + 'Radio-Parameter-Set-Info'; +name2rec('RAN-Secondary-RAT-Usage-Report') -> + 'RAN-Secondary-RAT-Usage-Report'; +name2rec('Rate-Element') -> 'Rate-Element'; +name2rec('Real-Time-Tariff-Information') -> + 'Real-Time-Tariff-Information'; +name2rec('Recipient-Address') -> 'Recipient-Address'; +name2rec('Recipient-Info') -> 'Recipient-Info'; +name2rec('Recipient-Received-Address') -> + 'Recipient-Received-Address'; +name2rec('Related-Change-Condition-Information') -> + 'Related-Change-Condition-Information'; +name2rec('Related-Trigger') -> 'Related-Trigger'; +name2rec('Remaining-Balance') -> 'Remaining-Balance'; +name2rec('Scale-Factor') -> 'Scale-Factor'; +name2rec('SCS-AS-Address') -> 'SCS-AS-Address'; +name2rec('SDP-Media-Component') -> + 'SDP-Media-Component'; +name2rec('SDP-TimeStamps') -> 'SDP-TimeStamps'; +name2rec('Service-Data-Container') -> + 'Service-Data-Container'; +name2rec('Service-Information') -> + 'Service-Information'; +name2rec('Service-Specific-Info') -> + 'Service-Specific-Info'; +name2rec('SM-Device-Trigger-Information') -> + 'SM-Device-Trigger-Information'; +name2rec('SMS-Information') -> 'SMS-Information'; +name2rec('Supplementary-Service') -> + 'Supplementary-Service'; +name2rec('Talk-Burst-Exchange') -> + 'Talk-Burst-Exchange'; +name2rec('Tariff-Information') -> 'Tariff-Information'; +name2rec('Time-Quota-Mechanism') -> + 'Time-Quota-Mechanism'; +name2rec('Time-Stamps') -> 'Time-Stamps'; +name2rec('Traffic-Data-Volumes') -> + 'Traffic-Data-Volumes'; +name2rec('Transmitter-Info') -> 'Transmitter-Info'; +name2rec('Trigger') -> 'Trigger'; +name2rec('Trunk-Group-Id') -> 'Trunk-Group-Id'; +name2rec('TWAN-User-Location-Info') -> + 'TWAN-User-Location-Info'; +name2rec('Unit-Cost') -> 'Unit-Cost'; +name2rec('User-CSG-Information') -> + 'User-CSG-Information'; +name2rec('UWAN-User-Location-Info') -> + 'UWAN-User-Location-Info'; +name2rec('Variable-Part') -> 'Variable-Part'; +name2rec('VCS-Information') -> 'VCS-Information'; +name2rec('Cost-Information') -> 'Cost-Information'; +name2rec('Unit-Value') -> 'Unit-Value'; +name2rec('Multiple-Services-Credit-Control') -> + 'Multiple-Services-Credit-Control'; +name2rec('Granted-Service-Unit') -> + 'Granted-Service-Unit'; +name2rec('Requested-Service-Unit') -> + 'Requested-Service-Unit'; +name2rec('Used-Service-Unit') -> 'Used-Service-Unit'; +name2rec('CC-Money') -> 'CC-Money'; +name2rec('G-S-U-Pool-Reference') -> + 'G-S-U-Pool-Reference'; +name2rec('Final-Unit-Indication') -> + 'Final-Unit-Indication'; +name2rec('Redirect-Server') -> 'Redirect-Server'; +name2rec('Service-Parameter-Info') -> + 'Service-Parameter-Info'; +name2rec('Subscription-Id') -> 'Subscription-Id'; +name2rec('User-Equipment-Info') -> + 'User-Equipment-Info'; +name2rec('OC-Supported-Features') -> + 'OC-Supported-Features'; +name2rec('OC-OLR') -> 'OC-OLR'; +name2rec(T) -> msg2rec(T). + +avp_name(318, 10415) -> + {'3GPP-AAA-Server-Name', 'DiameterIdentity'}; +avp_name(1518, 10415) -> + {'AAA-Failure-Indication', 'Unsigned32'}; +avp_name(1539, 10415) -> {'AAR-Flags', 'Unsigned32'}; +avp_name(1503, 10415) -> {'AN-Trusted', 'Enumerated'}; +avp_name(1504, 10415) -> {'ANID', 'UTF8String'}; +avp_name(1511, 10415) -> + {'Access-Authorization-Flags', 'Unsigned32'}; +avp_name(1526, 10415) -> + {'Access-Network-Info', 'Grouped'}; +avp_name(1529, 10415) -> + {'Connectivity-Flags', 'Unsigned32'}; +avp_name(1521, 10415) -> {'DEA-Flags', 'Unsigned32'}; +avp_name(1520, 10415) -> {'DER-Flags', 'Unsigned32'}; +avp_name(1523, 10415) -> + {'DER-S6b-Flags', 'Unsigned32'}; +avp_name(1541, 10415) -> + {'ERP-Authorization', 'Unsigned32'}; +avp_name(1538, 10415) -> + {'Emergency-Services', 'Unsigned32'}; +avp_name(1516, 10415) -> + {'Full-Network-Name', 'OctetString'}; +avp_name(1525, 10415) -> {'HESSID', 'UTF8String'}; +avp_name(1540, 10415) -> + {'IMEI-Check-In-VPLMN-Result', 'Unsigned32'}; +avp_name(1506, 10415) -> {'MIP-FA-RK', 'OctetString'}; +avp_name(1507, 10415) -> + {'MIP-FA-RK-SPI', 'Unsigned32'}; +avp_name(124, undefined) -> + {'MIP6-Feature-Vector', 'Unsigned64'}; +avp_name(1537, 10415) -> + {'Maximum-Wait-Time', 'Unsigned32'}; +avp_name(506, undefined) -> + {'Mobile-Node-Identifier', 'UTF8String'}; +avp_name(1501, 10415) -> + {'Non-3GPP-IP-Access', 'Enumerated'}; +avp_name(1502, 10415) -> + {'Non-3GPP-IP-Access-APN', 'Enumerated'}; +avp_name(1500, 10415) -> + {'Non-3GPP-User-Data', 'Grouped'}; +avp_name(1536, 10415) -> + {'Origination-Time-Stamp', 'Unsigned64'}; +avp_name(1508, 10415) -> {'PPR-Flags', 'Unsigned32'}; +avp_name(1522, 10415) -> {'RAR-Flags', 'Unsigned32'}; +avp_name(1534, 10415) -> + {'SM-Back-Off-Timer', 'Unsigned32'}; +avp_name(1524, 10415) -> {'SSID', 'UTF8String'}; +avp_name(1517, 10415) -> + {'Short-Network-Name', 'OctetString'}; +avp_name(1531, 10415) -> {'TWAG-CP-Address', 'Address'}; +avp_name(1532, 10415) -> + {'TWAG-UP-Address', 'UTF8String'}; +avp_name(1510, 10415) -> + {'TWAN-Access-Info', 'Grouped'}; +avp_name(1527, 10415) -> + {'TWAN-Connection-Mode', 'Unsigned32'}; +avp_name(1528, 10415) -> + {'TWAN-Connectivity-Parameters', 'Grouped'}; +avp_name(1512, 10415) -> + {'TWAN-Default-APN-Context-Id', 'Unsigned32'}; +avp_name(1530, 10415) -> {'TWAN-PCO', 'OctetString'}; +avp_name(1533, 10415) -> + {'TWAN-S2a-Failure-Cause', 'Unsigned32'}; +avp_name(1505, 10415) -> {'Trace-Info', 'Grouped'}; +avp_name(1519, 10415) -> + {'Transport-Access-Type', 'Enumerated'}; +avp_name(1509, 10415) -> {'WLAN-Identifier', 'Grouped'}; +avp_name(1535, 10415) -> {'WLCP-Key', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(1427, 10415) -> + {'APN-OI-Replacement', 'UTF8String'}; +avp_name(1687, 10415) -> {'Emergency-Info', 'Grouped'}; +avp_name(1474, 10415) -> {'GMLC-Number', 'OctetString'}; +avp_name(1489, 10415) -> {'SGSN-Number', 'OctetString'}; +avp_name(1050, 10415) -> {'AN-GW-Address', 'Address'}; +avp_name(2811, 10415) -> {'AN-GW-Status', 'Enumerated'}; +avp_name(1040, 10415) -> + {'APN-Aggregate-Max-Bitrate-DL', 'Unsigned32'}; +avp_name(1041, 10415) -> + {'APN-Aggregate-Max-Bitrate-UL', 'Unsigned32'}; +avp_name(1022, 10415) -> + {'Access-Network-Charging-Identifier-Gx', 'Grouped'}; +avp_name(1034, 10415) -> + {'Allocation-Retention-Priority', 'Grouped'}; +avp_name(1098, 10415) -> + {'Application-Detection-Information', 'Grouped'}; +avp_name(1023, 10415) -> + {'Bearer-Control-Mode', 'Enumerated'}; +avp_name(1020, 10415) -> + {'Bearer-Identifier', 'OctetString'}; +avp_name(1021, 10415) -> + {'Bearer-Operation', 'Enumerated'}; +avp_name(1000, 10415) -> {'Bearer-Usage', 'Enumerated'}; +avp_name(1071, 10415) -> + {'CSG-Information-Reporting', 'Enumerated'}; +avp_name(1073, 10415) -> + {'Charging-Correlation-Indicator', 'Enumerated'}; +avp_name(1004, 10415) -> + {'Charging-Rule-Base-Name', 'UTF8String'}; +avp_name(1003, 10415) -> + {'Charging-Rule-Definition', 'Grouped'}; +avp_name(1001, 10415) -> + {'Charging-Rule-Install', 'Grouped'}; +avp_name(1005, 10415) -> + {'Charging-Rule-Name', 'OctetString'}; +avp_name(1002, 10415) -> + {'Charging-Rule-Remove', 'Grouped'}; +avp_name(1018, 10415) -> + {'Charging-Rule-Report', 'Grouped'}; +avp_name(1035, 10415) -> {'CoA-IP-Address', 'Address'}; +avp_name(1039, 10415) -> {'CoA-Information', 'Grouped'}; +avp_name(2818, 10415) -> + {'Conditional-APN-Aggregate-Max-Bitrate', 'Grouped'}; +avp_name(1082, 10415) -> + {'Credit-Management-Status', 'Unsigned32'}; +avp_name(1049, 10415) -> + {'Default-EPS-Bearer-QoS', 'Grouped'}; +avp_name(2816, 10415) -> + {'Default-QoS-Information', 'Grouped'}; +avp_name(2817, 10415) -> + {'Default-QoS-Name', 'UTF8String'}; +avp_name(1033, 10415) -> + {'Event-Report-Indication', 'Grouped'}; +avp_name(1006, 10415) -> + {'Event-Trigger', 'Enumerated'}; +avp_name(2825, 10415) -> + {'Fixed-User-Location-Info', 'Grouped'}; +avp_name(1080, 10415) -> + {'Flow-Direction', 'Enumerated'}; +avp_name(1058, 10415) -> + {'Flow-Information', 'Grouped'}; +avp_name(1057, 10415) -> {'Flow-Label', 'OctetString'}; +avp_name(1025, 10415) -> + {'Guaranteed-Bitrate-DL', 'Unsigned32'}; +avp_name(1026, 10415) -> + {'Guaranteed-Bitrate-UL', 'Unsigned32'}; +avp_name(2804, 10415) -> + {'HeNB-Local-IP-Address', 'Address'}; +avp_name(2827, 10415) -> + {'IP-CAN-Session-Charging-Scope', 'Enumerated'}; +avp_name(1027, 10415) -> {'IP-CAN-Type', 'Enumerated'}; +avp_name(1007, 10415) -> + {'Metering-Method', 'Enumerated'}; +avp_name(1066, 10415) -> + {'Monitoring-Key', 'OctetString'}; +avp_name(2810, 10415) -> {'Monitoring-Time', 'Time'}; +avp_name(2809, 10415) -> + {'Mute-Notification', 'Enumerated'}; +avp_name(2824, 10415) -> + {'NetLoc-Access-Support', 'Unsigned32'}; +avp_name(1024, 10415) -> + {'Network-Request-Support', 'Enumerated'}; +avp_name(1008, 10415) -> {'Offline', 'Enumerated'}; +avp_name(1009, 10415) -> {'Online', 'Enumerated'}; +avp_name(1019, 10415) -> + {'PCC-Rule-Status', 'Enumerated'}; +avp_name(2826, 10415) -> + {'PCSCF-Restoration-Indication', 'Unsigned32'}; +avp_name(1065, 10415) -> + {'PDN-Connection-ID', 'OctetString'}; +avp_name(1099, 10415) -> + {'PS-to-CS-Session-Continuity', 'Enumerated'}; +avp_name(1059, 10415) -> + {'Packet-Filter-Content', 'IPFilterRule'}; +avp_name(1060, 10415) -> + {'Packet-Filter-Identifier', 'OctetString'}; +avp_name(1061, 10415) -> + {'Packet-Filter-Information', 'Grouped'}; +avp_name(1062, 10415) -> + {'Packet-Filter-Operation', 'Enumerated'}; +avp_name(1072, 10415) -> + {'Packet-Filter-Usage', 'Enumerated'}; +avp_name(1047, 10415) -> + {'Pre-emption-Capability', 'Enumerated'}; +avp_name(1048, 10415) -> + {'Pre-emption-Vulnerability', 'Enumerated'}; +avp_name(1010, 10415) -> {'Precedence', 'Unsigned32'}; +avp_name(2820, 10415) -> + {'Presence-Reporting-Area-Elements-List', + 'OctetString'}; +avp_name(2821, 10415) -> + {'Presence-Reporting-Area-Identifier', 'OctetString'}; +avp_name(2822, 10415) -> + {'Presence-Reporting-Area-Information', 'Grouped'}; +avp_name(2823, 10415) -> + {'Presence-Reporting-Area-Status', 'Unsigned32'}; +avp_name(1046, 10415) -> + {'Priority-Level', 'Unsigned32'}; +avp_name(1028, 10415) -> + {'QoS-Class-Identifier', 'Enumerated'}; +avp_name(1016, 10415) -> {'QoS-Information', 'Grouped'}; +avp_name(1029, 10415) -> + {'QoS-Negotiation', 'Enumerated'}; +avp_name(1030, 10415) -> {'QoS-Upgrade', 'Enumerated'}; +avp_name(2819, 10415) -> + {'RAN-NAS-Release-Cause', 'OctetString'}; +avp_name(1032, 10415) -> {'RAT-Type', 'Enumerated'}; +avp_name(1085, 10415) -> + {'Redirect-Information', 'Grouped'}; +avp_name(1086, 10415) -> + {'Redirect-Support', 'Enumerated'}; +avp_name(1011, 10415) -> + {'Reporting-Level', 'Enumerated'}; +avp_name(1063, 10415) -> + {'Resource-Allocation-Notification', 'Enumerated'}; +avp_name(1042, 10415) -> {'Revalidation-Time', 'Time'}; +avp_name(1078, 10415) -> {'Routing-Filter', 'Grouped'}; +avp_name(1079, 10415) -> + {'Routing-IP-Address', 'Address'}; +avp_name(1076, 10415) -> + {'Routing-Rule-Definition', 'Grouped'}; +avp_name(1077, 10415) -> + {'Routing-Rule-Identifier', 'OctetString'}; +avp_name(1081, 10415) -> + {'Routing-Rule-Install', 'Grouped'}; +avp_name(1075, 10415) -> + {'Routing-Rule-Remove', 'Grouped'}; +avp_name(1043, 10415) -> + {'Rule-Activation-Time', 'Time'}; +avp_name(1044, 10415) -> + {'Rule-Deactivation-Time', 'Time'}; +avp_name(1031, 10415) -> + {'Rule-Failure-Code', 'Enumerated'}; +avp_name(1056, 10415) -> + {'Security-Parameter-Index', 'OctetString'}; +avp_name(1045, 10415) -> + {'Session-Release-Cause', 'Enumerated'}; +avp_name(1088, 10415) -> + {'TDF-Application-Identifier', 'OctetString'}; +avp_name(2802, 10415) -> + {'TDF-Application-Instance-Identifier', 'OctetString'}; +avp_name(1089, 10415) -> + {'TDF-Destination-Host', 'DiameterIdentity'}; +avp_name(1090, 10415) -> + {'TDF-Destination-Realm', 'DiameterIdentity'}; +avp_name(1091, 10415) -> {'TDF-IP-Address', 'Address'}; +avp_name(1087, 10415) -> {'TDF-Information', 'Grouped'}; +avp_name(1012, 10415) -> {'TFT-Filter', 'IPFilterRule'}; +avp_name(1013, 10415) -> + {'TFT-Packet-Filter-Information', 'Grouped'}; +avp_name(1014, 10415) -> + {'ToS-Traffic-Class', 'OctetString'}; +avp_name(1036, 10415) -> + {'Tunnel-Header-Filter', 'IPFilterRule'}; +avp_name(1037, 10415) -> + {'Tunnel-Header-Length', 'Unsigned32'}; +avp_name(1038, 10415) -> + {'Tunnel-Information', 'Grouped'}; +avp_name(2806, 10415) -> + {'UDP-Source-Port', 'Unsigned32'}; +avp_name(2805, 10415) -> + {'UE-Local-IP-Address', 'Address'}; +avp_name(1067, 10415) -> + {'Usage-Monitoring-Information', 'Grouped'}; +avp_name(1068, 10415) -> + {'Usage-Monitoring-Level', 'Enumerated'}; +avp_name(1069, 10415) -> + {'Usage-Monitoring-Report', 'Enumerated'}; +avp_name(1070, 10415) -> + {'Usage-Monitoring-Support', 'Enumerated'}; +avp_name(2812, 10415) -> + {'User-Location-Info-Time', 'Time'}; +avp_name(1471, 10415) -> {'3GPP2-MEID', 'OctetString'}; +avp_name(1643, 10415) -> {'A-MSISDN', 'OctetString'}; +avp_name(1435, 10415) -> {'AMBR', 'Grouped'}; +avp_name(1430, 10415) -> + {'APN-Configuration', 'Grouped'}; +avp_name(1429, 10415) -> + {'APN-Configuration-Profile', 'Grouped'}; +avp_name(1449, 10415) -> {'AUTN', 'OctetString'}; +avp_name(1426, 10415) -> + {'Access-Restriction-Data', 'Unsigned32'}; +avp_name(1612, 10415) -> {'Active-APN', 'Grouped'}; +avp_name(1611, 10415) -> + {'Age-Of-Location-Information', 'Unsigned32'}; +avp_name(1434, 10415) -> {'Alert-Reason', 'Enumerated'}; +avp_name(1428, 10415) -> + {'All-APN-Configurations-Included-Indicator', + 'Enumerated'}; +avp_name(1624, 10415) -> {'Area-Scope', 'Grouped'}; +avp_name(1413, 10415) -> + {'Authentication-Info', 'Grouped'}; +avp_name(1638, 10415) -> {'CLR-Flags', 'Unsigned32'}; +avp_name(1437, 10415) -> {'CSG-Id', 'Unsigned32'}; +avp_name(1436, 10415) -> + {'CSG-Subscription-Data', 'Grouped'}; +avp_name(1488, 10415) -> + {'Call-Barring-Info', 'Grouped'}; +avp_name(1420, 10415) -> + {'Cancellation-Type', 'Enumerated'}; +avp_name(1604, 10415) -> + {'Cell-Global-Identity', 'OctetString'}; +avp_name(1480, 10415) -> + {'Client-Identity', 'OctetString'}; +avp_name(1657, 10415) -> + {'Collection-Period-RRM-LTE', 'Enumerated'}; +avp_name(1658, 10415) -> + {'Collection-Period-RRM-UMTS', 'Enumerated'}; +avp_name(1468, 10415) -> + {'Complete-Data-List-Included-Indicator', 'Enumerated'}; +avp_name(1423, 10415) -> + {'Context-Identifier', 'Unsigned32'}; +avp_name(1704, 10415) -> + {'Core-Network-Restrictions', 'Unsigned32'}; +avp_name(1610, 10415) -> + {'Current-Location-Retrieved', 'Enumerated'}; +avp_name(1422, 10415) -> {'DSA-Flags', 'Unsigned32'}; +avp_name(1421, 10415) -> {'DSR-Flags', 'Unsigned32'}; +avp_name(1650, 10415) -> + {'Daylight-Saving-Time', 'Enumerated'}; +avp_name(1602, 10415) -> + {'E-UTRAN-Cell-Global-Identity', 'OctetString'}; +avp_name(1414, 10415) -> {'E-UTRAN-Vector', 'Grouped'}; +avp_name(1496, 10415) -> + {'EPS-Location-Information', 'Grouped'}; +avp_name(1431, 10415) -> + {'EPS-Subscribed-QoS-Profile', 'Grouped'}; +avp_name(1495, 10415) -> {'EPS-User-State', 'Grouped'}; +avp_name(1445, 10415) -> + {'Equipment-Status', 'Enumerated'}; +avp_name(1637, 10415) -> + {'Equivalent-PLMN-List', 'Grouped'}; +avp_name(1614, 10415) -> + {'Error-Diagnostic', 'Enumerated'}; +avp_name(1661, 10415) -> + {'Event-Threshold-Event-1F', 'Integer32'}; +avp_name(1662, 10415) -> + {'Event-Threshold-Event-1I', 'Integer32'}; +avp_name(1629, 10415) -> + {'Event-Threshold-RSRP', 'Unsigned32'}; +avp_name(1630, 10415) -> + {'Event-Threshold-RSRQ', 'Unsigned32'}; +avp_name(1439, 10415) -> {'Expiration-Date', 'Time'}; +avp_name(1621, 10415) -> {'Ext-PDP-Address', 'Address'}; +avp_name(1620, 10415) -> + {'Ext-PDP-Type', 'OctetString'}; +avp_name(1479, 10415) -> {'External-Client', 'Grouped'}; +avp_name(1416, 10415) -> {'GERAN-Vector', 'Grouped'}; +avp_name(1481, 10415) -> + {'GMLC-Restriction', 'Enumerated'}; +avp_name(1467, 10415) -> + {'GPRS-Subscription-Data', 'Grouped'}; +avp_name(1609, 10415) -> + {'Geodetic-Information', 'OctetString'}; +avp_name(1608, 10415) -> + {'Geographical-Information', 'OctetString'}; +avp_name(1418, 10415) -> {'HPLMN-ODB', 'Unsigned32'}; +avp_name(1493, 10415) -> + {'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + 'Enumerated'}; +avp_name(1491, 10415) -> + {'ICS-Indicator', 'Enumerated'}; +avp_name(1441, 10415) -> {'IDA-Flags', 'Unsigned32'}; +avp_name(1490, 10415) -> {'IDR-Flags', 'Unsigned32'}; +avp_name(1402, 10415) -> {'IMEI', 'UTF8String'}; +avp_name(1492, 10415) -> + {'IMS-Voice-Over-PS-Sessions-Supported', 'Enumerated'}; +avp_name(1412, 10415) -> + {'Immediate-Response-Preferred', 'Unsigned32'}; +avp_name(1419, 10415) -> {'Item-Number', 'Unsigned32'}; +avp_name(1623, 10415) -> {'Job-Type', 'Enumerated'}; +avp_name(1450, 10415) -> {'KASME', 'OctetString'}; +avp_name(1453, 10415) -> {'Kc', 'OctetString'}; +avp_name(1473, 10415) -> {'LCS-Info', 'Grouped'}; +avp_name(1475, 10415) -> + {'LCS-PrivacyException', 'Grouped'}; +avp_name(1618, 10415) -> + {'LIPA-Permission', 'Enumerated'}; +avp_name(1494, 10415) -> + {'Last-UE-Activity-Time', 'Time'}; +avp_name(1625, 10415) -> + {'List-Of-Measurements', 'Unsigned32'}; +avp_name(1649, 10415) -> {'Local-Time-Zone', 'Grouped'}; +avp_name(1606, 10415) -> + {'Location-Area-Identity', 'OctetString'}; +avp_name(1632, 10415) -> + {'Logging-Duration', 'Enumerated'}; +avp_name(1631, 10415) -> + {'Logging-Interval', 'Enumerated'}; +avp_name(1622, 10415) -> + {'MDT-Configuration', 'Grouped'}; +avp_name(1634, 10415) -> + {'MDT-User-Consent', 'Enumerated'}; +avp_name(1600, 10415) -> + {'MME-Location-Information', 'Grouped'}; +avp_name(1645, 10415) -> + {'MME-Number-for-MT-SMS', 'OctetString'}; +avp_name(1497, 10415) -> {'MME-User-State', 'Grouped'}; +avp_name(1485, 10415) -> {'MO-LR', 'Grouped'}; +avp_name(1616, 10415) -> {'MPS-Priority', 'Unsigned32'}; +avp_name(1656, 10415) -> + {'Measurement-Period-LTE', 'Enumerated'}; +avp_name(1655, 10415) -> + {'Measurement-Period-UMTS', 'Enumerated'}; +avp_name(1660, 10415) -> + {'Measurement-Quantity', 'OctetString'}; +avp_name(1443, 10415) -> {'NOR-Flags', 'Unsigned32'}; +avp_name(1417, 10415) -> + {'Network-Access-Mode', 'Enumerated'}; +avp_name(1478, 10415) -> + {'Notification-To-UE-User', 'Enumerated'}; +avp_name(1410, 10415) -> + {'Number-Of-Requested-Vectors', 'Unsigned32'}; +avp_name(1466, 10415) -> {'OMC-Id', 'OctetString'}; +avp_name(1425, 10415) -> + {'Operator-Determined-Barring', 'Unsigned32'}; +avp_name(1438, 10415) -> + {'PDN-GW-Allocation-Type', 'Enumerated'}; +avp_name(1456, 10415) -> {'PDN-Type', 'Enumerated'}; +avp_name(1469, 10415) -> {'PDP-Context', 'Grouped'}; +avp_name(1470, 10415) -> {'PDP-Type', 'OctetString'}; +avp_name(1482, 10415) -> {'PLMN-Client', 'Enumerated'}; +avp_name(1442, 10415) -> {'PUA-Flags', 'Unsigned32'}; +avp_name(1635, 10415) -> {'PUR-Flags', 'Unsigned32'}; +avp_name(1659, 10415) -> + {'Positioning-Method', 'OctetString'}; +avp_name(1404, 10415) -> + {'QoS-Subscribed', 'OctetString'}; +avp_name(1447, 10415) -> {'RAND', 'OctetString'}; +avp_name(1440, 10415) -> + {'RAT-Frequency-Selection-Priority-ID', 'Unsigned32'}; +avp_name(1411, 10415) -> + {'Re-Synchronization-Info', 'OctetString'}; +avp_name(1446, 10415) -> + {'Regional-Subscription-Zone-Code', 'OctetString'}; +avp_name(1633, 10415) -> + {'Relay-Node-Indicator', 'Enumerated'}; +avp_name(1628, 10415) -> + {'Report-Amount', 'Enumerated'}; +avp_name(1627, 10415) -> + {'Report-Interval', 'Enumerated'}; +avp_name(1626, 10415) -> + {'Reporting-Trigger', 'Unsigned32'}; +avp_name(1408, 10415) -> + {'Requested-EUTRAN-Authentication-Info', 'Grouped'}; +avp_name(1409, 10415) -> + {'Requested-UTRAN-GERAN-Authentication-Info', + 'Grouped'}; +avp_name(1663, 10415) -> + {'Restoration-Priority', 'Unsigned32'}; +avp_name(1457, 10415) -> + {'Roaming-Restricted-Due-To-Unsupported-Feature', + 'Enumerated'}; +avp_name(1605, 10415) -> + {'Routing-Area-Identity', 'OctetString'}; +avp_name(1601, 10415) -> + {'SGSN-Location-Information', 'Grouped'}; +avp_name(1498, 10415) -> {'SGSN-User-State', 'Grouped'}; +avp_name(1613, 10415) -> + {'SIPTO-Permission', 'Enumerated'}; +avp_name(1648, 10415) -> + {'SMS-Register-Request', 'Enumerated'}; +avp_name(1454, 10415) -> {'SRES', 'OctetString'}; +avp_name(1476, 10415) -> {'SS-Code', 'OctetString'}; +avp_name(1477, 10415) -> {'SS-Status', 'OctetString'}; +avp_name(1433, 10415) -> {'STN-SR', 'OctetString'}; +avp_name(1607, 10415) -> + {'Service-Area-Identity', 'OctetString'}; +avp_name(1483, 10415) -> {'Service-Type', 'Grouped'}; +avp_name(1484, 10415) -> + {'ServiceTypeIdentity', 'Unsigned32'}; +avp_name(1403, 10415) -> + {'Software-Version', 'UTF8String'}; +avp_name(1472, 10415) -> + {'Specific-APN-Info', 'Grouped'}; +avp_name(1619, 10415) -> + {'Subscribed-Periodic-RAU-TAU-Timer', 'Unsigned32'}; +avp_name(1636, 10415) -> + {'Subscribed-VSRVCC', 'Enumerated'}; +avp_name(1424, 10415) -> + {'Subscriber-Status', 'Enumerated'}; +avp_name(1400, 10415) -> + {'Subscription-Data', 'Grouped'}; +avp_name(1654, 10415) -> + {'Subscription-Data-Flags', 'Unsigned32'}; +avp_name(1487, 10415) -> {'TS-Code', 'OctetString'}; +avp_name(1486, 10415) -> + {'Teleservice-List', 'Grouped'}; +avp_name(1401, 10415) -> + {'Terminal-Information', 'Grouped'}; +avp_name(1642, 10415) -> {'Time-Zone', 'UTF8String'}; +avp_name(1452, 10415) -> + {'Trace-Collection-Entity', 'Address'}; +avp_name(1458, 10415) -> {'Trace-Data', 'Grouped'}; +avp_name(1462, 10415) -> {'Trace-Depth', 'Enumerated'}; +avp_name(1465, 10415) -> + {'Trace-Event-List', 'OctetString'}; +avp_name(1464, 10415) -> + {'Trace-Interface-List', 'OctetString'}; +avp_name(1463, 10415) -> + {'Trace-NE-Type-List', 'OctetString'}; +avp_name(1459, 10415) -> + {'Trace-Reference', 'OctetString'}; +avp_name(1603, 10415) -> + {'Tracking-Area-Identity', 'OctetString'}; +avp_name(1615, 10415) -> + {'UE-SRVCC-Capability', 'Enumerated'}; +avp_name(1680, 10415) -> + {'UE-Usage-Type', 'Unsigned32'}; +avp_name(1406, 10415) -> {'ULA-Flags', 'Unsigned32'}; +avp_name(1405, 10415) -> {'ULR-Flags', 'Unsigned32'}; +avp_name(1415, 10415) -> {'UTRAN-Vector', 'Grouped'}; +avp_name(1640, 10415) -> {'UVA-Flags', 'Unsigned32'}; +avp_name(1639, 10415) -> {'UVR-Flags', 'Unsigned32'}; +avp_name(1444, 10415) -> {'User-Id', 'UTF8String'}; +avp_name(1499, 10415) -> {'User-State', 'Enumerated'}; +avp_name(1641, 10415) -> + {'VPLMN-CSG-Subscription-Data', 'Grouped'}; +avp_name(1432, 10415) -> + {'VPLMN-Dynamic-Address-Allowed', 'Enumerated'}; +avp_name(1617, 10415) -> + {'VPLMN-LIPA-Allowed', 'Enumerated'}; +avp_name(1407, 10415) -> + {'Visited-PLMN-Id', 'OctetString'}; +avp_name(1448, 10415) -> {'XRES', 'OctetString'}; +avp_name(4406, 10415) -> + {'3GPP-PS-Data-Off-Status', 'Enumerated'}; +avp_name(1276, 10415) -> + {'AF-Correlation-Information', 'Grouped'}; +avp_name(3933, 10415) -> + {'APN-Rate-Control', 'Grouped'}; +avp_name(3934, 10415) -> + {'APN-Rate-Control-Downlink', 'Grouped'}; +avp_name(3935, 10415) -> + {'APN-Rate-Control-Uplink', 'Grouped'}; +avp_name(4401, 10415) -> + {'Access-Network-Info-Change', 'Grouped'}; +avp_name(1263, 10415) -> + {'Access-Network-Information', 'OctetString'}; +avp_name(2709, 10415) -> + {'Access-Transfer-Information', 'Grouped'}; +avp_name(2710, 10415) -> + {'Access-Transfer-Type', 'Enumerated'}; +avp_name(2309, 10415) -> {'Account-Expiration', 'Time'}; +avp_name(2052, 10415) -> + {'Accumulated-Cost', 'Grouped'}; +avp_name(1217, 10415) -> {'Adaptations', 'Enumerated'}; +avp_name(1207, 10415) -> + {'Additional-Content-Information', 'Grouped'}; +avp_name(3936, 10415) -> + {'Additional-Exception-Reports', 'Enumerated'}; +avp_name(1205, 10415) -> + {'Additional-Type-Information', 'UTF8String'}; +avp_name(897, 10415) -> {'Address-Data', 'UTF8String'}; +avp_name(898, 10415) -> {'Address-Domain', 'Grouped'}; +avp_name(899, 10415) -> {'Address-Type', 'Enumerated'}; +avp_name(1208, 10415) -> + {'Addressee-Type', 'Enumerated'}; +avp_name(1280, 10415) -> + {'Alternate-Charged-Party-Address', 'UTF8String'}; +avp_name(3905, 10415) -> + {'Announcement-Identifier', 'Unsigned32'}; +avp_name(3904, 10415) -> + {'Announcement-Information', 'Grouped'}; +avp_name(3906, 10415) -> + {'Announcement-Order', 'Unsigned32'}; +avp_name(4408, 10415) -> + {'Announcing-PLMN-ID', 'UTF8String'}; +avp_name(3426, 10415) -> + {'Announcing-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3427, 10415) -> + {'Announcing-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(2053, 10415) -> + {'AoC-Cost-Information', 'Grouped'}; +avp_name(2310, 10415) -> {'AoC-Format', 'Enumerated'}; +avp_name(2054, 10415) -> {'AoC-Information', 'Grouped'}; +avp_name(2055, 10415) -> + {'AoC-Request-Type', 'Enumerated'}; +avp_name(2311, 10415) -> {'AoC-Service', 'Grouped'}; +avp_name(2312, 10415) -> + {'AoC-Service-Obligatory-Type', 'Enumerated'}; +avp_name(2313, 10415) -> + {'AoC-Service-Type', 'Enumerated'}; +avp_name(2314, 10415) -> + {'AoC-Subscription-Information', 'Grouped'}; +avp_name(1218, 10415) -> {'Applic-ID', 'UTF8String'}; +avp_name(837, 10415) -> + {'Application-Provided-Called-Party-Address', + 'UTF8String'}; +avp_name(836, 10415) -> + {'Application-Server', 'UTF8String'}; +avp_name(850, 10415) -> + {'Application-Server-Information', 'Grouped'}; +avp_name(3458, 10415) -> + {'Application-Specific-Data', 'OctetString'}; +avp_name(2035, 10415) -> + {'Associated-Party-Address', 'UTF8String'}; +avp_name(856, 10415) -> + {'Associated-URI', 'UTF8String'}; +avp_name(849, 10415) -> + {'Authorised-QoS', 'UTF8String'}; +avp_name(1219, 10415) -> + {'Aux-Applic-Info', 'UTF8String'}; +avp_name(2716, 10415) -> {'BSSID', 'UTF8String'}; +avp_name(1265, 10415) -> + {'Base-Time-Interval', 'Unsigned32'}; +avp_name(3411, 10415) -> + {'Basic-Service-Code', 'Grouped'}; +avp_name(3412, 10415) -> + {'Bearer-Capability', 'OctetString'}; +avp_name(854, 10415) -> + {'Bearer-Service', 'OctetString'}; +avp_name(846, 10415) -> {'CG-Address', 'Address'}; +avp_name(3421, 10415) -> + {'CN-Operator-Selection-Entity', 'Enumerated'}; +avp_name(3930, 10415) -> + {'CP-CIoT-EPS-Optimisation-Indicator', 'Enumerated'}; +avp_name(3927, 10415) -> + {'CPDT-Information', 'Grouped'}; +avp_name(2317, 10415) -> + {'CSG-Access-Mode', 'Enumerated'}; +avp_name(2318, 10415) -> + {'CSG-Membership-Indication', 'Enumerated'}; +avp_name(2304, 10415) -> + {'CUG-Information', 'OctetString'}; +avp_name(1250, 10415) -> + {'Called-Asserted-Identity', 'UTF8String'}; +avp_name(3916, 10415) -> + {'Called-Identity', 'UTF8String'}; +avp_name(3917, 10415) -> + {'Called-Identity-Change', 'Grouped'}; +avp_name(832, 10415) -> + {'Called-Party-Address', 'UTF8String'}; +avp_name(831, 10415) -> + {'Calling-Party-Address', 'UTF8String'}; +avp_name(2023, 10415) -> + {'Carrier-Select-Routing-Information', 'UTF8String'}; +avp_name(861, 10415) -> {'Cause-Code', 'Integer32'}; +avp_name(3924, 10415) -> + {'Cellular-Network-Information', 'OctetString'}; +avp_name(2037, 10415) -> + {'Change-Condition', 'Integer32'}; +avp_name(2038, 10415) -> {'Change-Time', 'Time'}; +avp_name(2118, 10415) -> + {'Charge-Reason-Code', 'Enumerated'}; +avp_name(857, 10415) -> {'Charged-Party', 'UTF8String'}; +avp_name(2066, 10415) -> + {'Charging-Characteristics-Selection-Mode', + 'Enumerated'}; +avp_name(4400, 10415) -> + {'Charging-Per-IP-CAN-Session-Indicator', 'Enumerated'}; +avp_name(1214, 10415) -> + {'Class-Identifier', 'Enumerated'}; +avp_name(2018, 10415) -> {'Client-Address', 'Address'}; +avp_name(1220, 10415) -> + {'Content-Class', 'Enumerated'}; +avp_name(828, 10415) -> + {'Content-Disposition', 'UTF8String'}; +avp_name(827, 10415) -> + {'Content-Length', 'Unsigned32'}; +avp_name(1206, 10415) -> {'Content-Size', 'Unsigned32'}; +avp_name(826, 10415) -> {'Content-Type', 'UTF8String'}; +avp_name(3459, 10415) -> {'Coverage-Info', 'Grouped'}; +avp_name(3428, 10415) -> + {'Coverage-Status', 'Enumerated'}; +avp_name(2056, 10415) -> {'Current-Tariff', 'Grouped'}; +avp_name(1221, 10415) -> {'DRM-Content', 'Enumerated'}; +avp_name(2001, 10415) -> + {'Data-Coding-Scheme', 'Integer32'}; +avp_name(1230, 10415) -> + {'Deferred-Location-Event-Type', 'UTF8String'}; +avp_name(1216, 10415) -> + {'Delivery-Report-Requested', 'Enumerated'}; +avp_name(2002, 10415) -> + {'Destination-Interface', 'Grouped'}; +avp_name(2039, 10415) -> {'Diagnostics', 'Integer32'}; +avp_name(4402, 10415) -> + {'Discoveree-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4403, 10415) -> + {'Discoveree-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(4404, 10415) -> + {'Discoverer-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4405, 10415) -> + {'Discoverer-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(1200, 10415) -> {'Domain-Name', 'UTF8String'}; +avp_name(2051, 10415) -> + {'Dynamic-Address-Flag', 'Enumerated'}; +avp_name(2068, 10415) -> + {'Dynamic-Address-Flag-Extension', 'Enumerated'}; +avp_name(3425, 10415) -> {'EPDG-Address', 'Address'}; +avp_name(1272, 10415) -> + {'Early-Media-Description', 'Grouped'}; +avp_name(3901, 10415) -> + {'Enhanced-Diagnostics', 'Grouped'}; +avp_name(1266, 10415) -> {'Envelope', 'Grouped'}; +avp_name(1267, 10415) -> {'Envelope-End-Time', 'Time'}; +avp_name(1268, 10415) -> + {'Envelope-Reporting', 'Enumerated'}; +avp_name(1269, 10415) -> + {'Envelope-Start-Time', 'Time'}; +avp_name(825, 10415) -> {'Event', 'UTF8String'}; +avp_name(1258, 10415) -> + {'Event-Charging-TimeStamp', 'Time'}; +avp_name(823, 10415) -> {'Event-Type', 'Grouped'}; +avp_name(888, 10415) -> {'Expires', 'Unsigned32'}; +avp_name(4413, 10415) -> + {'FE-Identifier-List', 'UTF8String'}; +avp_name(1224, 10415) -> + {'File-Repair-Supported', 'Enumerated'}; +avp_name(3415, 10415) -> + {'Forwarding-Pending', 'Enumerated'}; +avp_name(2708, 10415) -> {'From-Address', 'UTF8String'}; +avp_name(847, 10415) -> {'GGSN-Address', 'Address'}; +avp_name(2601, 10415) -> + {'IMS-Application-Reference-Identifier', 'UTF8String'}; +avp_name(841, 10415) -> + {'IMS-Charging-Identifier', 'UTF8String'}; +avp_name(1281, 10415) -> + {'IMS-Communication-Service-Identifier', 'UTF8String'}; +avp_name(2322, 10415) -> + {'IMS-Emergency-Indicator', 'Enumerated'}; +avp_name(876, 10415) -> {'IMS-Information', 'Grouped'}; +avp_name(2713, 10415) -> + {'IMS-Visited-Network-Identifier', 'UTF8String'}; +avp_name(2308, 10415) -> + {'IMSI-Unauthenticated-Flag', 'Enumerated'}; +avp_name(2603, 10415) -> + {'IP-Realm-Default-Indication', 'Enumerated'}; +avp_name(3416, 10415) -> {'ISUP-Cause', 'Grouped'}; +avp_name(3422, 10415) -> + {'ISUP-Cause-Diagnostics', 'OctetString'}; +avp_name(3423, 10415) -> + {'ISUP-Cause-Location', 'Unsigned32'}; +avp_name(3424, 10415) -> + {'ISUP-Cause-Value', 'Unsigned32'}; +avp_name(3414, 10415) -> + {'ISUP-Location-Number', 'OctetString'}; +avp_name(852, 10415) -> + {'Incoming-Trunk-Group-Id', 'UTF8String'}; +avp_name(2062, 10415) -> + {'Incremental-Cost', 'Grouped'}; +avp_name(2321, 10415) -> + {'Initial-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(3402, 10415) -> {'Instance-Id', 'UTF8String'}; +avp_name(838, 10415) -> + {'Inter-Operator-Identifier', 'Grouped'}; +avp_name(3902, 10415) -> + {'Inter-UE-Transfer', 'Enumerated'}; +avp_name(2003, 10415) -> {'Interface-Id', 'UTF8String'}; +avp_name(2004, 10415) -> + {'Interface-Port', 'UTF8String'}; +avp_name(2005, 10415) -> + {'Interface-Text', 'UTF8String'}; +avp_name(2006, 10415) -> + {'Interface-Type', 'Enumerated'}; +avp_name(1231, 10415) -> {'LCS-APN', 'UTF8String'}; +avp_name(1233, 10415) -> + {'LCS-Client-Dialed-By-MS', 'UTF8String'}; +avp_name(1234, 10415) -> + {'LCS-Client-External-ID', 'UTF8String'}; +avp_name(1232, 10415) -> {'LCS-Client-ID', 'Grouped'}; +avp_name(1235, 10415) -> {'LCS-Client-Name', 'Grouped'}; +avp_name(1241, 10415) -> + {'LCS-Client-Type', 'Enumerated'}; +avp_name(1236, 10415) -> + {'LCS-Data-Coding-Scheme', 'UTF8String'}; +avp_name(1237, 10415) -> + {'LCS-Format-Indicator', 'Enumerated'}; +avp_name(878, 10415) -> {'LCS-Information', 'Grouped'}; +avp_name(1238, 10415) -> + {'LCS-Name-String', 'UTF8String'}; +avp_name(1239, 10415) -> + {'LCS-Requestor-ID', 'Grouped'}; +avp_name(1240, 10415) -> + {'LCS-Requestor-ID-String', 'UTF8String'}; +avp_name(3914, 10415) -> {'Language', 'UTF8String'}; +avp_name(3429, 10415) -> + {'Layer-2-Group-ID', 'OctetString'}; +avp_name(2604, 10415) -> + {'Local-GW-Inserted-Indication', 'Enumerated'}; +avp_name(2063, 10415) -> + {'Local-Sequence-Number', 'Unsigned32'}; +avp_name(1242, 10415) -> + {'Location-Estimate', 'OctetString'}; +avp_name(1243, 10415) -> + {'Location-Estimate-Type', 'Enumerated'}; +avp_name(3460, 10415) -> {'Location-Info', 'Grouped'}; +avp_name(1244, 10415) -> {'Location-Type', 'Grouped'}; +avp_name(2020, 10415) -> + {'Low-Balance-Indication', 'Enumerated'}; +avp_name(2602, 10415) -> + {'Low-Priority-Indicator', 'Enumerated'}; +avp_name(2323, 10415) -> + {'MBMS-Charged-Party', 'Enumerated'}; +avp_name(2307, 10415) -> {'MBMS-GW-Address', 'Address'}; +avp_name(880, 10415) -> {'MBMS-Information', 'Grouped'}; +avp_name(1225, 10415) -> + {'MBMS-User-Service-Type', 'Enumerated'}; +avp_name(1203, 10415) -> {'MM-Content-Type', 'Grouped'}; +avp_name(1248, 10415) -> + {'MMBox-Storage-Requested', 'Enumerated'}; +avp_name(877, 10415) -> {'MMS-Information', 'Grouped'}; +avp_name(2030, 10415) -> + {'MMTel-Information', 'Grouped'}; +avp_name(2031, 10415) -> + {'MMTel-SService-Type', 'Unsigned32'}; +avp_name(3417, 10415) -> {'MSC-Address', 'OctetString'}; +avp_name(3406, 10415) -> {'MTC-IWF-Address', 'Address'}; +avp_name(882, 10415) -> + {'Media-Initiator-Flag', 'Enumerated'}; +avp_name(1288, 10415) -> + {'Media-Initiator-Party', 'UTF8String'}; +avp_name(889, 10415) -> {'Message-Body', 'Grouped'}; +avp_name(1213, 10415) -> {'Message-Class', 'Grouped'}; +avp_name(1210, 10415) -> {'Message-ID', 'UTF8String'}; +avp_name(1212, 10415) -> {'Message-Size', 'Unsigned32'}; +avp_name(1211, 10415) -> {'Message-Type', 'Enumerated'}; +avp_name(3430, 10415) -> + {'Monitored-PLMN-Identifier', 'UTF8String'}; +avp_name(3919, 10415) -> + {'Monitoring-Event-Configuration-Activity', + 'Integer32'}; +avp_name(3922, 10415) -> + {'Monitoring-Event-Functionality', 'Integer32'}; +avp_name(3921, 10415) -> + {'Monitoring-Event-Information', 'Grouped'}; +avp_name(3920, 10415) -> + {'Monitoring-Event-Report-Data', 'Grouped'}; +avp_name(3923, 10415) -> + {'Monitoring-Event-Report-Number', 'Unsigned32'}; +avp_name(3431, 10415) -> + {'Monitoring-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3432, 10415) -> + {'Monitoring-UE-Identifier', 'UTF8String'}; +avp_name(3433, 10415) -> + {'Monitoring-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(3928, 10415) -> {'NIDD-Submission', 'Grouped'}; +avp_name(2703, 10415) -> {'NNI-Information', 'Grouped'}; +avp_name(2704, 10415) -> {'NNI-Type', 'Enumerated'}; +avp_name(2705, 10415) -> + {'Neighbour-Node-Address', 'Address'}; +avp_name(3418, 10415) -> + {'Network-Call-Reference-Number', 'OctetString'}; +avp_name(2057, 10415) -> {'Next-Tariff', 'Grouped'}; +avp_name(862, 10415) -> + {'Node-Functionality', 'Enumerated'}; +avp_name(2064, 10415) -> {'Node-Id', 'UTF8String'}; +avp_name(2034, 10415) -> + {'Number-Of-Diversions', 'Unsigned32'}; +avp_name(2019, 10415) -> + {'Number-Of-Messages-Sent', 'Unsigned32'}; +avp_name(885, 10415) -> + {'Number-Of-Participants', 'Unsigned32'}; +avp_name(1282, 10415) -> + {'Number-Of-Received-Talk-Bursts', 'Unsigned32'}; +avp_name(1283, 10415) -> + {'Number-Of-Talk-Bursts', 'Unsigned32'}; +avp_name(2024, 10415) -> + {'Number-Portability-Routing-Information', + 'UTF8String'}; +avp_name(1278, 10415) -> + {'Offline-Charging', 'Grouped'}; +avp_name(2303, 10415) -> + {'Online-Charging-Flag', 'Enumerated'}; +avp_name(839, 10415) -> + {'Originating-IOI', 'UTF8String'}; +avp_name(864, 10415) -> {'Originator', 'Enumerated'}; +avp_name(886, 10415) -> + {'Originator-Address', 'Grouped'}; +avp_name(2009, 10415) -> + {'Originator-Interface', 'Grouped'}; +avp_name(2027, 10415) -> + {'Originator-Received-Address', 'Grouped'}; +avp_name(2008, 10415) -> + {'Originator-SCCP-Address', 'Address'}; +avp_name(2320, 10415) -> + {'Outgoing-Session-Id', 'UTF8String'}; +avp_name(853, 10415) -> + {'Outgoing-Trunk-Group-Id', 'UTF8String'}; +avp_name(3434, 10415) -> + {'PC3-Control-Protocol-Cause', 'Integer32'}; +avp_name(3435, 10415) -> + {'PC3-EPC-Control-Protocol-Cause', 'Integer32'}; +avp_name(1300, 10415) -> + {'PC5-Radio-Technology', 'Enumerated'}; +avp_name(2050, 10415) -> + {'PDN-Connection-Charging-ID', 'Unsigned32'}; +avp_name(1227, 10415) -> {'PDP-Address', 'Address'}; +avp_name(2606, 10415) -> + {'PDP-Address-Prefix-Length', 'Unsigned32'}; +avp_name(1247, 10415) -> + {'PDP-Context-Type', 'Enumerated'}; +avp_name(867, 10415) -> + {'PS-Append-Free-Format-Data', 'Enumerated'}; +avp_name(866, 10415) -> + {'PS-Free-Format-Data', 'OctetString'}; +avp_name(865, 10415) -> + {'PS-Furnish-Charging-Information', 'Grouped'}; +avp_name(874, 10415) -> {'PS-Information', 'Grouped'}; +avp_name(1259, 10415) -> + {'Participant-Access-Priority', 'Enumerated'}; +avp_name(2049, 10415) -> + {'Participant-Action-Type', 'Enumerated'}; +avp_name(1260, 10415) -> + {'Participant-Group', 'Grouped'}; +avp_name(887, 10415) -> + {'Participants-Involved', 'UTF8String'}; +avp_name(3913, 10415) -> + {'Play-Alternative', 'Enumerated'}; +avp_name(1261, 10415) -> + {'PoC-Change-Condition', 'Enumerated'}; +avp_name(1262, 10415) -> {'PoC-Change-Time', 'Time'}; +avp_name(858, 10415) -> + {'PoC-Controlling-Address', 'UTF8String'}; +avp_name(2025, 10415) -> + {'PoC-Event-Type', 'Enumerated'}; +avp_name(859, 10415) -> + {'PoC-Group-Name', 'UTF8String'}; +avp_name(879, 10415) -> {'PoC-Information', 'Grouped'}; +avp_name(883, 10415) -> + {'PoC-Server-Role', 'Enumerated'}; +avp_name(1229, 10415) -> + {'PoC-Session-Id', 'UTF8String'}; +avp_name(1277, 10415) -> + {'PoC-Session-Initiation-Type', 'Enumerated'}; +avp_name(884, 10415) -> + {'PoC-Session-Type', 'Enumerated'}; +avp_name(1252, 10415) -> {'PoC-User-Role', 'Grouped'}; +avp_name(1253, 10415) -> + {'PoC-User-Role-IDs', 'UTF8String'}; +avp_name(1254, 10415) -> + {'PoC-User-Role-Info-Units', 'Enumerated'}; +avp_name(1245, 10415) -> + {'Positioning-Data', 'UTF8String'}; +avp_name(2315, 10415) -> + {'Preferred-AoC-Currency', 'Unsigned32'}; +avp_name(1209, 10415) -> {'Priority', 'Enumerated'}; +avp_name(3915, 10415) -> + {'Privacy-Indicator', 'Enumerated'}; +avp_name(3440, 10415) -> + {'ProSe-3rd-Party-Application-ID', 'UTF8String'}; +avp_name(3461, 10415) -> + {'ProSe-Direct-Communication-Reception-Data-Container', + 'Grouped'}; +avp_name(3441, 10415) -> + {'ProSe-Direct-Communication-Transmission-Data-Container', + 'Grouped'}; +avp_name(3442, 10415) -> + {'ProSe-Direct-Discovery-Model', 'Enumerated'}; +avp_name(3443, 10415) -> + {'ProSe-Event-Type', 'Enumerated'}; +avp_name(3444, 10415) -> + {'ProSe-Function-IP-Address', 'Address'}; +avp_name(3457, 10415) -> + {'ProSe-Function-PLMN-Identifier', 'UTF8String'}; +avp_name(3445, 10415) -> + {'ProSe-Functionality', 'Enumerated'}; +avp_name(3446, 10415) -> + {'ProSe-Group-IP-Multicast-Address', 'Address'}; +avp_name(3447, 10415) -> + {'ProSe-Information', 'Grouped'}; +avp_name(3448, 10415) -> + {'ProSe-Range-Class', 'Enumerated'}; +avp_name(3449, 10415) -> + {'ProSe-Reason-For-Cancellation', 'Enumerated'}; +avp_name(3450, 10415) -> + {'ProSe-Request-Timestamp', 'Time'}; +avp_name(3451, 10415) -> + {'ProSe-Role-Of-UE', 'Enumerated'}; +avp_name(3452, 10415) -> + {'ProSe-Source-IP-Address', 'Address'}; +avp_name(4410, 10415) -> + {'ProSe-Target-Layer-2-ID', 'OctetString'}; +avp_name(3453, 10415) -> {'ProSe-UE-ID', 'OctetString'}; +avp_name(4409, 10415) -> + {'ProSe-UE-to-Network-Relay-UE-ID', 'OctetString'}; +avp_name(3454, 10415) -> + {'Proximity-Alert-Indication', 'Enumerated'}; +avp_name(3455, 10415) -> + {'Proximity-Alert-Timestamp', 'Time'}; +avp_name(3456, 10415) -> + {'Proximity-Cancellation-Timestamp', 'Time'}; +avp_name(881, 10415) -> + {'Quota-Consumption-Time', 'Unsigned32'}; +avp_name(871, 10415) -> + {'Quota-Holding-Time', 'Unsigned32'}; +avp_name(3912, 10415) -> + {'Quota-Indicator', 'Enumerated'}; +avp_name(1301, 10415) -> {'RAN-End-Time', 'Time'}; +avp_name(1302, 10415) -> + {'RAN-Secondary-RAT-Usage-Report', 'Grouped'}; +avp_name(1303, 10415) -> {'RAN-Start-Time', 'Time'}; +avp_name(3462, 10415) -> + {'Radio-Frequency', 'OctetString'}; +avp_name(3463, 10415) -> + {'Radio-Parameter-Set-Info', 'Grouped'}; +avp_name(3464, 10415) -> + {'Radio-Parameter-Set-Values', 'OctetString'}; +avp_name(3465, 10415) -> + {'Radio-Resources-Indicator', 'Integer32'}; +avp_name(3937, 10415) -> + {'Rate-Control-Max-Message-Size', 'Unsigned32'}; +avp_name(3938, 10415) -> + {'Rate-Control-Max-Rate', 'Unsigned32'}; +avp_name(3939, 10415) -> + {'Rate-Control-Time-Unit', 'Unsigned32'}; +avp_name(2058, 10415) -> {'Rate-Element', 'Grouped'}; +avp_name(1222, 10415) -> + {'Read-Reply-Report-Requested', 'Enumerated'}; +avp_name(2305, 10415) -> + {'Real-Time-Tariff-Information', 'Grouped'}; +avp_name(3401, 10415) -> + {'Reason-Header', 'UTF8String'}; +avp_name(1284, 10415) -> + {'Received-Talk-Burst-Time', 'Unsigned32'}; +avp_name(1285, 10415) -> + {'Received-Talk-Burst-Volume', 'Unsigned32'}; +avp_name(1201, 10415) -> + {'Recipient-Address', 'Grouped'}; +avp_name(2026, 10415) -> {'Recipient-Info', 'Grouped'}; +avp_name(2028, 10415) -> + {'Recipient-Received-Address', 'Grouped'}; +avp_name(2010, 10415) -> + {'Recipient-SCCP-Address', 'Address'}; +avp_name(2022, 10415) -> + {'Refund-Information', 'OctetString'}; +avp_name(3925, 10415) -> + {'Related-Change-Condition-Information', 'Grouped'}; +avp_name(2711, 10415) -> + {'Related-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(2712, 10415) -> + {'Related-IMS-Charging-Identifier-Node', 'Address'}; +avp_name(3926, 10415) -> {'Related-Trigger', 'Grouped'}; +avp_name(2706, 10415) -> + {'Relationship-Mode', 'Enumerated'}; +avp_name(4411, 10415) -> + {'Relay-IP-address', 'Address'}; +avp_name(2021, 10415) -> + {'Remaining-Balance', 'Grouped'}; +avp_name(1223, 10415) -> + {'Reply-Applic-ID', 'UTF8String'}; +avp_name(2011, 10415) -> + {'Reply-Path-Requested', 'Enumerated'}; +avp_name(872, 10415) -> + {'Reporting-Reason', 'Enumerated'}; +avp_name(3436, 10415) -> + {'Requested-PLMN-Identifier', 'UTF8String'}; +avp_name(1251, 10415) -> + {'Requested-Party-Address', 'UTF8String'}; +avp_name(3437, 10415) -> + {'Requestor-PLMN-Identifier', 'UTF8String'}; +avp_name(829, 10415) -> {'Role-Of-Node', 'Enumerated'}; +avp_name(3438, 10415) -> + {'Role-Of-ProSe-Function', 'Enumerated'}; +avp_name(3403, 10415) -> + {'Route-Header-Received', 'UTF8String'}; +avp_name(3404, 10415) -> + {'Route-Header-Transmitted', 'UTF8String'}; +avp_name(3940, 10415) -> {'SCS-AS-Address', 'Grouped'}; +avp_name(3941, 10415) -> {'SCS-Address', 'Address'}; +avp_name(3942, 10415) -> + {'SCS-Realm', 'DiameterIdentity'}; +avp_name(1275, 10415) -> + {'SDP-Answer-Timestamp', 'Time'}; +avp_name(843, 10415) -> + {'SDP-Media-Component', 'Grouped'}; +avp_name(845, 10415) -> + {'SDP-Media-Description', 'UTF8String'}; +avp_name(844, 10415) -> + {'SDP-Media-Name', 'UTF8String'}; +avp_name(1274, 10415) -> + {'SDP-Offer-Timestamp', 'Time'}; +avp_name(842, 10415) -> + {'SDP-Session-Description', 'UTF8String'}; +avp_name(1273, 10415) -> {'SDP-TimeStamps', 'Grouped'}; +avp_name(2036, 10415) -> {'SDP-Type', 'Enumerated'}; +avp_name(1228, 10415) -> {'SGSN-Address', 'Address'}; +avp_name(2067, 10415) -> {'SGW-Address', 'Address'}; +avp_name(2065, 10415) -> {'SGW-Change', 'Enumerated'}; +avp_name(3931, 10415) -> + {'SGi-PtP-Tunnelling-Method', 'Enumerated'}; +avp_name(824, 10415) -> {'SIP-Method', 'UTF8String'}; +avp_name(834, 10415) -> + {'SIP-Request-Timestamp', 'Time'}; +avp_name(2301, 10415) -> + {'SIP-Request-Timestamp-Fraction', 'Unsigned32'}; +avp_name(835, 10415) -> + {'SIP-Response-Timestamp', 'Time'}; +avp_name(2302, 10415) -> + {'SIP-Response-Timestamp-Fraction', 'Unsigned32'}; +avp_name(3407, 10415) -> + {'SM-Device-Trigger-Indicator', 'Enumerated'}; +avp_name(3405, 10415) -> + {'SM-Device-Trigger-Information', 'Grouped'}; +avp_name(2012, 10415) -> {'SM-Discharge-Time', 'Time'}; +avp_name(2007, 10415) -> + {'SM-Message-Type', 'Enumerated'}; +avp_name(2013, 10415) -> + {'SM-Protocol-ID', 'OctetString'}; +avp_name(3408, 10415) -> + {'SM-Sequence-Number', 'Unsigned32'}; +avp_name(2029, 10415) -> + {'SM-Service-Type', 'Enumerated'}; +avp_name(2014, 10415) -> {'SM-Status', 'OctetString'}; +avp_name(2015, 10415) -> + {'SM-User-Data-Header', 'OctetString'}; +avp_name(2000, 10415) -> {'SMS-Information', 'Grouped'}; +avp_name(2016, 10415) -> {'SMS-Node', 'Enumerated'}; +avp_name(3409, 10415) -> {'SMS-Result', 'Unsigned32'}; +avp_name(2017, 10415) -> {'SMSC-Address', 'Address'}; +avp_name(2059, 10415) -> {'Scale-Factor', 'Grouped'}; +avp_name(1304, 10415) -> + {'Secondary-RAT-Type', 'OctetString'}; +avp_name(848, 10415) -> + {'Served-Party-IP-Address', 'Address'}; +avp_name(2040, 10415) -> + {'Service-Data-Container', 'Grouped'}; +avp_name(855, 10415) -> {'Service-Id', 'UTF8String'}; +avp_name(873, 10415) -> + {'Service-Information', 'Grouped'}; +avp_name(2032, 10415) -> {'Service-Mode', 'Unsigned32'}; +avp_name(863, 10415) -> + {'Service-Specific-Data', 'UTF8String'}; +avp_name(1249, 10415) -> + {'Service-Specific-Info', 'Grouped'}; +avp_name(1257, 10415) -> + {'Service-Specific-Type', 'Unsigned32'}; +avp_name(3929, 10415) -> + {'Serving-Node-Identity', 'DiameterIdentity'}; +avp_name(2047, 10415) -> + {'Serving-Node-Type', 'Enumerated'}; +avp_name(2707, 10415) -> + {'Session-Direction', 'Enumerated'}; +avp_name(2041, 10415) -> {'Start-Time', 'Time'}; +avp_name(3419, 10415) -> {'Start-of-Charging', 'Time'}; +avp_name(2702, 10415) -> + {'Status-AS-Code', 'Enumerated'}; +avp_name(2042, 10415) -> {'Stop-Time', 'Time'}; +avp_name(1202, 10415) -> {'Submission-Time', 'Time'}; +avp_name(2033, 10415) -> + {'Subscriber-Role', 'Enumerated'}; +avp_name(2048, 10415) -> + {'Supplementary-Service', 'Grouped'}; +avp_name(2717, 10415) -> + {'TAD-Identifier', 'Enumerated'}; +avp_name(3903, 10415) -> {'TWAG-Address', 'Address'}; +avp_name(2714, 10415) -> + {'TWAN-User-Location-Info', 'Grouped'}; +avp_name(1255, 10415) -> + {'Talk-Burst-Exchange', 'Grouped'}; +avp_name(1286, 10415) -> + {'Talk-Burst-Time', 'Unsigned32'}; +avp_name(1287, 10415) -> + {'Talk-Burst-Volume', 'Unsigned32'}; +avp_name(4412, 10415) -> + {'Target-IP-Address', 'Address'}; +avp_name(2060, 10415) -> + {'Tariff-Information', 'Grouped'}; +avp_name(2306, 10415) -> {'Tariff-XML', 'UTF8String'}; +avp_name(3413, 10415) -> {'Teleservice', 'OctetString'}; +avp_name(840, 10415) -> + {'Terminating-IOI', 'UTF8String'}; +avp_name(3466, 10415) -> + {'Time-First-Reception', 'Time'}; +avp_name(3467, 10415) -> + {'Time-First-Transmission', 'Time'}; +avp_name(2043, 10415) -> {'Time-First-Usage', 'Time'}; +avp_name(3911, 10415) -> + {'Time-Indicator', 'Unsigned32'}; +avp_name(2044, 10415) -> {'Time-Last-Usage', 'Time'}; +avp_name(1270, 10415) -> + {'Time-Quota-Mechanism', 'Grouped'}; +avp_name(868, 10415) -> + {'Time-Quota-Threshold', 'Unsigned32'}; +avp_name(1271, 10415) -> + {'Time-Quota-Type', 'Enumerated'}; +avp_name(833, 10415) -> {'Time-Stamps', 'Grouped'}; +avp_name(2045, 10415) -> {'Time-Usage', 'Unsigned32'}; +avp_name(1215, 10415) -> {'Token-Text', 'UTF8String'}; +avp_name(2046, 10415) -> + {'Traffic-Data-Volumes', 'Grouped'}; +avp_name(2605, 10415) -> + {'Transcoder-Inserted-Indication', 'Enumerated'}; +avp_name(2701, 10415) -> + {'Transit-IOI-List', 'UTF8String'}; +avp_name(3468, 10415) -> + {'Transmitter-Info', 'Grouped'}; +avp_name(1264, 10415) -> {'Trigger', 'Grouped'}; +avp_name(870, 10415) -> {'Trigger-Type', 'Enumerated'}; +avp_name(851, 10415) -> {'Trunk-Group-Id', 'Grouped'}; +avp_name(1204, 10415) -> {'Type-Number', 'Enumerated'}; +avp_name(3932, 10415) -> + {'UNI-PDU-CP-Only-Flag', 'Enumerated'}; +avp_name(3918, 10415) -> + {'UWAN-User-Location-Info', 'Grouped'}; +avp_name(2061, 10415) -> {'Unit-Cost', 'Grouped'}; +avp_name(1226, 10415) -> + {'Unit-Quota-Threshold', 'Unsigned32'}; +avp_name(4407, 10415) -> + {'Unused-Quota-Timer', 'Unsigned32'}; +avp_name(3439, 10415) -> + {'Usage-Information-Report-Sequence-Number', + 'Integer32'}; +avp_name(2319, 10415) -> + {'User-CSG-Information', 'Grouped'}; +avp_name(1279, 10415) -> + {'User-Participating-Type', 'Enumerated'}; +avp_name(830, 10415) -> + {'User-Session-Id', 'UTF8String'}; +avp_name(3410, 10415) -> {'VCS-Information', 'Grouped'}; +avp_name(3420, 10415) -> {'VLR-Number', 'OctetString'}; +avp_name(3907, 10415) -> {'Variable-Part', 'Grouped'}; +avp_name(3908, 10415) -> + {'Variable-Part-Order', 'Unsigned32'}; +avp_name(3909, 10415) -> + {'Variable-Part-Type', 'Enumerated'}; +avp_name(3910, 10415) -> + {'Variable-Part-Value', 'UTF8String'}; +avp_name(869, 10415) -> + {'Volume-Quota-Threshold', 'Unsigned32'}; +avp_name(301, 13019) -> + {'Address-Realm', 'OctetString'}; +avp_name(307, 13019) -> + {'Aggregation-Network-Type', 'Enumerated'}; +avp_name(312, 13019) -> + {'Application-Class-ID', 'UTF8String'}; +avp_name(305, 13019) -> + {'IP-Connectivity-Status', 'Enumerated'}; +avp_name(314, 13019) -> + {'Initial-Gate-Setting-ID', 'Unsigned32'}; +avp_name(302, 13019) -> + {'Logical-Access-ID', 'OctetString'}; +avp_name(309, 13019) -> + {'Maximum-Allowed-Bandwidth-DL', 'Unsigned32'}; +avp_name(308, 13019) -> + {'Maximum-Allowed-Bandwidth-UL', 'Unsigned32'}; +avp_name(313, 13019) -> + {'Physical-Access-ID', 'UTF8String'}; +avp_name(315, 13019) -> + {'QoS-Profile-ID', 'Unsigned32'}; +avp_name(311, 13019) -> + {'Transport-Class', 'Unsigned32'}; +avp_name(411, undefined) -> + {'CC-Correlation-Id', 'OctetString'}; +avp_name(412, undefined) -> + {'CC-Input-Octets', 'Unsigned64'}; +avp_name(413, undefined) -> {'CC-Money', 'Grouped'}; +avp_name(414, undefined) -> + {'CC-Output-Octets', 'Unsigned64'}; +avp_name(415, undefined) -> + {'CC-Request-Number', 'Unsigned32'}; +avp_name(416, undefined) -> + {'CC-Request-Type', 'Enumerated'}; +avp_name(417, undefined) -> + {'CC-Service-Specific-Units', 'Unsigned64'}; +avp_name(418, undefined) -> + {'CC-Session-Failover', 'Enumerated'}; +avp_name(419, undefined) -> + {'CC-Sub-Session-Id', 'Unsigned64'}; +avp_name(420, undefined) -> {'CC-Time', 'Unsigned32'}; +avp_name(421, undefined) -> + {'CC-Total-Octets', 'Unsigned64'}; +avp_name(454, undefined) -> + {'CC-Unit-Type', 'Enumerated'}; +avp_name(422, undefined) -> + {'Check-Balance-Result', 'Enumerated'}; +avp_name(423, undefined) -> + {'Cost-Information', 'Grouped'}; +avp_name(424, undefined) -> {'Cost-Unit', 'UTF8String'}; +avp_name(426, undefined) -> + {'Credit-Control', 'Enumerated'}; +avp_name(427, undefined) -> + {'Credit-Control-Failure-Handling', 'Enumerated'}; +avp_name(425, undefined) -> + {'Currency-Code', 'Unsigned32'}; +avp_name(428, undefined) -> + {'Direct-Debiting-Failure-Handling', 'Enumerated'}; +avp_name(429, undefined) -> {'Exponent', 'Integer32'}; +avp_name(449, undefined) -> + {'Final-Unit-Action', 'Enumerated'}; +avp_name(430, undefined) -> + {'Final-Unit-Indication', 'Grouped'}; +avp_name(453, undefined) -> + {'G-S-U-Pool-Identifier', 'Unsigned32'}; +avp_name(457, undefined) -> + {'G-S-U-Pool-Reference', 'Grouped'}; +avp_name(431, undefined) -> + {'Granted-Service-Unit', 'Grouped'}; +avp_name(456, undefined) -> + {'Multiple-Services-Credit-Control', 'Grouped'}; +avp_name(455, undefined) -> + {'Multiple-Services-Indicator', 'Enumerated'}; +avp_name(432, undefined) -> + {'Rating-Group', 'Unsigned32'}; +avp_name(433, undefined) -> + {'Redirect-Address-Type', 'Enumerated'}; +avp_name(434, undefined) -> + {'Redirect-Server', 'Grouped'}; +avp_name(435, undefined) -> + {'Redirect-Server-Address', 'UTF8String'}; +avp_name(436, undefined) -> + {'Requested-Action', 'Enumerated'}; +avp_name(437, undefined) -> + {'Requested-Service-Unit', 'Grouped'}; +avp_name(438, undefined) -> + {'Restriction-Filter-Rule', 'IPFilterRule'}; +avp_name(461, undefined) -> + {'Service-Context-Id', 'UTF8String'}; +avp_name(439, undefined) -> + {'Service-Identifier', 'Unsigned32'}; +avp_name(440, undefined) -> + {'Service-Parameter-Info', 'Grouped'}; +avp_name(441, undefined) -> + {'Service-Parameter-Type', 'Unsigned32'}; +avp_name(442, undefined) -> + {'Service-Parameter-Value', 'OctetString'}; +avp_name(443, undefined) -> + {'Subscription-Id', 'Grouped'}; +avp_name(444, undefined) -> + {'Subscription-Id-Data', 'UTF8String'}; +avp_name(450, undefined) -> + {'Subscription-Id-Type', 'Enumerated'}; +avp_name(452, undefined) -> + {'Tariff-Change-Usage', 'Enumerated'}; +avp_name(451, undefined) -> + {'Tariff-Time-Change', 'Time'}; +avp_name(445, undefined) -> {'Unit-Value', 'Grouped'}; +avp_name(446, undefined) -> + {'Used-Service-Unit', 'Grouped'}; +avp_name(458, undefined) -> + {'User-Equipment-Info', 'Grouped'}; +avp_name(459, undefined) -> + {'User-Equipment-Info-Type', 'Enumerated'}; +avp_name(460, undefined) -> + {'User-Equipment-Info-Value', 'OctetString'}; +avp_name(448, undefined) -> + {'Validity-Time', 'Unsigned32'}; +avp_name(447, undefined) -> + {'Value-Digits', 'Integer64'}; +avp_name(128, undefined) -> + {'Location-Data', 'OctetString'}; +avp_name(127, undefined) -> + {'Location-Information', 'OctetString'}; +avp_name(126, undefined) -> + {'Operator-Name', 'OctetString'}; +avp_name(493, undefined) -> + {'Service-Selection', 'UTF8String'}; +avp_name(622, undefined) -> + {'OC-Feature-Vector', 'Unsigned64'}; +avp_name(623, undefined) -> {'OC-OLR', 'Grouped'}; +avp_name(627, undefined) -> + {'OC-Reduction-Percentage', 'Unsigned32'}; +avp_name(626, undefined) -> + {'OC-Report-Type', 'Enumerated'}; +avp_name(624, undefined) -> + {'OC-Sequence-Number', 'Unsigned64'}; +avp_name(621, undefined) -> + {'OC-Supported-Features', 'Grouped'}; +avp_name(625, undefined) -> + {'OC-Validity-Duration', 'Unsigned32'}; +avp_name(301, undefined) -> {'DRMP', 'Enumerated'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('WLAN-Identifier') -> + [{'SSID', {0, 1}}, + {'HESSID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Info') -> + [{'SSID', {0, 1}}, + {'BSSID', {0, 1}}, + {'Location-Information', {0, 1}}, + {'Location-Data', {0, 1}}, + {'Operator-Name', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TWAN-Connectivity-Parameters') -> + [{'Connectivity-Flags', {0, 1}}, + {'Service-Selection', {0, 1}}, + {'PDN-Type', {0, 1}}, + {'Served-Party-IP-Address', {0, 2}}, + {'TWAN-PCO', {0, 1}}, + {'TWAG-UP-Address', {0, 1}}, + {'TWAN-S2a-Failure-Cause', {0, 1}}, + {'SM-Back-Off-Timer', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Non-3GPP-User-Data') -> + [{'Subscription-Id', {0, 1}}, + {'Non-3GPP-IP-Access', {0, 1}}, + {'Non-3GPP-IP-Access-APN', {0, 1}}, + {'RAT-Type', {0, '*'}}, + {'Session-Timeout', {0, 1}}, + {'MIP6-Feature-Vector', {0, 1}}, + {'AMBR', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Context-Identifier', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'APN-Configuration', {0, '*'}}, + {'Trace-Info', {0, 1}}, + {'TWAN-Default-APN-Context-Id', {0, 1}}, + {'TWAN-Access-Info', {0, '*'}}, + {'UE-Usage-Type', {0, 1}}, + {'Emergency-Info', {0, 1}}, + {'ERP-Authorization', {0, 1}}, + {'Core-Network-Restrictions', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Trace-Info') -> + [{'Trace-Data', {0, 1}}, + {'Trace-Reference', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TWAN-Access-Info') -> + [{'Access-Authorization-Flags', {0, 1}}, + {'WLAN-Identifier', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Emergency-Info') -> + [{'MIP6-Agent-Info', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Charging-Identifier-Gx') -> + [{'Access-Network-Charging-Identifier-Value', 1}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'IP-CAN-Session-Charging-Scope', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Allocation-Retention-Priority') -> + [{'Priority-Level', 1}, + {'Pre-emption-Capability', {0, 1}}, + {'Pre-emption-Vulnerability', {0, 1}}]; +avp_arity('Application-Detection-Information') -> + [{'TDF-Application-Identifier', 1}, + {'TDF-Application-Instance-Identifier', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Definition') -> + [{'Charging-Rule-Name', 1}, + {'Service-Identifier', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'TDF-Application-Identifier', {0, 1}}, + {'Flow-Status', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'PS-to-CS-Session-Continuity', {0, 1}}, + {'Reporting-Level', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'Metering-Method', {0, 1}}, + {'Precedence', {0, 1}}, + {'AF-Charging-Identifier', {0, 1}}, + {'Flows', {0, '*'}}, + {'Monitoring-Key', {0, 1}}, + {'Redirect-Information', {0, 1}}, + {'Mute-Notification', {0, 1}}, + {'AF-Signalling-Protocol', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Install') -> + [{'Charging-Rule-Definition', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'Rule-Activation-Time', {0, 1}}, + {'Rule-Deactivation-Time', {0, 1}}, + {'Resource-Allocation-Notification', {0, 1}}, + {'Charging-Correlation-Indicator', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Remove') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Report') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'PCC-Rule-Status', {0, 1}}, + {'Rule-Failure-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'RAN-NAS-Release-Cause', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CoA-Information') -> + [{'Tunnel-Information', 1}, + {'CoA-IP-Address', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate') -> + [{'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'IP-CAN-Type', {0, '*'}}, + {'RAT-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-EPS-Bearer-QoS') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Default-QoS-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Event-Report-Indication') -> + [{'Event-Trigger', {0, '*'}}, + {'IP-CAN-Type', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'UE-Local-IP-Address', {0, 1}}, + {'HeNB-Local-IP-Address', {0, 1}}, + {'UDP-Source-Port', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Fixed-User-Location-Info') -> + [{'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flow-Information') -> + [{'Flow-Description', {0, 1}}, + {'Packet-Filter-Identifier', {0, 1}}, + {'Packet-Filter-Usage', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Packet-Filter-Information') -> + [{'Packet-Filter-Identifier', {0, 1}}, + {'Precedence', {0, 1}}, + {'Packet-Filter-Content', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Presence-Reporting-Area-Information') -> + [{'Presence-Reporting-Area-Identifier', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'Presence-Reporting-Area-Elements-List', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Guaranteed-Bitrate-UL', {0, 1}}, + {'Guaranteed-Bitrate-DL', {0, 1}}, + {'Bearer-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'Conditional-APN-Aggregate-Max-Bitrate', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Redirect-Information') -> + [{'Redirect-Support', {0, 1}}, + {'Redirect-Address-Type', {0, 1}}, + {'Redirect-Server-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Filter') -> + [{'Flow-Description', 1}, + {'Flow-Direction', 1}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Definition') -> + [{'Routing-Rule-Identifier', 1}, + {'Routing-Filter', {0, '*'}}, + {'Precedence', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Install') -> + [{'Routing-Rule-Definition', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Remove') -> + [{'Routing-Rule-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('TDF-Information') -> + [{'TDF-Destination-Realm', {0, 1}}, + {'TDF-Destination-Host', {0, 1}}, + {'TDF-IP-Address', {0, 1}}]; +avp_arity('Tunnel-Information') -> + [{'Tunnel-Header-Length', {0, 1}}, + {'Tunnel-Header-Filter', {0, 2}}, + {'AVP', {0, '*'}}]; +avp_arity('TFT-Packet-Filter-Information') -> + [{'Precedence', {0, 1}}, + {'TFT-Filter', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Usage-Monitoring-Information') -> + [{'Monitoring-Key', {0, 1}}, + {'Granted-Service-Unit', {0, 2}}, + {'Used-Service-Unit', {0, 2}}, + {'Usage-Monitoring-Level', {0, 1}}, + {'Usage-Monitoring-Report', {0, 1}}, + {'Usage-Monitoring-Support', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Subscription-Data') -> + [{'Subscriber-Status', {0, 1}}, + {'MSISDN', {0, 1}}, + {'A-MSISDN', {0, 1}}, + {'STN-SR', {0, 1}}, + {'ICS-Indicator', {0, 1}}, + {'Network-Access-Mode', {0, 1}}, + {'Operator-Determined-Barring', {0, 1}}, + {'HPLMN-ODB', {0, 1}}, + {'Regional-Subscription-Zone-Code', {0, 10}}, + {'Access-Restriction-Data', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'LCS-Info', {0, 1}}, + {'Teleservice-List', {0, 1}}, + {'Call-Barring-Info', {0, '*'}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-Configuration-Profile', {0, 1}}, + {'RAT-Frequency-Selection-Priority-ID', {0, 1}}, + {'Trace-Data', {0, 1}}, + {'GPRS-Subscription-Data', {0, 1}}, + {'CSG-Subscription-Data', {0, '*'}}, + {'Roaming-Restricted-Due-To-Unsupported-Feature', + {0, 1}}, + {'Subscribed-Periodic-RAU-TAU-Timer', {0, 1}}, + {'MPS-Priority', {0, 1}}, + {'VPLMN-LIPA-Allowed', {0, 1}}, + {'Relay-Node-Indicator', {0, 1}}, + {'MDT-User-Consent', {0, 1}}, + {'Subscribed-VSRVCC', {0, 1}}, + {'Subscription-Data-Flags', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Terminal-Information') -> + [{'IMEI', {0, 1}}, + {'3GPP2-MEID', {0, 1}}, + {'Software-Version', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-EUTRAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Authentication-Info') -> + [{'E-UTRAN-Vector', {0, '*'}}, + {'UTRAN-Vector', {0, '*'}}, + {'GERAN-Vector', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('E-UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'KASME', 1}, + {'AVP', {0, '*'}}]; +avp_arity('UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'Confidentiality-Key', 1}, + {'Integrity-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('GERAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'SRES', 1}, + {'Kc', 1}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration-Profile') -> + [{'Context-Identifier', 1}, + {'All-APN-Configurations-Included-Indicator', 1}, + {'APN-Configuration', {1, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration') -> + [{'Context-Identifier', 1}, + {'PDN-Type', 1}, + {'Service-Selection', 1}, + {'Served-Party-IP-Address', {0, 2}}, + {'EPS-Subscribed-QoS-Profile', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'PDN-GW-Allocation-Type', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Subscribed-QoS-Profile') -> + [{'QoS-Class-Identifier', 1}, + {'Allocation-Retention-Priority', 1}, + {'AVP', {0, '*'}}]; +avp_arity('AMBR') -> + [{'Max-Requested-Bandwidth-UL', 1}, + {'Max-Requested-Bandwidth-DL', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Trace-Data') -> + [{'Trace-Reference', 1}, + {'Trace-Depth', 1}, + {'Trace-NE-Type-List', 1}, + {'Trace-Event-List', 1}, + {'Trace-Collection-Entity', 1}, + {'Trace-Interface-List', {0, 1}}, + {'OMC-Id', {0, 1}}, + {'MDT-Configuration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('GPRS-Subscription-Data') -> + [{'Complete-Data-List-Included-Indicator', 1}, + {'PDP-Context', {1, 50}}, + {'AVP', {0, '*'}}]; +avp_arity('PDP-Context') -> + [{'Context-Identifier', 1}, + {'PDP-Type', 1}, + {'QoS-Subscribed', 1}, + {'Service-Selection', 1}, + {'PDP-Address', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Ext-PDP-Type', {0, 1}}, + {'Ext-PDP-Address', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'Service-Selection', {0, '*'}}, + {'Visited-PLMN-Id', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Specific-APN-Info') -> + [{'Service-Selection', 1}, + {'MIP6-Agent-Info', 1}, + {'Visited-Network-Identifier', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-Info') -> + [{'GMLC-Number', {0, '*'}}, + {'LCS-PrivacyException', {0, '*'}}, + {'MO-LR', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-PrivacyException') -> + [{'SS-Code', 1}, + {'SS-Status', 1}, + {'Notification-To-UE-User', {0, 1}}, + {'External-Client', {0, '*'}}, + {'PLMN-Client', {0, '*'}}, + {'Service-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('External-Client') -> + [{'Client-Identity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Service-Type') -> + [{'ServiceTypeIdentity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MO-LR') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('Teleservice-List') -> + [{'TS-Code', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('Call-Barring-Info') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('EPS-User-State') -> + [{'MME-User-State', {0, 1}}, + {'SGSN-User-State', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Location-Information') -> + [{'MME-Location-Information', {0, 1}}, + {'SGSN-Location-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MME-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('SGSN-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('MME-Location-Information') -> + [{'E-UTRAN-Cell-Global-Identity', {0, 1}}, + {'Tracking-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SGSN-Location-Information') -> + [{'Cell-Global-Identity', {0, 1}}, + {'Location-Area-Identity', {0, 1}}, + {'Service-Area-Identity', {0, 1}}, + {'Routing-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Active-APN') -> + [{'Context-Identifier', 1}, + {'Service-Selection', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('MDT-Configuration') -> + [{'Job-Type', 1}, + {'Area-Scope', {0, 1}}, + {'List-Of-Measurements', {0, 1}}, + {'Reporting-Trigger', {0, 1}}, + {'Report-Interval', {0, 1}}, + {'Report-Amount', {0, 1}}, + {'Event-Threshold-RSRP', {0, 1}}, + {'Event-Threshold-RSRQ', {0, 1}}, + {'Logging-Interval', {0, 1}}, + {'Logging-Duration', {0, 1}}, + {'Measurement-Period-LTE', {0, 1}}, + {'Measurement-Period-UMTS', {0, 1}}, + {'Positioning-Method', {0, 1}}, + {'Measurement-Quantity', {0, 1}}, + {'Event-Threshold-Event-1F', {0, 1}}, + {'Event-Threshold-Event-1I', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Area-Scope') -> + [{'Cell-Global-Identity', {0, '*'}}, + {'E-UTRAN-Cell-Global-Identity', {0, '*'}}, + {'Routing-Area-Identity', {0, '*'}}, + {'Location-Area-Identity', {0, '*'}}, + {'Tracking-Area-Identity', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Equivalent-PLMN-List') -> + [{'Visited-PLMN-Id', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('VPLMN-CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Local-Time-Zone') -> + [{'Time-Zone', 1}, + {'Daylight-Saving-Time', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Info-Change') -> + [{'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Access-Transfer-Information') -> + [{'Access-Transfer-Type', {0, 1}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Inter-UE-Transfer', {0, 1}}, + {'User-Equipment-Info', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Accumulated-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Additional-Content-Information') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}]; +avp_arity('Address-Domain') -> + [{'Domain-Name', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}]; +avp_arity('AF-Correlation-Information') -> + [{'AF-Charging-Identifier', 1}, {'Flows', {0, '*'}}]; +avp_arity('Announcement-Information') -> + [{'Announcement-Identifier', 1}, + {'Variable-Part', {0, '*'}}, + {'Time-Indicator', {0, 1}}, + {'Quota-Indicator', {0, 1}}, + {'Announcement-Order', {0, 1}}, + {'Play-Alternative', {0, 1}}, + {'Privacy-Indicator', {0, 1}}, + {'Language', {0, 1}}]; +avp_arity('AoC-Cost-Information') -> + [{'Accumulated-Cost', {0, 1}}, + {'Incremental-Cost', {0, '*'}}, + {'Currency-Code', {0, 1}}]; +avp_arity('AoC-Information') -> + [{'AoC-Cost-Information', {0, 1}}, + {'Tariff-Information', {0, 1}}, + {'AoC-Subscription-Information', {0, 1}}]; +avp_arity('AoC-Service') -> + [{'AoC-Service-Obligatory-Type', {0, 1}}, + {'AoC-Service-Type', {0, 1}}]; +avp_arity('AoC-Subscription-Information') -> + [{'AoC-Service', {0, '*'}}, + {'AoC-Format', {0, 1}}, + {'Preferred-AoC-Currency', {0, 1}}]; +avp_arity('APN-Rate-Control') -> + [{'APN-Rate-Control-Uplink', {0, 1}}, + {'APN-Rate-Control-Downlink', {0, 1}}]; +avp_arity('APN-Rate-Control-Downlink') -> + [{'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}, + {'Rate-Control-Max-Message-Size', {0, 1}}]; +avp_arity('APN-Rate-Control-Uplink') -> + [{'Additional-Exception-Reports', {0, 1}}, + {'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}]; +avp_arity('Application-Server-Information') -> + [{'Application-Server', {0, 1}}, + {'Application-Provided-Called-Party-Address', {0, '*'}}, + {'Status-AS-Code', {0, 1}}]; +avp_arity('Basic-Service-Code') -> + [{'Bearer-Service', {0, 1}}, {'Teleservice', {0, 1}}]; +avp_arity('Called-Identity-Change') -> + [{'Called-Identity', {0, 1}}, {'Change-Time', {0, 1}}]; +avp_arity('Coverage-Info') -> + [{'Coverage-Status', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Location-Info', {0, '*'}}]; +avp_arity('CPDT-Information') -> + [{'Serving-Node-Identity', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'NIDD-Submission', {0, 1}}]; +avp_arity('Current-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('Destination-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Early-Media-Description') -> + [{'SDP-TimeStamps', {0, 1}}, + {'SDP-Media-Component', {0, '*'}}, + {'SDP-Session-Description', {0, '*'}}]; +avp_arity('Enhanced-Diagnostics') -> + [{'RAN-NAS-Release-Cause', {0, '*'}}]; +avp_arity('Envelope') -> + [{'Envelope-Start-Time', 1}, + {'Envelope-End-Time', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}]; +avp_arity('Event-Type') -> + [{'SIP-Method', {0, 1}}, + {'Event', {0, 1}}, + {'Expires', {0, 1}}]; +avp_arity('Incremental-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('IMS-Information') -> + [{'Node-Functionality', 1}, + {'Event-Type', {0, 1}}, + {'Role-Of-Node', {0, 1}}, + {'User-Session-Id', {0, 1}}, + {'Outgoing-Session-Id', {0, 1}}, + {'Session-Priority', {0, 1}}, + {'Calling-Party-Address', {0, '*'}}, + {'Called-Party-Address', {0, 1}}, + {'Called-Asserted-Identity', {0, '*'}}, + {'Called-Identity-Change', {0, 1}}, + {'Number-Portability-Routing-Information', {0, 1}}, + {'Carrier-Select-Routing-Information', {0, 1}}, + {'Alternate-Charged-Party-Address', {0, 1}}, + {'Requested-Party-Address', {0, '*'}}, + {'Associated-URI', {0, '*'}}, + {'Time-Stamps', {0, 1}}, + {'Application-Server-Information', {0, '*'}}, + {'Inter-Operator-Identifier', {0, '*'}}, + {'Transit-IOI-List', {0, '*'}}, + {'IMS-Charging-Identifier', {0, 1}}, + {'SDP-Session-Description', {0, '*'}}, + {'SDP-Media-Component', {0, '*'}}, + {'Served-Party-IP-Address', {0, 1}}, + {'Trunk-Group-Id', {0, 1}}, + {'Bearer-Service', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Service-Specific-Info', {0, '*'}}, + {'Message-Body', {0, '*'}}, + {'Cause-Code', {0, 1}}, + {'Reason-Header', {0, '*'}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Early-Media-Description', {0, '*'}}, + {'IMS-Communication-Service-Identifier', {0, 1}}, + {'IMS-Application-Reference-Identifier', {0, 1}}, + {'Online-Charging-Flag', {0, 1}}, + {'Real-Time-Tariff-Information', {0, 1}}, + {'Account-Expiration', {0, 1}}, + {'Initial-IMS-Charging-Identifier', {0, 1}}, + {'NNI-Information', {0, '*'}}, + {'From-Address', {0, 1}}, + {'IMS-Emergency-Indicator', {0, 1}}, + {'IMS-Visited-Network-Identifier', {0, 1}}, + {'Access-Network-Info-Change', {0, '*'}}, + {'Access-Transfer-Information', {0, '*'}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Route-Header-Received', {0, 1}}, + {'Route-Header-Transmitted', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'TAD-Identifier', {0, 1}}, + {'FE-Identifier-List', {0, 1}}]; +avp_arity('Inter-Operator-Identifier') -> + [{'Originating-IOI', {0, 1}}, + {'Terminating-IOI', {0, 1}}]; +avp_arity('ISUP-Cause') -> + [{'ISUP-Cause-Location', {0, 1}}, + {'ISUP-Cause-Value', {0, 1}}, + {'ISUP-Cause-Diagnostics', {0, 1}}]; +avp_arity('LCS-Client-ID') -> + [{'LCS-Client-Type', {0, 1}}, + {'LCS-Client-External-ID', {0, 1}}, + {'LCS-Client-Dialed-By-MS', {0, 1}}, + {'LCS-Client-Name', {0, 1}}, + {'LCS-APN', {0, 1}}, + {'LCS-Requestor-ID', {0, 1}}]; +avp_arity('LCS-Client-Name') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Name-String', {0, 1}}, + {'LCS-Format-Indicator', {0, 1}}]; +avp_arity('LCS-Information') -> + [{'LCS-Client-ID', {0, 1}}, + {'Location-Type', {0, 1}}, + {'Location-Estimate', {0, 1}}, + {'Positioning-Data', {0, 1}}, + {'3GPP-IMSI', {0, 1}}, + {'MSISDN', {0, 1}}]; +avp_arity('LCS-Requestor-ID') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Requestor-ID-String', {0, 1}}]; +avp_arity('Location-Info') -> + [{'3GPP-User-Location-Info', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Location-Type') -> + [{'Location-Estimate-Type', {0, 1}}, + {'Deferred-Location-Event-Type', {0, 1}}]; +avp_arity('MBMS-Information') -> + [{'TMGI', {0, 1}}, + {'MBMS-User-Service-Type', {0, 1}}, + {'File-Repair-Supported', {0, 1}}, + {'MBMS-2G-3G-Indicator', {0, 1}}, + {'MBMS-Service-Area', {0, '*'}}, + {'MBMS-Session-Identity', {0, 1}}, + {'CN-IP-Multicast-Distribution', {0, 1}}, + {'MBMS-GW-Address', {0, 1}}, + {'MBMS-Charged-Party', {0, 1}}, + {'MSISDN', {0, '*'}}]; +avp_arity('Message-Body') -> + [{'Content-Type', 1}, + {'Content-Length', 1}, + {'Content-Disposition', {0, 1}}, + {'Originator', {0, 1}}]; +avp_arity('Message-Class') -> + [{'Class-Identifier', {0, 1}}, {'Token-Text', {0, 1}}]; +avp_arity('MM-Content-Type') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}, + {'Additional-Content-Information', {0, '*'}}]; +avp_arity('MMS-Information') -> + [{'Originator-Address', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Submission-Time', {0, 1}}, + {'MM-Content-Type', {0, 1}}, + {'Priority', {0, 1}}, + {'Message-ID', {0, 1}}, + {'Message-Type', {0, 1}}, + {'Message-Size', {0, 1}}, + {'Message-Class', {0, 1}}, + {'Delivery-Report-Requested', {0, 1}}, + {'Read-Reply-Report-Requested', {0, 1}}, + {'MMBox-Storage-Requested', {0, 1}}, + {'Applic-ID', {0, 1}}, + {'Reply-Applic-ID', {0, 1}}, + {'Aux-Applic-Info', {0, 1}}, + {'Content-Class', {0, 1}}, + {'DRM-Content', {0, 1}}, + {'Adaptations', {0, 1}}]; +avp_arity('MMTel-Information') -> + [{'Supplementary-Service', {0, '*'}}]; +avp_arity('Monitoring-Event-Information') -> + [{'Monitoring-Event-Functionality', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Configuration-Activity', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Monitoring-Event-Report-Data', {0, '*'}}]; +avp_arity('Monitoring-Event-Report-Data') -> + [{'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Report-Number', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Subscription-Id', {0, 1}}]; +avp_arity('Next-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('NIDD-Submission') -> + [{'Submission-Time', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}]; +avp_arity('NNI-Information') -> + [{'Session-Direction', {0, 1}}, + {'NNI-Type', {0, 1}}, + {'Relationship-Mode', {0, 1}}, + {'Neighbour-Node-Address', {0, 1}}]; +avp_arity('Offline-Charging') -> + [{'Quota-Consumption-Time', {0, 1}}, + {'Time-Quota-Mechanism', {0, 1}}, + {'Envelope-Reporting', {0, 1}}, + {'Multiple-Services-Credit-Control', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Originator-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Originator-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Originator-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Participant-Group') -> + [{'Called-Party-Address', {0, 1}}, + {'Participant-Access-Priority', {0, 1}}, + {'User-Participating-Type', {0, 1}}]; +avp_arity('PoC-Information') -> + [{'PoC-Server-Role', {0, 1}}, + {'PoC-Session-Type', {0, 1}}, + {'PoC-User-Role', {0, 1}}, + {'PoC-Session-Initiation-Type', {0, 1}}, + {'PoC-Event-Type', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participants-Involved', {0, '*'}}, + {'Participant-Group', {0, '*'}}, + {'Talk-Burst-Exchange', {0, '*'}}, + {'PoC-Controlling-Address', {0, 1}}, + {'PoC-Group-Name', {0, 1}}, + {'PoC-Session-Id', {0, 1}}, + {'Charged-Party', {0, 1}}]; +avp_arity('PoC-User-Role') -> + [{'PoC-User-Role-IDs', {0, 1}}, + {'PoC-User-Role-Info-Units', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Information') -> + [{'Announcing-UE-HPLMN-Identifier', {0, 1}}, + {'Announcing-UE-VPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-HPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-VPLMN-Identifier', {0, 1}}, + {'Role-Of-ProSe-Function', {0, 1}}, + {'ProSe-3rd-Party-Application-ID', {0, 1}}, + {'Application-Specific-Data', {0, 1}}, + {'ProSe-Event-Type', {0, 1}}, + {'ProSe-Direct-Discovery-Model', {0, 1}}, + {'ProSe-Function-IP-Address', {0, 1}}, + {'ProSe-Role-Of-UE', {0, 1}}, + {'ProSe-Request-Timestamp', {0, 1}}, + {'PC3-Control-Protocol-Cause', {0, 1}}, + {'Monitoring-UE-Identifier', {0, 1}}, + {'Requestor-PLMN-Identifier', {0, 1}}, + {'Requested-PLMN-Identifier', {0, 1}}, + {'ProSe-Range-Class', {0, 1}}, + {'Proximity-Alert-Indication', {0, 1}}, + {'Proximity-Alert-Timestamp', {0, 1}}, + {'Proximity-Cancellation-Timestamp', {0, 1}}, + {'ProSe-Reason-For-Cancellation', {0, 1}}, + {'PC3-EPC-Control-Protocol-Cause', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}, + {'ProSe-Source-IP-Address', {0, 1}}, + {'Layer-2-Group-ID', {0, 1}}, + {'ProSe-Group-IP-Multicast-Address', {0, 1}}, + {'Coverage-Info', {0, '*'}}, + {'Radio-Parameter-Set-Info', {0, '*'}}, + {'Transmitter-Info', {0, '*'}}, + {'Time-First-Transmission', {0, 1}}, + {'Time-First-Reception', {0, 1}}, + {'ProSe-Direct-Communication-Transmission-Data-Container', + {0, '*'}}, + {'ProSe-Direct-Communication-Reception-Data-Container', + {0, '*'}}, + {'Announcing-PLMN-ID', {0, 1}}, + {'ProSe-Target-Layer-2-ID', {0, 1}}, + {'Relay-IP-address', {0, 1}}, + {'ProSe-UE-to-Network-Relay-UE-ID', {0, 1}}, + {'Target-IP-Address', {0, 1}}, + {'PC5-Radio-Technology', {0, 1}}]; +avp_arity('PS-Furnish-Charging-Information') -> + [{'3GPP-Charging-Id', 1}, + {'PS-Free-Format-Data', 1}, + {'PS-Append-Free-Format-Data', {0, 1}}]; +avp_arity('PS-Information') -> + [{'3GPP-Charging-Id', {0, 1}}, + {'PDN-Connection-Charging-ID', {0, 1}}, + {'Node-Id', {0, 1}}, + {'3GPP-PDP-Type', {0, 1}}, + {'PDP-Address', {0, '*'}}, + {'PDP-Address-Prefix-Length', {0, 1}}, + {'Dynamic-Address-Flag', {0, 1}}, + {'Dynamic-Address-Flag-Extension', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'SGSN-Address', {0, '*'}}, + {'GGSN-Address', {0, '*'}}, + {'TDF-IP-Address', {0, '*'}}, + {'SGW-Address', {0, '*'}}, + {'TWAG-Address', {0, '*'}}, + {'CG-Address', {0, 1}}, + {'Serving-Node-Type', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}, + {'IMSI-Unauthenticated-Flag', {0, 1}}, + {'3GPP-GGSN-MCC-MNC', {0, 1}}, + {'3GPP-NSAPI', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'3GPP-Session-Stop-Indicator', {0, 1}}, + {'3GPP-Selection-Mode', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Charging-Characteristics-Selection-Mode', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'User-Location-Info-Time', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'TWAN-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'PS-Furnish-Charging-Information', {0, 1}}, + {'PDP-Context-Type', {0, 1}}, + {'Offline-Charging', {0, 1}}, + {'Traffic-Data-Volumes', {0, '*'}}, + {'Service-Data-Container', {0, '*'}}, + {'User-Equipment-Info', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Low-Priority-Indicator', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'Fixed-User-Location-Info', {0, 1}}, + {'CN-Operator-Selection-Entity', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'SGi-PtP-Tunnelling-Method', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}, + {'UNI-PDU-CP-Only-Flag', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'Charging-Per-IP-CAN-Session-Indicator', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}, + {'SCS-AS-Address', {0, 1}}, + {'Unused-Quota-Timer', {0, 1}}, + {'RAN-Secondary-RAT-Usage-Report', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Radio-Parameter-Set-Info') -> + [{'Radio-Parameter-Set-Values', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('RAN-Secondary-RAT-Usage-Report') -> + [{'Secondary-RAT-Type', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}]; +avp_arity('Rate-Element') -> + [{'CC-Unit-Type', 1}, + {'Charge-Reason-Code', {0, 1}}, + {'Unit-Value', {0, 1}}, + {'Unit-Cost', {0, 1}}, + {'Unit-Quota-Threshold', {0, 1}}]; +avp_arity('Real-Time-Tariff-Information') -> + [{'Tariff-Information', {0, 1}}, + {'Tariff-XML', {0, 1}}]; +avp_arity('Recipient-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}, + {'Addressee-Type', {0, 1}}]; +avp_arity('Recipient-Info') -> + [{'Destination-Interface', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Recipient-Received-Address', {0, '*'}}, + {'Recipient-SCCP-Address', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}]; +avp_arity('Recipient-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Related-Change-Condition-Information') -> + [{'SGSN-Address', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}]; +avp_arity('Related-Trigger') -> + [{'Trigger-Type', {0, '*'}}]; +avp_arity('Remaining-Balance') -> + [{'Unit-Value', 1}, {'Currency-Code', 1}]; +avp_arity('Scale-Factor') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('SCS-AS-Address') -> + [{'SCS-Realm', {0, 1}}, {'SCS-Address', {0, 1}}]; +avp_arity('SDP-Media-Component') -> + [{'SDP-Media-Name', {0, 1}}, + {'SDP-Media-Description', {0, '*'}}, + {'Local-GW-Inserted-Indication', {0, 1}}, + {'IP-Realm-Default-Indication', {0, 1}}, + {'Transcoder-Inserted-Indication', {0, 1}}, + {'Media-Initiator-Flag', {0, 1}}, + {'Media-Initiator-Party', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Access-Network-Charging-Identifier-Value', {0, 1}}, + {'SDP-Type', {0, 1}}]; +avp_arity('SDP-TimeStamps') -> + [{'SDP-Offer-Timestamp', {0, 1}}, + {'SDP-Answer-Timestamp', {0, 1}}]; +avp_arity('Service-Data-Container') -> + [{'AF-Correlation-Information', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Local-Sequence-Number', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Service-Identifier', {0, 1}}, + {'Service-Specific-Info', {0, 1}}, + {'SGSN-Address', {0, 1}}, + {'Time-First-Usage', {0, 1}}, + {'Time-Last-Usage', {0, 1}}, + {'Time-Usage', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}]; +avp_arity('Service-Information') -> + [{'Subscription-Id', {0, '*'}}, + {'AoC-Information', {0, 1}}, + {'PS-Information', {0, 1}}, + {'IMS-Information', {0, 1}}, + {'MMS-Information', {0, 1}}, + {'LCS-Information', {0, 1}}, + {'PoC-Information', {0, 1}}, + {'MBMS-Information', {0, 1}}, + {'SMS-Information', {0, 1}}, + {'VCS-Information', {0, 1}}, + {'MMTel-Information', {0, 1}}, + {'ProSe-Information', {0, 1}}, + {'CPDT-Information', {0, 1}}]; +avp_arity('Service-Specific-Info') -> + [{'Service-Specific-Data', {0, 1}}, + {'Service-Specific-Type', {0, 1}}]; +avp_arity('SM-Device-Trigger-Information') -> + [{'MTC-IWF-Address', {0, 1}}, + {'Validity-Time', {0, 1}}]; +avp_arity('SMS-Information') -> + [{'SMS-Node', {0, 1}}, + {'Client-Address', {0, 1}}, + {'Originator-SCCP-Address', {0, 1}}, + {'SMSC-Address', {0, 1}}, + {'Data-Coding-Scheme', {0, 1}}, + {'SM-Discharge-Time', {0, 1}}, + {'SM-Message-Type', {0, 1}}, + {'Originator-Interface', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}, + {'Reply-Path-Requested', {0, 1}}, + {'SM-Status', {0, 1}}, + {'SM-User-Data-Header', {0, 1}}, + {'Number-Of-Messages-Sent', {0, 1}}, + {'SM-Sequence-Number', {0, 1}}, + {'Recipient-Info', {0, '*'}}, + {'Originator-Received-Address', {0, 1}}, + {'SM-Service-Type', {0, 1}}, + {'SMS-Result', {0, 1}}, + {'SM-Device-Trigger-Indicator', {0, 1}}, + {'SM-Device-Trigger-Information', {0, 1}}, + {'MTC-IWF-Address', {0, 1}}]; +avp_arity('Supplementary-Service') -> + [{'MMTel-SService-Type', {0, 1}}, + {'Service-Mode', {0, 1}}, + {'Number-Of-Diversions', {0, 1}}, + {'Associated-Party-Address', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participant-Action-Type', {0, 1}}, + {'CUG-Information', {0, 1}}, + {'AoC-Information', {0, 1}}]; +avp_arity('Talk-Burst-Exchange') -> + [{'PoC-Change-Time', 1}, + {'Number-Of-Talk-Bursts', {0, 1}}, + {'Talk-Burst-Volume', {0, 1}}, + {'Talk-Burst-Time', {0, 1}}, + {'Number-Of-Received-Talk-Bursts', {0, 1}}, + {'Received-Talk-Burst-Volume', {0, 1}}, + {'Received-Talk-Burst-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'PoC-Change-Condition', {0, 1}}]; +avp_arity('Tariff-Information') -> + [{'Current-Tariff', 1}, + {'Tariff-Time-Change', {0, 1}}, + {'Next-Tariff', {0, 1}}]; +avp_arity('Time-Quota-Mechanism') -> + [{'Time-Quota-Type', 1}, {'Base-Time-Interval', 1}]; +avp_arity('Time-Stamps') -> + [{'SIP-Request-Timestamp', {0, 1}}, + {'SIP-Response-Timestamp', {0, 1}}, + {'SIP-Request-Timestamp-Fraction', {0, 1}}, + {'SIP-Response-Timestamp-Fraction', {0, 1}}]; +avp_arity('Traffic-Data-Volumes') -> + [{'QoS-Information', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Change-Time', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}]; +avp_arity('Transmitter-Info') -> + [{'ProSe-Source-IP-Address', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}]; +avp_arity('Trigger') -> [{'Trigger-Type', {0, '*'}}]; +avp_arity('Trunk-Group-Id') -> + [{'Incoming-Trunk-Group-Id', {0, 1}}, + {'Outgoing-Trunk-Group-Id', {0, 1}}]; +avp_arity('TWAN-User-Location-Info') -> + [{'BSSID', {0, 1}}]; +avp_arity('Unit-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('User-CSG-Information') -> + [{'CSG-Access-Mode', 1}, + {'CSG-Membership-Indication', {0, 1}}]; +avp_arity('UWAN-User-Location-Info') -> + [{'UE-Local-IP-Address', 1}, + {'UDP-Source-Port', {0, 1}}, + {'BSSID', {0, 1}}]; +avp_arity('Variable-Part') -> + [{'Variable-Part-Type', 1}, + {'Variable-Part-Value', 1}, + {'Variable-Part-Order', {0, 1}}]; +avp_arity('VCS-Information') -> + [{'Bearer-Capability', {0, 1}}, + {'Network-Call-Reference-Number', {0, 1}}, + {'MSC-Address', {0, 1}}, + {'Basic-Service-Code', {0, 1}}, + {'ISUP-Location-Number', {0, 1}}, + {'VLR-Number', {0, 1}}, + {'Forwarding-Pending', {0, 1}}, + {'ISUP-Cause', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Start-of-Charging', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'PS-Free-Format-Data', {0, 1}}]; +avp_arity('Cost-Information') -> + [{'Unit-Value', 1}, + {'Currency-Code', 1}, + {'Cost-Unit', {0, 1}}]; +avp_arity('Unit-Value') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Multiple-Services-Credit-Control') -> + [{'Granted-Service-Unit', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Tariff-Change-Usage', {0, 1}}, + {'Service-Identifier', {0, '*'}}, + {'Rating-Group', {0, 1}}, + {'G-S-U-Pool-Reference', {0, '*'}}, + {'Validity-Time', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Granted-Service-Unit') -> + [{'Tariff-Time-Change', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-Service-Unit') -> + [{'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Used-Service-Unit') -> + [{'Tariff-Change-Usage', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CC-Money') -> + [{'Unit-Value', 1}, {'Currency-Code', {0, 1}}]; +avp_arity('G-S-U-Pool-Reference') -> + [{'G-S-U-Pool-Identifier', 1}, + {'CC-Unit-Type', 1}, + {'Unit-Value', 1}]; +avp_arity('Final-Unit-Indication') -> + [{'Final-Unit-Action', 1}, + {'Restriction-Filter-Rule', {0, '*'}}, + {'Filter-Id', {0, '*'}}, + {'Redirect-Server', {0, 1}}]; +avp_arity('Redirect-Server') -> + [{'Redirect-Address-Type', 1}, + {'Redirect-Server-Address', 1}]; +avp_arity('Service-Parameter-Info') -> + [{'Service-Parameter-Type', 1}, + {'Service-Parameter-Value', 1}]; +avp_arity('Subscription-Id') -> + [{'Subscription-Id-Type', 1}, + {'Subscription-Id-Data', 1}]; +avp_arity('User-Equipment-Info') -> + [{'User-Equipment-Info-Type', 1}, + {'User-Equipment-Info-Value', 1}]; +avp_arity('OC-Supported-Features') -> + [{'OC-Feature-Vector', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('OC-OLR') -> + [{'OC-Sequence-Number', 1}, + {'OC-Report-Type', 1}, + {'OC-Reduction-Percentage', {0, 1}}, + {'OC-Validity-Duration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('WLAN-Identifier', 'SSID') -> {0, 1}; +avp_arity('WLAN-Identifier', 'HESSID') -> {0, 1}; +avp_arity('WLAN-Identifier', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Info', 'SSID') -> {0, 1}; +avp_arity('Access-Network-Info', 'BSSID') -> {0, 1}; +avp_arity('Access-Network-Info', + 'Location-Information') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Location-Data') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Operator-Name') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Access-Network-Info', 'AVP') -> {0, '*'}; +avp_arity('TWAN-Connectivity-Parameters', + 'Connectivity-Flags') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'Service-Selection') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', 'PDN-Type') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'Served-Party-IP-Address') -> + {0, 2}; +avp_arity('TWAN-Connectivity-Parameters', 'TWAN-PCO') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'TWAG-UP-Address') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'TWAN-S2a-Failure-Cause') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'SM-Back-Off-Timer') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', 'AVP') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Subscription-Id') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Non-3GPP-IP-Access') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'Non-3GPP-IP-Access-APN') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'RAT-Type') -> {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Session-Timeout') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'MIP6-Feature-Vector') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'AMBR') -> {0, 1}; +avp_arity('Non-3GPP-User-Data', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Context-Identifier') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'APN-Configuration') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Trace-Info') -> {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'TWAN-Default-APN-Context-Id') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'TWAN-Access-Info') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'UE-Usage-Type') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Emergency-Info') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'ERP-Authorization') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'Core-Network-Restrictions') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'AVP') -> {0, '*'}; +avp_arity('Trace-Info', 'Trace-Data') -> {0, 1}; +avp_arity('Trace-Info', 'Trace-Reference') -> {0, 1}; +avp_arity('Trace-Info', 'AVP') -> {0, '*'}; +avp_arity('TWAN-Access-Info', + 'Access-Authorization-Flags') -> + {0, 1}; +avp_arity('TWAN-Access-Info', 'WLAN-Identifier') -> + {0, 1}; +avp_arity('TWAN-Access-Info', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Emergency-Info', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('Emergency-Info', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Access-Network-Charging-Identifier-Value') -> + 1; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'IP-CAN-Session-Charging-Scope') -> + {0, 1}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'AVP') -> + {0, '*'}; +avp_arity('Allocation-Retention-Priority', + 'Priority-Level') -> + 1; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Capability') -> + {0, 1}; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Vulnerability') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'TDF-Application-Identifier') -> + 1; +avp_arity('Application-Detection-Information', + 'TDF-Application-Instance-Identifier') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Application-Detection-Information', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Charging-Rule-Name') -> + 1; +avp_arity('Charging-Rule-Definition', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Rating-Group') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'TDF-Application-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flow-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'QoS-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'PS-to-CS-Session-Continuity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Reporting-Level') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Online') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Offline') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Metering-Method') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Charging-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flows') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Redirect-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Mute-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Signalling-Protocol') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Definition') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Activation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Deactivation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Resource-Allocation-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Charging-Correlation-Indicator') -> + {0, 1}; +avp_arity('Charging-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Report', 'PCC-Rule-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Rule-Failure-Code') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', 'AVP') -> {0, '*'}; +avp_arity('CoA-Information', 'Tunnel-Information') -> 1; +avp_arity('CoA-Information', 'CoA-IP-Address') -> 1; +avp_arity('CoA-Information', 'AVP') -> {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'IP-CAN-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'RAT-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'AVP') -> + {0, '*'}; +avp_arity('Default-EPS-Bearer-QoS', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', 'AVP') -> {0, '*'}; +avp_arity('Default-QoS-Information', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Default-QoS-Name') -> + {0, 1}; +avp_arity('Default-QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Event-Report-Indication', 'Event-Trigger') -> + {0, '*'}; +avp_arity('Event-Report-Indication', 'IP-CAN-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AN-GW-Address') -> + {0, 2}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-IPv6-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Framed-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAT-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAI') -> {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UE-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'HeNB-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AVP') -> {0, '*'}; +avp_arity('Fixed-User-Location-Info', + 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', + 'Physical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', 'AVP') -> + {0, '*'}; +avp_arity('Flow-Information', 'Flow-Description') -> + {0, 1}; +avp_arity('Flow-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Flow-Information', 'Packet-Filter-Usage') -> + {0, 1}; +avp_arity('Flow-Information', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Flow-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Flow-Information', 'Flow-Label') -> {0, 1}; +avp_arity('Flow-Information', 'Flow-Direction') -> + {0, 1}; +avp_arity('Flow-Information', 'AVP') -> {0, '*'}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Precedence') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Content') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Flow-Label') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Identifier') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Elements-List') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'AVP') -> + {0, '*'}; +avp_arity('QoS-Information', 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Bearer-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Conditional-APN-Aggregate-Max-Bitrate') -> + {0, '*'}; +avp_arity('QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Redirect-Information', 'Redirect-Support') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Address-Type') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Server-Address') -> + {0, 1}; +avp_arity('Redirect-Information', 'AVP') -> {0, '*'}; +avp_arity('Routing-Filter', 'Flow-Description') -> 1; +avp_arity('Routing-Filter', 'Flow-Direction') -> 1; +avp_arity('Routing-Filter', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Routing-Filter', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Routing-Filter', 'Flow-Label') -> {0, 1}; +avp_arity('Routing-Filter', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Definition', + 'Routing-Rule-Identifier') -> + 1; +avp_arity('Routing-Rule-Definition', + 'Routing-Filter') -> + {0, '*'}; +avp_arity('Routing-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Install', + 'Routing-Rule-Definition') -> + {0, '*'}; +avp_arity('Routing-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Remove', + 'Routing-Rule-Identifier') -> + {0, '*'}; +avp_arity('Routing-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('TDF-Information', 'TDF-Destination-Realm') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-Destination-Host') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-IP-Address') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Length') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Filter') -> + {0, 2}; +avp_arity('Tunnel-Information', 'AVP') -> {0, '*'}; +avp_arity('TFT-Packet-Filter-Information', + 'Precedence') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'TFT-Filter') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Label') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Usage-Monitoring-Information', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Granted-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Used-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Level') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Report') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Support') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', 'AVP') -> + {0, '*'}; +avp_arity('Subscription-Data', 'Subscriber-Status') -> + {0, 1}; +avp_arity('Subscription-Data', 'MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'A-MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'STN-SR') -> {0, 1}; +avp_arity('Subscription-Data', 'ICS-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'Network-Access-Mode') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Operator-Determined-Barring') -> + {0, 1}; +avp_arity('Subscription-Data', 'HPLMN-ODB') -> {0, 1}; +avp_arity('Subscription-Data', + 'Regional-Subscription-Zone-Code') -> + {0, 10}; +avp_arity('Subscription-Data', + 'Access-Restriction-Data') -> + {0, 1}; +avp_arity('Subscription-Data', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('Subscription-Data', 'LCS-Info') -> {0, 1}; +avp_arity('Subscription-Data', 'Teleservice-List') -> + {0, 1}; +avp_arity('Subscription-Data', 'Call-Barring-Info') -> + {0, '*'}; +avp_arity('Subscription-Data', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('Subscription-Data', 'AMBR') -> {0, 1}; +avp_arity('Subscription-Data', + 'APN-Configuration-Profile') -> + {0, 1}; +avp_arity('Subscription-Data', + 'RAT-Frequency-Selection-Priority-ID') -> + {0, 1}; +avp_arity('Subscription-Data', 'Trace-Data') -> {0, 1}; +avp_arity('Subscription-Data', + 'GPRS-Subscription-Data') -> + {0, 1}; +avp_arity('Subscription-Data', + 'CSG-Subscription-Data') -> + {0, '*'}; +avp_arity('Subscription-Data', + 'Roaming-Restricted-Due-To-Unsupported-Feature') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscribed-Periodic-RAU-TAU-Timer') -> + {0, 1}; +avp_arity('Subscription-Data', 'MPS-Priority') -> + {0, 1}; +avp_arity('Subscription-Data', 'VPLMN-LIPA-Allowed') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Relay-Node-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'MDT-User-Consent') -> + {0, 1}; +avp_arity('Subscription-Data', 'Subscribed-VSRVCC') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscription-Data-Flags') -> + {0, 1}; +avp_arity('Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Terminal-Information', 'IMEI') -> {0, 1}; +avp_arity('Terminal-Information', '3GPP2-MEID') -> + {0, 1}; +avp_arity('Terminal-Information', 'Software-Version') -> + {0, 1}; +avp_arity('Terminal-Information', 'AVP') -> {0, '*'}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Authentication-Info', 'E-UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'GERAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'AVP') -> {0, '*'}; +avp_arity('E-UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('E-UTRAN-Vector', 'RAND') -> 1; +avp_arity('E-UTRAN-Vector', 'XRES') -> 1; +avp_arity('E-UTRAN-Vector', 'AUTN') -> 1; +avp_arity('E-UTRAN-Vector', 'KASME') -> 1; +avp_arity('E-UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('UTRAN-Vector', 'RAND') -> 1; +avp_arity('UTRAN-Vector', 'XRES') -> 1; +avp_arity('UTRAN-Vector', 'AUTN') -> 1; +avp_arity('UTRAN-Vector', 'Confidentiality-Key') -> 1; +avp_arity('UTRAN-Vector', 'Integrity-Key') -> 1; +avp_arity('UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('GERAN-Vector', 'Item-Number') -> 1; +avp_arity('GERAN-Vector', 'RAND') -> 1; +avp_arity('GERAN-Vector', 'SRES') -> 1; +avp_arity('GERAN-Vector', 'Kc') -> 1; +avp_arity('GERAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('APN-Configuration-Profile', + 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration-Profile', + 'All-APN-Configurations-Included-Indicator') -> + 1; +avp_arity('APN-Configuration-Profile', + 'APN-Configuration') -> + {1, '*'}; +avp_arity('APN-Configuration-Profile', 'AVP') -> + {0, '*'}; +avp_arity('APN-Configuration', 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration', 'PDN-Type') -> 1; +avp_arity('APN-Configuration', 'Service-Selection') -> + 1; +avp_arity('APN-Configuration', + 'Served-Party-IP-Address') -> + {0, 2}; +avp_arity('APN-Configuration', + 'EPS-Subscribed-QoS-Profile') -> + {0, 1}; +avp_arity('APN-Configuration', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('APN-Configuration', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('APN-Configuration', + 'PDN-GW-Allocation-Type') -> + {0, 1}; +avp_arity('APN-Configuration', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('APN-Configuration', 'AMBR') -> {0, 1}; +avp_arity('APN-Configuration', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('APN-Configuration', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('APN-Configuration', 'SIPTO-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', 'LIPA-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Restoration-Priority') -> + {0, 1}; +avp_arity('APN-Configuration', 'AVP') -> {0, '*'}; +avp_arity('EPS-Subscribed-QoS-Profile', + 'QoS-Class-Identifier') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', + 'Allocation-Retention-Priority') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', 'AVP') -> + {0, '*'}; +avp_arity('AMBR', 'Max-Requested-Bandwidth-UL') -> 1; +avp_arity('AMBR', 'Max-Requested-Bandwidth-DL') -> 1; +avp_arity('AMBR', 'AVP') -> {0, '*'}; +avp_arity('Trace-Data', 'Trace-Reference') -> 1; +avp_arity('Trace-Data', 'Trace-Depth') -> 1; +avp_arity('Trace-Data', 'Trace-NE-Type-List') -> 1; +avp_arity('Trace-Data', 'Trace-Event-List') -> 1; +avp_arity('Trace-Data', 'Trace-Collection-Entity') -> 1; +avp_arity('Trace-Data', 'Trace-Interface-List') -> + {0, 1}; +avp_arity('Trace-Data', 'OMC-Id') -> {0, 1}; +avp_arity('Trace-Data', 'MDT-Configuration') -> {0, 1}; +avp_arity('Trace-Data', 'AVP') -> {0, '*'}; +avp_arity('GPRS-Subscription-Data', + 'Complete-Data-List-Included-Indicator') -> + 1; +avp_arity('GPRS-Subscription-Data', 'PDP-Context') -> + {1, 50}; +avp_arity('GPRS-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('PDP-Context', 'Context-Identifier') -> 1; +avp_arity('PDP-Context', 'PDP-Type') -> 1; +avp_arity('PDP-Context', 'QoS-Subscribed') -> 1; +avp_arity('PDP-Context', 'Service-Selection') -> 1; +avp_arity('PDP-Context', 'PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('PDP-Context', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Type') -> {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', 'AMBR') -> {0, 1}; +avp_arity('PDP-Context', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('PDP-Context', 'SIPTO-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'LIPA-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'Restoration-Priority') -> + {0, 1}; +avp_arity('PDP-Context', 'AVP') -> {0, '*'}; +avp_arity('CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('CSG-Subscription-Data', 'Expiration-Date') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', + 'Service-Selection') -> + {0, '*'}; +avp_arity('CSG-Subscription-Data', 'Visited-PLMN-Id') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Specific-APN-Info', 'Service-Selection') -> + 1; +avp_arity('Specific-APN-Info', 'MIP6-Agent-Info') -> 1; +avp_arity('Specific-APN-Info', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Specific-APN-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-Info', 'GMLC-Number') -> {0, '*'}; +avp_arity('LCS-Info', 'LCS-PrivacyException') -> + {0, '*'}; +avp_arity('LCS-Info', 'MO-LR') -> {0, '*'}; +avp_arity('LCS-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-PrivacyException', 'SS-Code') -> 1; +avp_arity('LCS-PrivacyException', 'SS-Status') -> 1; +avp_arity('LCS-PrivacyException', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('LCS-PrivacyException', 'External-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'PLMN-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'Service-Type') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'AVP') -> {0, '*'}; +avp_arity('External-Client', 'Client-Identity') -> 1; +avp_arity('External-Client', 'GMLC-Restriction') -> + {0, 1}; +avp_arity('External-Client', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('External-Client', 'AVP') -> {0, '*'}; +avp_arity('Service-Type', 'ServiceTypeIdentity') -> 1; +avp_arity('Service-Type', 'GMLC-Restriction') -> {0, 1}; +avp_arity('Service-Type', 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('Service-Type', 'AVP') -> {0, '*'}; +avp_arity('MO-LR', 'SS-Code') -> 1; +avp_arity('MO-LR', 'SS-Status') -> 1; +avp_arity('MO-LR', 'AVP') -> {0, '*'}; +avp_arity('Teleservice-List', 'TS-Code') -> {1, '*'}; +avp_arity('Teleservice-List', 'AVP') -> {0, '*'}; +avp_arity('Call-Barring-Info', 'SS-Code') -> 1; +avp_arity('Call-Barring-Info', 'SS-Status') -> 1; +avp_arity('Call-Barring-Info', 'AVP') -> {0, '*'}; +avp_arity('EPS-User-State', 'MME-User-State') -> {0, 1}; +avp_arity('EPS-User-State', 'SGSN-User-State') -> + {0, 1}; +avp_arity('EPS-User-State', 'AVP') -> {0, '*'}; +avp_arity('EPS-Location-Information', + 'MME-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', + 'SGSN-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('MME-User-State', 'User-State') -> {0, 1}; +avp_arity('MME-User-State', 'AVP') -> {0, '*'}; +avp_arity('SGSN-User-State', 'User-State') -> {0, 1}; +avp_arity('SGSN-User-State', 'AVP') -> {0, '*'}; +avp_arity('MME-Location-Information', + 'E-UTRAN-Cell-Global-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Tracking-Area-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('SGSN-Location-Information', + 'Cell-Global-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Location-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Service-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Routing-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('Active-APN', 'Context-Identifier') -> 1; +avp_arity('Active-APN', 'Service-Selection') -> {0, 1}; +avp_arity('Active-APN', 'MIP6-Agent-Info') -> {0, 1}; +avp_arity('Active-APN', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Active-APN', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('Active-APN', 'AVP') -> {0, '*'}; +avp_arity('MDT-Configuration', 'Job-Type') -> 1; +avp_arity('MDT-Configuration', 'Area-Scope') -> {0, 1}; +avp_arity('MDT-Configuration', + 'List-Of-Measurements') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Reporting-Trigger') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Amount') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRP') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRQ') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Duration') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-LTE') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-UMTS') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Positioning-Method') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Quantity') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1F') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1I') -> + {0, 1}; +avp_arity('MDT-Configuration', 'AVP') -> {0, '*'}; +avp_arity('Area-Scope', 'Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', + 'E-UTRAN-Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Routing-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Location-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Tracking-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'AVP') -> {0, '*'}; +avp_arity('Equivalent-PLMN-List', 'Visited-PLMN-Id') -> + {1, '*'}; +avp_arity('Equivalent-PLMN-List', 'AVP') -> {0, '*'}; +avp_arity('VPLMN-CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('VPLMN-CSG-Subscription-Data', + 'Expiration-Date') -> + {0, 1}; +avp_arity('VPLMN-CSG-Subscription-Data', 'AVP') -> + {0, '*'}; +avp_arity('Local-Time-Zone', 'Time-Zone') -> 1; +avp_arity('Local-Time-Zone', 'Daylight-Saving-Time') -> + 1; +avp_arity('Local-Time-Zone', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Network-Info-Change', + 'Change-Time') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Transfer-Type') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Transfer-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Inter-UE-Transfer') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'User-Equipment-Info') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Instance-Id') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Change-Time') -> + {0, 1}; +avp_arity('Accumulated-Cost', 'Value-Digits') -> 1; +avp_arity('Accumulated-Cost', 'Exponent') -> {0, 1}; +avp_arity('Additional-Content-Information', + 'Type-Number') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Content-Size') -> + {0, 1}; +avp_arity('Address-Domain', 'Domain-Name') -> {0, 1}; +avp_arity('Address-Domain', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('AF-Correlation-Information', + 'AF-Charging-Identifier') -> + 1; +avp_arity('AF-Correlation-Information', 'Flows') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Announcement-Identifier') -> + 1; +avp_arity('Announcement-Information', + 'Variable-Part') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Time-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Quota-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Announcement-Order') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Play-Alternative') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Privacy-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', 'Language') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Accumulated-Cost') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Incremental-Cost') -> + {0, '*'}; +avp_arity('AoC-Cost-Information', 'Currency-Code') -> + {0, 1}; +avp_arity('AoC-Information', 'AoC-Cost-Information') -> + {0, 1}; +avp_arity('AoC-Information', 'Tariff-Information') -> + {0, 1}; +avp_arity('AoC-Information', + 'AoC-Subscription-Information') -> + {0, 1}; +avp_arity('AoC-Service', + 'AoC-Service-Obligatory-Type') -> + {0, 1}; +avp_arity('AoC-Service', 'AoC-Service-Type') -> {0, 1}; +avp_arity('AoC-Subscription-Information', + 'AoC-Service') -> + {0, '*'}; +avp_arity('AoC-Subscription-Information', + 'AoC-Format') -> + {0, 1}; +avp_arity('AoC-Subscription-Information', + 'Preferred-AoC-Currency') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Uplink') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Downlink') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Message-Size') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Additional-Exception-Reports') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Server') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Provided-Called-Party-Address') -> + {0, '*'}; +avp_arity('Application-Server-Information', + 'Status-AS-Code') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Bearer-Service') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Teleservice') -> + {0, 1}; +avp_arity('Called-Identity-Change', + 'Called-Identity') -> + {0, 1}; +avp_arity('Called-Identity-Change', 'Change-Time') -> + {0, 1}; +avp_arity('Coverage-Info', 'Coverage-Status') -> {0, 1}; +avp_arity('Coverage-Info', 'Change-Time') -> {0, 1}; +avp_arity('Coverage-Info', 'Location-Info') -> {0, '*'}; +avp_arity('CPDT-Information', + 'Serving-Node-Identity') -> + {0, 1}; +avp_arity('CPDT-Information', 'SGW-Change') -> {0, 1}; +avp_arity('CPDT-Information', 'NIDD-Submission') -> + {0, 1}; +avp_arity('Current-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Current-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Current-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('Destination-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-TimeStamps') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('Early-Media-Description', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('Enhanced-Diagnostics', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Envelope', 'Envelope-Start-Time') -> 1; +avp_arity('Envelope', 'Envelope-End-Time') -> {0, 1}; +avp_arity('Envelope', 'CC-Total-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Input-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Output-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Event-Type', 'SIP-Method') -> {0, 1}; +avp_arity('Event-Type', 'Event') -> {0, 1}; +avp_arity('Event-Type', 'Expires') -> {0, 1}; +avp_arity('Incremental-Cost', 'Value-Digits') -> 1; +avp_arity('Incremental-Cost', 'Exponent') -> {0, 1}; +avp_arity('IMS-Information', 'Node-Functionality') -> 1; +avp_arity('IMS-Information', 'Event-Type') -> {0, 1}; +avp_arity('IMS-Information', 'Role-Of-Node') -> {0, 1}; +avp_arity('IMS-Information', 'User-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Outgoing-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Session-Priority') -> + {0, 1}; +avp_arity('IMS-Information', 'Calling-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Called-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Called-Asserted-Identity') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Called-Identity-Change') -> + {0, 1}; +avp_arity('IMS-Information', + 'Number-Portability-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Carrier-Select-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Alternate-Charged-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Requested-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Associated-URI') -> + {0, '*'}; +avp_arity('IMS-Information', 'Time-Stamps') -> {0, 1}; +avp_arity('IMS-Information', + 'Application-Server-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Inter-Operator-Identifier') -> + {0, '*'}; +avp_arity('IMS-Information', 'Transit-IOI-List') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('IMS-Information', 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Served-Party-IP-Address') -> + {0, 1}; +avp_arity('IMS-Information', 'Trunk-Group-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Bearer-Service') -> + {0, 1}; +avp_arity('IMS-Information', 'Service-Id') -> {0, 1}; +avp_arity('IMS-Information', 'Service-Specific-Info') -> + {0, '*'}; +avp_arity('IMS-Information', 'Message-Body') -> + {0, '*'}; +avp_arity('IMS-Information', 'Cause-Code') -> {0, 1}; +avp_arity('IMS-Information', 'Reason-Header') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Early-Media-Description') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Communication-Service-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Application-Reference-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'Online-Charging-Flag') -> + {0, 1}; +avp_arity('IMS-Information', + 'Real-Time-Tariff-Information') -> + {0, 1}; +avp_arity('IMS-Information', 'Account-Expiration') -> + {0, 1}; +avp_arity('IMS-Information', + 'Initial-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'NNI-Information') -> + {0, '*'}; +avp_arity('IMS-Information', 'From-Address') -> {0, 1}; +avp_arity('IMS-Information', + 'IMS-Emergency-Indicator') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Visited-Network-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Access-Network-Info-Change') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Transfer-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('IMS-Information', 'Route-Header-Received') -> + {0, 1}; +avp_arity('IMS-Information', + 'Route-Header-Transmitted') -> + {0, 1}; +avp_arity('IMS-Information', 'Instance-Id') -> {0, 1}; +avp_arity('IMS-Information', 'TAD-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'FE-Identifier-List') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Originating-IOI') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Terminating-IOI') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Location') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Value') -> {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Diagnostics') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Type') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-External-ID') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Dialed-By-MS') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Name') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-APN') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Requestor-ID') -> + {0, 1}; +avp_arity('LCS-Client-Name', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Name-String') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Format-Indicator') -> + {0, 1}; +avp_arity('LCS-Information', 'LCS-Client-ID') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Type') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Estimate') -> + {0, 1}; +avp_arity('LCS-Information', 'Positioning-Data') -> + {0, 1}; +avp_arity('LCS-Information', '3GPP-IMSI') -> {0, 1}; +avp_arity('LCS-Information', 'MSISDN') -> {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Requestor-ID-String') -> + {0, 1}; +avp_arity('Location-Info', '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Location-Info', 'Change-Time') -> {0, 1}; +avp_arity('Location-Type', 'Location-Estimate-Type') -> + {0, 1}; +avp_arity('Location-Type', + 'Deferred-Location-Event-Type') -> + {0, 1}; +avp_arity('MBMS-Information', 'TMGI') -> {0, 1}; +avp_arity('MBMS-Information', + 'MBMS-User-Service-Type') -> + {0, 1}; +avp_arity('MBMS-Information', + 'File-Repair-Supported') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-2G-3G-Indicator') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Service-Area') -> + {0, '*'}; +avp_arity('MBMS-Information', + 'MBMS-Session-Identity') -> + {0, 1}; +avp_arity('MBMS-Information', + 'CN-IP-Multicast-Distribution') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-GW-Address') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Charged-Party') -> + {0, 1}; +avp_arity('MBMS-Information', 'MSISDN') -> {0, '*'}; +avp_arity('Message-Body', 'Content-Type') -> 1; +avp_arity('Message-Body', 'Content-Length') -> 1; +avp_arity('Message-Body', 'Content-Disposition') -> + {0, 1}; +avp_arity('Message-Body', 'Originator') -> {0, 1}; +avp_arity('Message-Class', 'Class-Identifier') -> + {0, 1}; +avp_arity('Message-Class', 'Token-Text') -> {0, 1}; +avp_arity('MM-Content-Type', 'Type-Number') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('MM-Content-Type', 'Content-Size') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Content-Information') -> + {0, '*'}; +avp_arity('MMS-Information', 'Originator-Address') -> + {0, 1}; +avp_arity('MMS-Information', 'Recipient-Address') -> + {0, '*'}; +avp_arity('MMS-Information', 'Submission-Time') -> + {0, 1}; +avp_arity('MMS-Information', 'MM-Content-Type') -> + {0, 1}; +avp_arity('MMS-Information', 'Priority') -> {0, 1}; +avp_arity('MMS-Information', 'Message-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Type') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Size') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Class') -> {0, 1}; +avp_arity('MMS-Information', + 'Delivery-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'Read-Reply-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'MMBox-Storage-Requested') -> + {0, 1}; +avp_arity('MMS-Information', 'Applic-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Reply-Applic-ID') -> + {0, 1}; +avp_arity('MMS-Information', 'Aux-Applic-Info') -> + {0, 1}; +avp_arity('MMS-Information', 'Content-Class') -> {0, 1}; +avp_arity('MMS-Information', 'DRM-Content') -> {0, 1}; +avp_arity('MMS-Information', 'Adaptations') -> {0, 1}; +avp_arity('MMTel-Information', + 'Supplementary-Service') -> + {0, '*'}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Functionality') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Configuration-Activity') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Report-Data') -> + {0, '*'}; +avp_arity('Monitoring-Event-Report-Data', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Monitoring-Event-Report-Number') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Subscription-Id') -> + {0, 1}; +avp_arity('Next-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Next-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Next-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('NIDD-Submission', 'Submission-Time') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Event-Timestamp') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Change-Condition') -> + {0, 1}; +avp_arity('NNI-Information', 'Session-Direction') -> + {0, 1}; +avp_arity('NNI-Information', 'NNI-Type') -> {0, 1}; +avp_arity('NNI-Information', 'Relationship-Mode') -> + {0, 1}; +avp_arity('NNI-Information', + 'Neighbour-Node-Address') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Quota-Consumption-Time') -> + {0, 1}; +avp_arity('Offline-Charging', 'Time-Quota-Mechanism') -> + {0, 1}; +avp_arity('Offline-Charging', 'Envelope-Reporting') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Multiple-Services-Credit-Control') -> + {0, '*'}; +avp_arity('Offline-Charging', 'AVP') -> {0, '*'}; +avp_arity('Originator-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Participant-Group', + 'Called-Party-Address') -> + {0, 1}; +avp_arity('Participant-Group', + 'Participant-Access-Priority') -> + {0, 1}; +avp_arity('Participant-Group', + 'User-Participating-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Server-Role') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-User-Role') -> {0, 1}; +avp_arity('PoC-Information', + 'PoC-Session-Initiation-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Event-Type') -> + {0, 1}; +avp_arity('PoC-Information', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('PoC-Information', 'Participants-Involved') -> + {0, '*'}; +avp_arity('PoC-Information', 'Participant-Group') -> + {0, '*'}; +avp_arity('PoC-Information', 'Talk-Burst-Exchange') -> + {0, '*'}; +avp_arity('PoC-Information', + 'PoC-Controlling-Address') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Group-Name') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Id') -> + {0, 1}; +avp_arity('PoC-Information', 'Charged-Party') -> {0, 1}; +avp_arity('PoC-User-Role', 'PoC-User-Role-IDs') -> + {0, 1}; +avp_arity('PoC-User-Role', + 'PoC-User-Role-Info-Units') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Role-Of-ProSe-Function') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-3rd-Party-Application-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Application-Specific-Data') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Event-Type') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Discovery-Model') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Function-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Role-Of-UE') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Request-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requestor-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requested-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Range-Class') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Indication') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Cancellation-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Reason-For-Cancellation') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-EPC-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Layer-2-Group-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Group-IP-Multicast-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Coverage-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Radio-Parameter-Set-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Transmitter-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Time-First-Transmission') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Time-First-Reception') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Transmission-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Reception-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Announcing-PLMN-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Target-Layer-2-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Relay-IP-address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-UE-to-Network-Relay-UE-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Target-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC5-Radio-Technology') -> + {0, 1}; +avp_arity('PS-Furnish-Charging-Information', + '3GPP-Charging-Id') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Free-Format-Data') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Append-Free-Format-Data') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('PS-Information', + 'PDN-Connection-Charging-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Node-Id') -> {0, 1}; +avp_arity('PS-Information', '3GPP-PDP-Type') -> {0, 1}; +avp_arity('PS-Information', 'PDP-Address') -> {0, '*'}; +avp_arity('PS-Information', + 'PDP-Address-Prefix-Length') -> + {0, 1}; +avp_arity('PS-Information', 'Dynamic-Address-Flag') -> + {0, 1}; +avp_arity('PS-Information', + 'Dynamic-Address-Flag-Extension') -> + {0, 1}; +avp_arity('PS-Information', 'QoS-Information') -> + {0, 1}; +avp_arity('PS-Information', 'SGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'GGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TDF-IP-Address') -> + {0, '*'}; +avp_arity('PS-Information', 'SGW-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TWAG-Address') -> {0, '*'}; +avp_arity('PS-Information', 'CG-Address') -> {0, 1}; +avp_arity('PS-Information', 'Serving-Node-Type') -> + {0, 1}; +avp_arity('PS-Information', 'SGW-Change') -> {0, 1}; +avp_arity('PS-Information', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', + 'IMSI-Unauthenticated-Flag') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-GGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-NSAPI') -> {0, 1}; +avp_arity('PS-Information', 'Called-Station-Id') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Session-Stop-Indicator') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Characteristics-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'User-Location-Info-Time') -> + {0, 1}; +avp_arity('PS-Information', 'User-CSG-Information') -> + {0, 1}; +avp_arity('PS-Information', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('PS-Information', + 'TWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-RAT-Type') -> {0, 1}; +avp_arity('PS-Information', + 'PS-Furnish-Charging-Information') -> + {0, 1}; +avp_arity('PS-Information', 'PDP-Context-Type') -> + {0, 1}; +avp_arity('PS-Information', 'Offline-Charging') -> + {0, 1}; +avp_arity('PS-Information', 'Traffic-Data-Volumes') -> + {0, '*'}; +avp_arity('PS-Information', 'Service-Data-Container') -> + {0, '*'}; +avp_arity('PS-Information', 'User-Equipment-Info') -> + {0, 1}; +avp_arity('PS-Information', 'Start-Time') -> {0, 1}; +avp_arity('PS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('PS-Information', 'Change-Condition') -> + {0, 1}; +avp_arity('PS-Information', 'Diagnostics') -> {0, 1}; +avp_arity('PS-Information', 'Low-Priority-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Physical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', + 'Fixed-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'CN-Operator-Selection-Entity') -> + {0, 1}; +avp_arity('PS-Information', 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('PS-Information', + 'SGi-PtP-Tunnelling-Method') -> + {0, 1}; +avp_arity('PS-Information', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'UNI-PDU-CP-Only-Flag') -> + {0, 1}; +avp_arity('PS-Information', 'APN-Rate-Control') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Per-IP-CAN-Session-Indicator') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('PS-Information', 'SCS-AS-Address') -> {0, 1}; +avp_arity('PS-Information', 'Unused-Quota-Timer') -> + {0, 1}; +avp_arity('PS-Information', + 'RAN-Secondary-RAT-Usage-Report') -> + {0, '*'}; +avp_arity('PS-Information', 'AVP') -> {0, '*'}; +avp_arity('Radio-Parameter-Set-Info', + 'Radio-Parameter-Set-Values') -> + {0, 1}; +avp_arity('Radio-Parameter-Set-Info', 'Change-Time') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Secondary-RAT-Type') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Rate-Element', 'CC-Unit-Type') -> 1; +avp_arity('Rate-Element', 'Charge-Reason-Code') -> + {0, 1}; +avp_arity('Rate-Element', 'Unit-Value') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Cost') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Quota-Threshold') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-Information') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-XML') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Recipient-Address', 'Addressee-Type') -> + {0, 1}; +avp_arity('Recipient-Info', 'Destination-Interface') -> + {0, 1}; +avp_arity('Recipient-Info', 'Recipient-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', + 'Recipient-Received-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', 'Recipient-SCCP-Address') -> + {0, 1}; +avp_arity('Recipient-Info', 'SM-Protocol-ID') -> {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'SGSN-Address') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Related-Change-Condition-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Related-Trigger', 'Trigger-Type') -> + {0, '*'}; +avp_arity('Remaining-Balance', 'Unit-Value') -> 1; +avp_arity('Remaining-Balance', 'Currency-Code') -> 1; +avp_arity('Scale-Factor', 'Value-Digits') -> 1; +avp_arity('Scale-Factor', 'Exponent') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Realm') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Address') -> {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Media-Name') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'SDP-Media-Description') -> + {0, '*'}; +avp_arity('SDP-Media-Component', + 'Local-GW-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'IP-Realm-Default-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Transcoder-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Flag') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Party') -> + {0, 1}; +avp_arity('SDP-Media-Component', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Access-Network-Charging-Identifier-Value') -> + {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Type') -> {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Offer-Timestamp') -> + {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Answer-Timestamp') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'AF-Correlation-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'QoS-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Rating-Group') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Change-Time') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Specific-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', 'SGSN-Address') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-First-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-Last-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Time-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Service-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'APN-Rate-Control') -> + {0, 1}; +avp_arity('Service-Data-Container', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('Service-Information', 'Subscription-Id') -> + {0, '*'}; +avp_arity('Service-Information', 'AoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'IMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'LCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MBMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'SMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'VCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMTel-Information') -> + {0, 1}; +avp_arity('Service-Information', 'ProSe-Information') -> + {0, 1}; +avp_arity('Service-Information', 'CPDT-Information') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Data') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Type') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'Validity-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Node') -> {0, 1}; +avp_arity('SMS-Information', 'Client-Address') -> + {0, 1}; +avp_arity('SMS-Information', + 'Originator-SCCP-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SMSC-Address') -> {0, 1}; +avp_arity('SMS-Information', 'Data-Coding-Scheme') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Discharge-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Message-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'Originator-Interface') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Protocol-ID') -> + {0, 1}; +avp_arity('SMS-Information', 'Reply-Path-Requested') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Status') -> {0, 1}; +avp_arity('SMS-Information', 'SM-User-Data-Header') -> + {0, 1}; +avp_arity('SMS-Information', + 'Number-Of-Messages-Sent') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Sequence-Number') -> + {0, 1}; +avp_arity('SMS-Information', 'Recipient-Info') -> + {0, '*'}; +avp_arity('SMS-Information', + 'Originator-Received-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Service-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Result') -> {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Indicator') -> + {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Information') -> + {0, 1}; +avp_arity('SMS-Information', 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'MMTel-SService-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Mode') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Diversions') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Associated-Party-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Id') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Change-Time') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Participant-Action-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'CUG-Information') -> + {0, 1}; +avp_arity('Supplementary-Service', 'AoC-Information') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'PoC-Change-Time') -> + 1; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Received-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'PoC-Change-Condition') -> + {0, 1}; +avp_arity('Tariff-Information', 'Current-Tariff') -> 1; +avp_arity('Tariff-Information', 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Tariff-Information', 'Next-Tariff') -> + {0, 1}; +avp_arity('Time-Quota-Mechanism', 'Time-Quota-Type') -> + 1; +avp_arity('Time-Quota-Mechanism', + 'Base-Time-Interval') -> + 1; +avp_arity('Time-Stamps', 'SIP-Request-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', 'SIP-Response-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Request-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Response-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'QoS-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Condition') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Time') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('Transmitter-Info', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('Transmitter-Info', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('Trigger', 'Trigger-Type') -> {0, '*'}; +avp_arity('Trunk-Group-Id', + 'Incoming-Trunk-Group-Id') -> + {0, 1}; +avp_arity('Trunk-Group-Id', + 'Outgoing-Trunk-Group-Id') -> + {0, 1}; +avp_arity('TWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Unit-Cost', 'Value-Digits') -> 1; +avp_arity('Unit-Cost', 'Exponent') -> {0, 1}; +avp_arity('User-CSG-Information', 'CSG-Access-Mode') -> + 1; +avp_arity('User-CSG-Information', + 'CSG-Membership-Indication') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', + 'UE-Local-IP-Address') -> + 1; +avp_arity('UWAN-User-Location-Info', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Variable-Part', 'Variable-Part-Type') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Value') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Order') -> + {0, 1}; +avp_arity('VCS-Information', 'Bearer-Capability') -> + {0, 1}; +avp_arity('VCS-Information', + 'Network-Call-Reference-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'MSC-Address') -> {0, 1}; +avp_arity('VCS-Information', 'Basic-Service-Code') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Location-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'VLR-Number') -> {0, 1}; +avp_arity('VCS-Information', 'Forwarding-Pending') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Cause') -> {0, 1}; +avp_arity('VCS-Information', 'Start-Time') -> {0, 1}; +avp_arity('VCS-Information', 'Start-of-Charging') -> + {0, 1}; +avp_arity('VCS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('VCS-Information', 'PS-Free-Format-Data') -> + {0, 1}; +avp_arity('Cost-Information', 'Unit-Value') -> 1; +avp_arity('Cost-Information', 'Currency-Code') -> 1; +avp_arity('Cost-Information', 'Cost-Unit') -> {0, 1}; +avp_arity('Unit-Value', 'Value-Digits') -> 1; +avp_arity('Unit-Value', 'Exponent') -> {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Granted-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Requested-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Used-Service-Unit') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Service-Identifier') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Rating-Group') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'G-S-U-Pool-Reference') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Validity-Time') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Result-Code') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', 'AVP') -> + {0, '*'}; +avp_arity('Granted-Service-Unit', + 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Requested-Service-Unit', 'CC-Time') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'CC-Money') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Used-Service-Unit', 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('CC-Money', 'Unit-Value') -> 1; +avp_arity('CC-Money', 'Currency-Code') -> {0, 1}; +avp_arity('G-S-U-Pool-Reference', + 'G-S-U-Pool-Identifier') -> + 1; +avp_arity('G-S-U-Pool-Reference', 'CC-Unit-Type') -> 1; +avp_arity('G-S-U-Pool-Reference', 'Unit-Value') -> 1; +avp_arity('Final-Unit-Indication', + 'Final-Unit-Action') -> + 1; +avp_arity('Final-Unit-Indication', + 'Restriction-Filter-Rule') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Filter-Id') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Redirect-Server') -> + {0, 1}; +avp_arity('Redirect-Server', 'Redirect-Address-Type') -> + 1; +avp_arity('Redirect-Server', + 'Redirect-Server-Address') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Type') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Value') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Type') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Data') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Type') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Value') -> + 1; +avp_arity('OC-Supported-Features', + 'OC-Feature-Vector') -> + {0, 1}; +avp_arity('OC-Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('OC-OLR', 'OC-Sequence-Number') -> 1; +avp_arity('OC-OLR', 'OC-Report-Type') -> 1; +avp_arity('OC-OLR', 'OC-Reduction-Percentage') -> + {0, 1}; +avp_arity('OC-OLR', 'OC-Validity-Duration') -> {0, 1}; +avp_arity('OC-OLR', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('3GPP-AAA-Server-Name') -> {318, 192, 10415}; +avp_header('AAA-Failure-Indication') -> + {1518, 128, 10415}; +avp_header('AAR-Flags') -> {1539, 128, 10415}; +avp_header('AN-Trusted') -> {1503, 192, 10415}; +avp_header('ANID') -> {1504, 192, 10415}; +avp_header('Access-Authorization-Flags') -> + {1511, 128, 10415}; +avp_header('Access-Network-Info') -> {1526, 128, 10415}; +avp_header('Connectivity-Flags') -> {1529, 128, 10415}; +avp_header('DEA-Flags') -> {1521, 128, 10415}; +avp_header('DER-Flags') -> {1520, 128, 10415}; +avp_header('DER-S6b-Flags') -> {1523, 128, 10415}; +avp_header('ERP-Authorization') -> {1541, 128, 10415}; +avp_header('Emergency-Services') -> {1538, 128, 10415}; +avp_header('Full-Network-Name') -> {1516, 128, 10415}; +avp_header('HESSID') -> {1525, 128, 10415}; +avp_header('IMEI-Check-In-VPLMN-Result') -> + {1540, 128, 10415}; +avp_header('MIP-FA-RK') -> {1506, 192, 10415}; +avp_header('MIP-FA-RK-SPI') -> {1507, 192, 10415}; +avp_header('MIP6-Feature-Vector') -> + {124, 64, undefined}; +avp_header('Maximum-Wait-Time') -> {1537, 128, 10415}; +avp_header('Mobile-Node-Identifier') -> + {506, 64, undefined}; +avp_header('Non-3GPP-IP-Access') -> {1501, 192, 10415}; +avp_header('Non-3GPP-IP-Access-APN') -> + {1502, 192, 10415}; +avp_header('Non-3GPP-User-Data') -> {1500, 192, 10415}; +avp_header('Origination-Time-Stamp') -> + {1536, 128, 10415}; +avp_header('PPR-Flags') -> {1508, 128, 10415}; +avp_header('RAR-Flags') -> {1522, 128, 10415}; +avp_header('SM-Back-Off-Timer') -> {1534, 128, 10415}; +avp_header('SSID') -> {1524, 128, 10415}; +avp_header('Short-Network-Name') -> {1517, 128, 10415}; +avp_header('TWAG-CP-Address') -> {1531, 128, 10415}; +avp_header('TWAG-UP-Address') -> {1532, 128, 10415}; +avp_header('TWAN-Access-Info') -> {1510, 128, 10415}; +avp_header('TWAN-Connection-Mode') -> + {1527, 128, 10415}; +avp_header('TWAN-Connectivity-Parameters') -> + {1528, 128, 10415}; +avp_header('TWAN-Default-APN-Context-Id') -> + {1512, 128, 10415}; +avp_header('TWAN-PCO') -> {1530, 128, 10415}; +avp_header('TWAN-S2a-Failure-Cause') -> + {1533, 128, 10415}; +avp_header('Trace-Info') -> {1505, 128, 10415}; +avp_header('Transport-Access-Type') -> + {1519, 128, 10415}; +avp_header('WLAN-Identifier') -> {1509, 128, 10415}; +avp_header('WLCP-Key') -> {1535, 128, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header('APN-OI-Replacement') -> + diameter_3gpp_break_circles:avp_header('APN-OI-Replacement'); +avp_header('Emergency-Info') -> + diameter_3gpp_break_circles:avp_header('Emergency-Info'); +avp_header('GMLC-Number') -> + diameter_3gpp_break_circles:avp_header('GMLC-Number'); +avp_header('SGSN-Number') -> + diameter_3gpp_break_circles:avp_header('SGSN-Number'); +avp_header('AN-GW-Address') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Address'); +avp_header('AN-GW-Status') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Status'); +avp_header('APN-Aggregate-Max-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-DL'); +avp_header('APN-Aggregate-Max-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-UL'); +avp_header('Access-Network-Charging-Identifier-Gx') -> + diameter_3gpp_ts29_212:avp_header('Access-Network-Charging-Identifier-Gx'); +avp_header('Allocation-Retention-Priority') -> + diameter_3gpp_ts29_212:avp_header('Allocation-Retention-Priority'); +avp_header('Application-Detection-Information') -> + diameter_3gpp_ts29_212:avp_header('Application-Detection-Information'); +avp_header('Bearer-Control-Mode') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Control-Mode'); +avp_header('Bearer-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Identifier'); +avp_header('Bearer-Operation') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Operation'); +avp_header('Bearer-Usage') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Usage'); +avp_header('CSG-Information-Reporting') -> + diameter_3gpp_ts29_212:avp_header('CSG-Information-Reporting'); +avp_header('Charging-Correlation-Indicator') -> + diameter_3gpp_ts29_212:avp_header('Charging-Correlation-Indicator'); +avp_header('Charging-Rule-Base-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Base-Name'); +avp_header('Charging-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Definition'); +avp_header('Charging-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Install'); +avp_header('Charging-Rule-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Name'); +avp_header('Charging-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Remove'); +avp_header('Charging-Rule-Report') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Report'); +avp_header('CoA-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('CoA-IP-Address'); +avp_header('CoA-Information') -> + diameter_3gpp_ts29_212:avp_header('CoA-Information'); +avp_header('Conditional-APN-Aggregate-Max-Bitrate') -> + diameter_3gpp_ts29_212:avp_header('Conditional-APN-Aggregate-Max-Bitrate'); +avp_header('Credit-Management-Status') -> + diameter_3gpp_ts29_212:avp_header('Credit-Management-Status'); +avp_header('Default-EPS-Bearer-QoS') -> + diameter_3gpp_ts29_212:avp_header('Default-EPS-Bearer-QoS'); +avp_header('Default-QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Information'); +avp_header('Default-QoS-Name') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Name'); +avp_header('Event-Report-Indication') -> + diameter_3gpp_ts29_212:avp_header('Event-Report-Indication'); +avp_header('Event-Trigger') -> + diameter_3gpp_ts29_212:avp_header('Event-Trigger'); +avp_header('Fixed-User-Location-Info') -> + diameter_3gpp_ts29_212:avp_header('Fixed-User-Location-Info'); +avp_header('Flow-Direction') -> + diameter_3gpp_ts29_212:avp_header('Flow-Direction'); +avp_header('Flow-Information') -> + diameter_3gpp_ts29_212:avp_header('Flow-Information'); +avp_header('Flow-Label') -> + diameter_3gpp_ts29_212:avp_header('Flow-Label'); +avp_header('Guaranteed-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-DL'); +avp_header('Guaranteed-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-UL'); +avp_header('HeNB-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('HeNB-Local-IP-Address'); +avp_header('IP-CAN-Session-Charging-Scope') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Session-Charging-Scope'); +avp_header('IP-CAN-Type') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Type'); +avp_header('Metering-Method') -> + diameter_3gpp_ts29_212:avp_header('Metering-Method'); +avp_header('Monitoring-Key') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Key'); +avp_header('Monitoring-Time') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Time'); +avp_header('Mute-Notification') -> + diameter_3gpp_ts29_212:avp_header('Mute-Notification'); +avp_header('NetLoc-Access-Support') -> + diameter_3gpp_ts29_212:avp_header('NetLoc-Access-Support'); +avp_header('Network-Request-Support') -> + diameter_3gpp_ts29_212:avp_header('Network-Request-Support'); +avp_header('Offline') -> + diameter_3gpp_ts29_212:avp_header('Offline'); +avp_header('Online') -> + diameter_3gpp_ts29_212:avp_header('Online'); +avp_header('PCC-Rule-Status') -> + diameter_3gpp_ts29_212:avp_header('PCC-Rule-Status'); +avp_header('PCSCF-Restoration-Indication') -> + diameter_3gpp_ts29_212:avp_header('PCSCF-Restoration-Indication'); +avp_header('PDN-Connection-ID') -> + diameter_3gpp_ts29_212:avp_header('PDN-Connection-ID'); +avp_header('PS-to-CS-Session-Continuity') -> + diameter_3gpp_ts29_212:avp_header('PS-to-CS-Session-Continuity'); +avp_header('Packet-Filter-Content') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Content'); +avp_header('Packet-Filter-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Identifier'); +avp_header('Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Information'); +avp_header('Packet-Filter-Operation') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Operation'); +avp_header('Packet-Filter-Usage') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Usage'); +avp_header('Pre-emption-Capability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Capability'); +avp_header('Pre-emption-Vulnerability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Vulnerability'); +avp_header('Precedence') -> + diameter_3gpp_ts29_212:avp_header('Precedence'); +avp_header('Presence-Reporting-Area-Elements-List') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Elements-List'); +avp_header('Presence-Reporting-Area-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Identifier'); +avp_header('Presence-Reporting-Area-Information') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Information'); +avp_header('Presence-Reporting-Area-Status') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Status'); +avp_header('Priority-Level') -> + diameter_3gpp_ts29_212:avp_header('Priority-Level'); +avp_header('QoS-Class-Identifier') -> + diameter_3gpp_ts29_212:avp_header('QoS-Class-Identifier'); +avp_header('QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('QoS-Information'); +avp_header('QoS-Negotiation') -> + diameter_3gpp_ts29_212:avp_header('QoS-Negotiation'); +avp_header('QoS-Upgrade') -> + diameter_3gpp_ts29_212:avp_header('QoS-Upgrade'); +avp_header('RAN-NAS-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('RAN-NAS-Release-Cause'); +avp_header('RAT-Type') -> + diameter_3gpp_ts29_212:avp_header('RAT-Type'); +avp_header('Redirect-Information') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Information'); +avp_header('Redirect-Support') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Support'); +avp_header('Reporting-Level') -> + diameter_3gpp_ts29_212:avp_header('Reporting-Level'); +avp_header('Resource-Allocation-Notification') -> + diameter_3gpp_ts29_212:avp_header('Resource-Allocation-Notification'); +avp_header('Revalidation-Time') -> + diameter_3gpp_ts29_212:avp_header('Revalidation-Time'); +avp_header('Routing-Filter') -> + diameter_3gpp_ts29_212:avp_header('Routing-Filter'); +avp_header('Routing-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('Routing-IP-Address'); +avp_header('Routing-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Definition'); +avp_header('Routing-Rule-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Identifier'); +avp_header('Routing-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Install'); +avp_header('Routing-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Remove'); +avp_header('Rule-Activation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Activation-Time'); +avp_header('Rule-Deactivation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Deactivation-Time'); +avp_header('Rule-Failure-Code') -> + diameter_3gpp_ts29_212:avp_header('Rule-Failure-Code'); +avp_header('Security-Parameter-Index') -> + diameter_3gpp_ts29_212:avp_header('Security-Parameter-Index'); +avp_header('Session-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('Session-Release-Cause'); +avp_header('TDF-Application-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Identifier'); +avp_header('TDF-Application-Instance-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Instance-Identifier'); +avp_header('TDF-Destination-Host') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Host'); +avp_header('TDF-Destination-Realm') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Realm'); +avp_header('TDF-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('TDF-IP-Address'); +avp_header('TDF-Information') -> + diameter_3gpp_ts29_212:avp_header('TDF-Information'); +avp_header('TFT-Filter') -> + diameter_3gpp_ts29_212:avp_header('TFT-Filter'); +avp_header('TFT-Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('TFT-Packet-Filter-Information'); +avp_header('ToS-Traffic-Class') -> + diameter_3gpp_ts29_212:avp_header('ToS-Traffic-Class'); +avp_header('Tunnel-Header-Filter') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Filter'); +avp_header('Tunnel-Header-Length') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Length'); +avp_header('Tunnel-Information') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Information'); +avp_header('UDP-Source-Port') -> + diameter_3gpp_ts29_212:avp_header('UDP-Source-Port'); +avp_header('UE-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('UE-Local-IP-Address'); +avp_header('Usage-Monitoring-Information') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Information'); +avp_header('Usage-Monitoring-Level') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Level'); +avp_header('Usage-Monitoring-Report') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Report'); +avp_header('Usage-Monitoring-Support') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Support'); +avp_header('User-Location-Info-Time') -> + diameter_3gpp_ts29_212:avp_header('User-Location-Info-Time'); +avp_header('3GPP2-MEID') -> + diameter_3gpp_ts29_272:avp_header('3GPP2-MEID'); +avp_header('A-MSISDN') -> + diameter_3gpp_ts29_272:avp_header('A-MSISDN'); +avp_header('AMBR') -> + diameter_3gpp_ts29_272:avp_header('AMBR'); +avp_header('APN-Configuration') -> + diameter_3gpp_ts29_272:avp_header('APN-Configuration'); +avp_header('APN-Configuration-Profile') -> + diameter_3gpp_ts29_272:avp_header('APN-Configuration-Profile'); +avp_header('AUTN') -> + diameter_3gpp_ts29_272:avp_header('AUTN'); +avp_header('Access-Restriction-Data') -> + diameter_3gpp_ts29_272:avp_header('Access-Restriction-Data'); +avp_header('Active-APN') -> + diameter_3gpp_ts29_272:avp_header('Active-APN'); +avp_header('Age-Of-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('Age-Of-Location-Information'); +avp_header('Alert-Reason') -> + diameter_3gpp_ts29_272:avp_header('Alert-Reason'); +avp_header('All-APN-Configurations-Included-Indicator') -> + diameter_3gpp_ts29_272:avp_header('All-APN-Configurations-Included-Indicator'); +avp_header('Area-Scope') -> + diameter_3gpp_ts29_272:avp_header('Area-Scope'); +avp_header('Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Authentication-Info'); +avp_header('CLR-Flags') -> + diameter_3gpp_ts29_272:avp_header('CLR-Flags'); +avp_header('CSG-Id') -> + diameter_3gpp_ts29_272:avp_header('CSG-Id'); +avp_header('CSG-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('CSG-Subscription-Data'); +avp_header('Call-Barring-Info') -> + diameter_3gpp_ts29_272:avp_header('Call-Barring-Info'); +avp_header('Cancellation-Type') -> + diameter_3gpp_ts29_272:avp_header('Cancellation-Type'); +avp_header('Cell-Global-Identity') -> + diameter_3gpp_ts29_272:avp_header('Cell-Global-Identity'); +avp_header('Client-Identity') -> + diameter_3gpp_ts29_272:avp_header('Client-Identity'); +avp_header('Collection-Period-RRM-LTE') -> + diameter_3gpp_ts29_272:avp_header('Collection-Period-RRM-LTE'); +avp_header('Collection-Period-RRM-UMTS') -> + diameter_3gpp_ts29_272:avp_header('Collection-Period-RRM-UMTS'); +avp_header('Complete-Data-List-Included-Indicator') -> + diameter_3gpp_ts29_272:avp_header('Complete-Data-List-Included-Indicator'); +avp_header('Context-Identifier') -> + diameter_3gpp_ts29_272:avp_header('Context-Identifier'); +avp_header('Core-Network-Restrictions') -> + diameter_3gpp_ts29_272:avp_header('Core-Network-Restrictions'); +avp_header('Current-Location-Retrieved') -> + diameter_3gpp_ts29_272:avp_header('Current-Location-Retrieved'); +avp_header('DSA-Flags') -> + diameter_3gpp_ts29_272:avp_header('DSA-Flags'); +avp_header('DSR-Flags') -> + diameter_3gpp_ts29_272:avp_header('DSR-Flags'); +avp_header('Daylight-Saving-Time') -> + diameter_3gpp_ts29_272:avp_header('Daylight-Saving-Time'); +avp_header('E-UTRAN-Cell-Global-Identity') -> + diameter_3gpp_ts29_272:avp_header('E-UTRAN-Cell-Global-Identity'); +avp_header('E-UTRAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('E-UTRAN-Vector'); +avp_header('EPS-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('EPS-Location-Information'); +avp_header('EPS-Subscribed-QoS-Profile') -> + diameter_3gpp_ts29_272:avp_header('EPS-Subscribed-QoS-Profile'); +avp_header('EPS-User-State') -> + diameter_3gpp_ts29_272:avp_header('EPS-User-State'); +avp_header('Equipment-Status') -> + diameter_3gpp_ts29_272:avp_header('Equipment-Status'); +avp_header('Equivalent-PLMN-List') -> + diameter_3gpp_ts29_272:avp_header('Equivalent-PLMN-List'); +avp_header('Error-Diagnostic') -> + diameter_3gpp_ts29_272:avp_header('Error-Diagnostic'); +avp_header('Event-Threshold-Event-1F') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-Event-1F'); +avp_header('Event-Threshold-Event-1I') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-Event-1I'); +avp_header('Event-Threshold-RSRP') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-RSRP'); +avp_header('Event-Threshold-RSRQ') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-RSRQ'); +avp_header('Expiration-Date') -> + diameter_3gpp_ts29_272:avp_header('Expiration-Date'); +avp_header('Ext-PDP-Address') -> + diameter_3gpp_ts29_272:avp_header('Ext-PDP-Address'); +avp_header('Ext-PDP-Type') -> + diameter_3gpp_ts29_272:avp_header('Ext-PDP-Type'); +avp_header('External-Client') -> + diameter_3gpp_ts29_272:avp_header('External-Client'); +avp_header('GERAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('GERAN-Vector'); +avp_header('GMLC-Restriction') -> + diameter_3gpp_ts29_272:avp_header('GMLC-Restriction'); +avp_header('GPRS-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('GPRS-Subscription-Data'); +avp_header('Geodetic-Information') -> + diameter_3gpp_ts29_272:avp_header('Geodetic-Information'); +avp_header('Geographical-Information') -> + diameter_3gpp_ts29_272:avp_header('Geographical-Information'); +avp_header('HPLMN-ODB') -> + diameter_3gpp_ts29_272:avp_header('HPLMN-ODB'); +avp_header('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions') -> + diameter_3gpp_ts29_272:avp_header('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions'); +avp_header('ICS-Indicator') -> + diameter_3gpp_ts29_272:avp_header('ICS-Indicator'); +avp_header('IDA-Flags') -> + diameter_3gpp_ts29_272:avp_header('IDA-Flags'); +avp_header('IDR-Flags') -> + diameter_3gpp_ts29_272:avp_header('IDR-Flags'); +avp_header('IMEI') -> + diameter_3gpp_ts29_272:avp_header('IMEI'); +avp_header('IMS-Voice-Over-PS-Sessions-Supported') -> + diameter_3gpp_ts29_272:avp_header('IMS-Voice-Over-PS-Sessions-Supported'); +avp_header('Immediate-Response-Preferred') -> + diameter_3gpp_ts29_272:avp_header('Immediate-Response-Preferred'); +avp_header('Item-Number') -> + diameter_3gpp_ts29_272:avp_header('Item-Number'); +avp_header('Job-Type') -> + diameter_3gpp_ts29_272:avp_header('Job-Type'); +avp_header('KASME') -> + diameter_3gpp_ts29_272:avp_header('KASME'); +avp_header('Kc') -> + diameter_3gpp_ts29_272:avp_header('Kc'); +avp_header('LCS-Info') -> + diameter_3gpp_ts29_272:avp_header('LCS-Info'); +avp_header('LCS-PrivacyException') -> + diameter_3gpp_ts29_272:avp_header('LCS-PrivacyException'); +avp_header('LIPA-Permission') -> + diameter_3gpp_ts29_272:avp_header('LIPA-Permission'); +avp_header('Last-UE-Activity-Time') -> + diameter_3gpp_ts29_272:avp_header('Last-UE-Activity-Time'); +avp_header('List-Of-Measurements') -> + diameter_3gpp_ts29_272:avp_header('List-Of-Measurements'); +avp_header('Local-Time-Zone') -> + diameter_3gpp_ts29_272:avp_header('Local-Time-Zone'); +avp_header('Location-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Location-Area-Identity'); +avp_header('Logging-Duration') -> + diameter_3gpp_ts29_272:avp_header('Logging-Duration'); +avp_header('Logging-Interval') -> + diameter_3gpp_ts29_272:avp_header('Logging-Interval'); +avp_header('MDT-Configuration') -> + diameter_3gpp_ts29_272:avp_header('MDT-Configuration'); +avp_header('MDT-User-Consent') -> + diameter_3gpp_ts29_272:avp_header('MDT-User-Consent'); +avp_header('MME-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('MME-Location-Information'); +avp_header('MME-Number-for-MT-SMS') -> + diameter_3gpp_ts29_272:avp_header('MME-Number-for-MT-SMS'); +avp_header('MME-User-State') -> + diameter_3gpp_ts29_272:avp_header('MME-User-State'); +avp_header('MO-LR') -> + diameter_3gpp_ts29_272:avp_header('MO-LR'); +avp_header('MPS-Priority') -> + diameter_3gpp_ts29_272:avp_header('MPS-Priority'); +avp_header('Measurement-Period-LTE') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Period-LTE'); +avp_header('Measurement-Period-UMTS') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Period-UMTS'); +avp_header('Measurement-Quantity') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Quantity'); +avp_header('NOR-Flags') -> + diameter_3gpp_ts29_272:avp_header('NOR-Flags'); +avp_header('Network-Access-Mode') -> + diameter_3gpp_ts29_272:avp_header('Network-Access-Mode'); +avp_header('Notification-To-UE-User') -> + diameter_3gpp_ts29_272:avp_header('Notification-To-UE-User'); +avp_header('Number-Of-Requested-Vectors') -> + diameter_3gpp_ts29_272:avp_header('Number-Of-Requested-Vectors'); +avp_header('OMC-Id') -> + diameter_3gpp_ts29_272:avp_header('OMC-Id'); +avp_header('Operator-Determined-Barring') -> + diameter_3gpp_ts29_272:avp_header('Operator-Determined-Barring'); +avp_header('PDN-GW-Allocation-Type') -> + diameter_3gpp_ts29_272:avp_header('PDN-GW-Allocation-Type'); +avp_header('PDN-Type') -> + diameter_3gpp_ts29_272:avp_header('PDN-Type'); +avp_header('PDP-Context') -> + diameter_3gpp_ts29_272:avp_header('PDP-Context'); +avp_header('PDP-Type') -> + diameter_3gpp_ts29_272:avp_header('PDP-Type'); +avp_header('PLMN-Client') -> + diameter_3gpp_ts29_272:avp_header('PLMN-Client'); +avp_header('PUA-Flags') -> + diameter_3gpp_ts29_272:avp_header('PUA-Flags'); +avp_header('PUR-Flags') -> + diameter_3gpp_ts29_272:avp_header('PUR-Flags'); +avp_header('Positioning-Method') -> + diameter_3gpp_ts29_272:avp_header('Positioning-Method'); +avp_header('QoS-Subscribed') -> + diameter_3gpp_ts29_272:avp_header('QoS-Subscribed'); +avp_header('RAND') -> + diameter_3gpp_ts29_272:avp_header('RAND'); +avp_header('RAT-Frequency-Selection-Priority-ID') -> + diameter_3gpp_ts29_272:avp_header('RAT-Frequency-Selection-Priority-ID'); +avp_header('Re-Synchronization-Info') -> + diameter_3gpp_ts29_272:avp_header('Re-Synchronization-Info'); +avp_header('Regional-Subscription-Zone-Code') -> + diameter_3gpp_ts29_272:avp_header('Regional-Subscription-Zone-Code'); +avp_header('Relay-Node-Indicator') -> + diameter_3gpp_ts29_272:avp_header('Relay-Node-Indicator'); +avp_header('Report-Amount') -> + diameter_3gpp_ts29_272:avp_header('Report-Amount'); +avp_header('Report-Interval') -> + diameter_3gpp_ts29_272:avp_header('Report-Interval'); +avp_header('Reporting-Trigger') -> + diameter_3gpp_ts29_272:avp_header('Reporting-Trigger'); +avp_header('Requested-EUTRAN-Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Requested-EUTRAN-Authentication-Info'); +avp_header('Requested-UTRAN-GERAN-Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Requested-UTRAN-GERAN-Authentication-Info'); +avp_header('Restoration-Priority') -> + diameter_3gpp_ts29_272:avp_header('Restoration-Priority'); +avp_header('Roaming-Restricted-Due-To-Unsupported-Feature') -> + diameter_3gpp_ts29_272:avp_header('Roaming-Restricted-Due-To-Unsupported-Feature'); +avp_header('Routing-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Routing-Area-Identity'); +avp_header('SGSN-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('SGSN-Location-Information'); +avp_header('SGSN-User-State') -> + diameter_3gpp_ts29_272:avp_header('SGSN-User-State'); +avp_header('SIPTO-Permission') -> + diameter_3gpp_ts29_272:avp_header('SIPTO-Permission'); +avp_header('SMS-Register-Request') -> + diameter_3gpp_ts29_272:avp_header('SMS-Register-Request'); +avp_header('SRES') -> + diameter_3gpp_ts29_272:avp_header('SRES'); +avp_header('SS-Code') -> + diameter_3gpp_ts29_272:avp_header('SS-Code'); +avp_header('SS-Status') -> + diameter_3gpp_ts29_272:avp_header('SS-Status'); +avp_header('STN-SR') -> + diameter_3gpp_ts29_272:avp_header('STN-SR'); +avp_header('Service-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Service-Area-Identity'); +avp_header('Service-Type') -> + diameter_3gpp_ts29_272:avp_header('Service-Type'); +avp_header('ServiceTypeIdentity') -> + diameter_3gpp_ts29_272:avp_header('ServiceTypeIdentity'); +avp_header('Software-Version') -> + diameter_3gpp_ts29_272:avp_header('Software-Version'); +avp_header('Specific-APN-Info') -> + diameter_3gpp_ts29_272:avp_header('Specific-APN-Info'); +avp_header('Subscribed-Periodic-RAU-TAU-Timer') -> + diameter_3gpp_ts29_272:avp_header('Subscribed-Periodic-RAU-TAU-Timer'); +avp_header('Subscribed-VSRVCC') -> + diameter_3gpp_ts29_272:avp_header('Subscribed-VSRVCC'); +avp_header('Subscriber-Status') -> + diameter_3gpp_ts29_272:avp_header('Subscriber-Status'); +avp_header('Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('Subscription-Data'); +avp_header('Subscription-Data-Flags') -> + diameter_3gpp_ts29_272:avp_header('Subscription-Data-Flags'); +avp_header('TS-Code') -> + diameter_3gpp_ts29_272:avp_header('TS-Code'); +avp_header('Teleservice-List') -> + diameter_3gpp_ts29_272:avp_header('Teleservice-List'); +avp_header('Terminal-Information') -> + diameter_3gpp_ts29_272:avp_header('Terminal-Information'); +avp_header('Time-Zone') -> + diameter_3gpp_ts29_272:avp_header('Time-Zone'); +avp_header('Trace-Collection-Entity') -> + diameter_3gpp_ts29_272:avp_header('Trace-Collection-Entity'); +avp_header('Trace-Data') -> + diameter_3gpp_ts29_272:avp_header('Trace-Data'); +avp_header('Trace-Depth') -> + diameter_3gpp_ts29_272:avp_header('Trace-Depth'); +avp_header('Trace-Event-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-Event-List'); +avp_header('Trace-Interface-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-Interface-List'); +avp_header('Trace-NE-Type-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-NE-Type-List'); +avp_header('Trace-Reference') -> + diameter_3gpp_ts29_272:avp_header('Trace-Reference'); +avp_header('Tracking-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Tracking-Area-Identity'); +avp_header('UE-SRVCC-Capability') -> + diameter_3gpp_ts29_272:avp_header('UE-SRVCC-Capability'); +avp_header('UE-Usage-Type') -> + diameter_3gpp_ts29_272:avp_header('UE-Usage-Type'); +avp_header('ULA-Flags') -> + diameter_3gpp_ts29_272:avp_header('ULA-Flags'); +avp_header('ULR-Flags') -> + diameter_3gpp_ts29_272:avp_header('ULR-Flags'); +avp_header('UTRAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('UTRAN-Vector'); +avp_header('UVA-Flags') -> + diameter_3gpp_ts29_272:avp_header('UVA-Flags'); +avp_header('UVR-Flags') -> + diameter_3gpp_ts29_272:avp_header('UVR-Flags'); +avp_header('User-Id') -> + diameter_3gpp_ts29_272:avp_header('User-Id'); +avp_header('User-State') -> + diameter_3gpp_ts29_272:avp_header('User-State'); +avp_header('VPLMN-CSG-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-CSG-Subscription-Data'); +avp_header('VPLMN-Dynamic-Address-Allowed') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-Dynamic-Address-Allowed'); +avp_header('VPLMN-LIPA-Allowed') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-LIPA-Allowed'); +avp_header('Visited-PLMN-Id') -> + diameter_3gpp_ts29_272:avp_header('Visited-PLMN-Id'); +avp_header('XRES') -> + diameter_3gpp_ts29_272:avp_header('XRES'); +avp_header('3GPP-PS-Data-Off-Status') -> + diameter_3gpp_ts32_299:avp_header('3GPP-PS-Data-Off-Status'); +avp_header('AF-Correlation-Information') -> + diameter_3gpp_ts32_299:avp_header('AF-Correlation-Information'); +avp_header('APN-Rate-Control') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control'); +avp_header('APN-Rate-Control-Downlink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Downlink'); +avp_header('APN-Rate-Control-Uplink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Uplink'); +avp_header('Access-Network-Info-Change') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Info-Change'); +avp_header('Access-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Information'); +avp_header('Access-Transfer-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Information'); +avp_header('Access-Transfer-Type') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Type'); +avp_header('Account-Expiration') -> + diameter_3gpp_ts32_299:avp_header('Account-Expiration'); +avp_header('Accumulated-Cost') -> + diameter_3gpp_ts32_299:avp_header('Accumulated-Cost'); +avp_header('Adaptations') -> + diameter_3gpp_ts32_299:avp_header('Adaptations'); +avp_header('Additional-Content-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Content-Information'); +avp_header('Additional-Exception-Reports') -> + diameter_3gpp_ts32_299:avp_header('Additional-Exception-Reports'); +avp_header('Additional-Type-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Type-Information'); +avp_header('Address-Data') -> + diameter_3gpp_ts32_299:avp_header('Address-Data'); +avp_header('Address-Domain') -> + diameter_3gpp_ts32_299:avp_header('Address-Domain'); +avp_header('Address-Type') -> + diameter_3gpp_ts32_299:avp_header('Address-Type'); +avp_header('Addressee-Type') -> + diameter_3gpp_ts32_299:avp_header('Addressee-Type'); +avp_header('Alternate-Charged-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Alternate-Charged-Party-Address'); +avp_header('Announcement-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Identifier'); +avp_header('Announcement-Information') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Information'); +avp_header('Announcement-Order') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Order'); +avp_header('Announcing-PLMN-ID') -> + diameter_3gpp_ts32_299:avp_header('Announcing-PLMN-ID'); +avp_header('Announcing-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-HPLMN-Identifier'); +avp_header('Announcing-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-VPLMN-Identifier'); +avp_header('AoC-Cost-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Cost-Information'); +avp_header('AoC-Format') -> + diameter_3gpp_ts32_299:avp_header('AoC-Format'); +avp_header('AoC-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Information'); +avp_header('AoC-Request-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Request-Type'); +avp_header('AoC-Service') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service'); +avp_header('AoC-Service-Obligatory-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Obligatory-Type'); +avp_header('AoC-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Type'); +avp_header('AoC-Subscription-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Subscription-Information'); +avp_header('Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Applic-ID'); +avp_header('Application-Provided-Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Application-Provided-Called-Party-Address'); +avp_header('Application-Server') -> + diameter_3gpp_ts32_299:avp_header('Application-Server'); +avp_header('Application-Server-Information') -> + diameter_3gpp_ts32_299:avp_header('Application-Server-Information'); +avp_header('Application-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Application-Specific-Data'); +avp_header('Associated-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Associated-Party-Address'); +avp_header('Associated-URI') -> + diameter_3gpp_ts32_299:avp_header('Associated-URI'); +avp_header('Authorised-QoS') -> + diameter_3gpp_ts32_299:avp_header('Authorised-QoS'); +avp_header('Aux-Applic-Info') -> + diameter_3gpp_ts32_299:avp_header('Aux-Applic-Info'); +avp_header('BSSID') -> + diameter_3gpp_ts32_299:avp_header('BSSID'); +avp_header('Base-Time-Interval') -> + diameter_3gpp_ts32_299:avp_header('Base-Time-Interval'); +avp_header('Basic-Service-Code') -> + diameter_3gpp_ts32_299:avp_header('Basic-Service-Code'); +avp_header('Bearer-Capability') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Capability'); +avp_header('Bearer-Service') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Service'); +avp_header('CG-Address') -> + diameter_3gpp_ts32_299:avp_header('CG-Address'); +avp_header('CN-Operator-Selection-Entity') -> + diameter_3gpp_ts32_299:avp_header('CN-Operator-Selection-Entity'); +avp_header('CP-CIoT-EPS-Optimisation-Indicator') -> + diameter_3gpp_ts32_299:avp_header('CP-CIoT-EPS-Optimisation-Indicator'); +avp_header('CPDT-Information') -> + diameter_3gpp_ts32_299:avp_header('CPDT-Information'); +avp_header('CSG-Access-Mode') -> + diameter_3gpp_ts32_299:avp_header('CSG-Access-Mode'); +avp_header('CSG-Membership-Indication') -> + diameter_3gpp_ts32_299:avp_header('CSG-Membership-Indication'); +avp_header('CUG-Information') -> + diameter_3gpp_ts32_299:avp_header('CUG-Information'); +avp_header('Called-Asserted-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Asserted-Identity'); +avp_header('Called-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity'); +avp_header('Called-Identity-Change') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity-Change'); +avp_header('Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Called-Party-Address'); +avp_header('Calling-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Calling-Party-Address'); +avp_header('Carrier-Select-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Carrier-Select-Routing-Information'); +avp_header('Cause-Code') -> + diameter_3gpp_ts32_299:avp_header('Cause-Code'); +avp_header('Cellular-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Cellular-Network-Information'); +avp_header('Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('Change-Condition'); +avp_header('Change-Time') -> + diameter_3gpp_ts32_299:avp_header('Change-Time'); +avp_header('Charge-Reason-Code') -> + diameter_3gpp_ts32_299:avp_header('Charge-Reason-Code'); +avp_header('Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('Charged-Party'); +avp_header('Charging-Characteristics-Selection-Mode') -> + diameter_3gpp_ts32_299:avp_header('Charging-Characteristics-Selection-Mode'); +avp_header('Charging-Per-IP-CAN-Session-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Charging-Per-IP-CAN-Session-Indicator'); +avp_header('Class-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Class-Identifier'); +avp_header('Client-Address') -> + diameter_3gpp_ts32_299:avp_header('Client-Address'); +avp_header('Content-Class') -> + diameter_3gpp_ts32_299:avp_header('Content-Class'); +avp_header('Content-Disposition') -> + diameter_3gpp_ts32_299:avp_header('Content-Disposition'); +avp_header('Content-Length') -> + diameter_3gpp_ts32_299:avp_header('Content-Length'); +avp_header('Content-Size') -> + diameter_3gpp_ts32_299:avp_header('Content-Size'); +avp_header('Content-Type') -> + diameter_3gpp_ts32_299:avp_header('Content-Type'); +avp_header('Coverage-Info') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Info'); +avp_header('Coverage-Status') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Status'); +avp_header('Current-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Current-Tariff'); +avp_header('DRM-Content') -> + diameter_3gpp_ts32_299:avp_header('DRM-Content'); +avp_header('Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('Data-Coding-Scheme'); +avp_header('Deferred-Location-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Deferred-Location-Event-Type'); +avp_header('Delivery-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Delivery-Report-Requested'); +avp_header('Destination-Interface') -> + diameter_3gpp_ts32_299:avp_header('Destination-Interface'); +avp_header('Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Diagnostics'); +avp_header('Discoveree-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-HPLMN-Identifier'); +avp_header('Discoveree-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-VPLMN-Identifier'); +avp_header('Discoverer-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-HPLMN-Identifier'); +avp_header('Discoverer-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-VPLMN-Identifier'); +avp_header('Domain-Name') -> + diameter_3gpp_ts32_299:avp_header('Domain-Name'); +avp_header('Dynamic-Address-Flag') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag'); +avp_header('Dynamic-Address-Flag-Extension') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag-Extension'); +avp_header('EPDG-Address') -> + diameter_3gpp_ts32_299:avp_header('EPDG-Address'); +avp_header('Early-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('Early-Media-Description'); +avp_header('Enhanced-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Enhanced-Diagnostics'); +avp_header('Envelope') -> + diameter_3gpp_ts32_299:avp_header('Envelope'); +avp_header('Envelope-End-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-End-Time'); +avp_header('Envelope-Reporting') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Reporting'); +avp_header('Envelope-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Start-Time'); +avp_header('Event') -> + diameter_3gpp_ts32_299:avp_header('Event'); +avp_header('Event-Charging-TimeStamp') -> + diameter_3gpp_ts32_299:avp_header('Event-Charging-TimeStamp'); +avp_header('Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Event-Type'); +avp_header('Expires') -> + diameter_3gpp_ts32_299:avp_header('Expires'); +avp_header('FE-Identifier-List') -> + diameter_3gpp_ts32_299:avp_header('FE-Identifier-List'); +avp_header('File-Repair-Supported') -> + diameter_3gpp_ts32_299:avp_header('File-Repair-Supported'); +avp_header('Forwarding-Pending') -> + diameter_3gpp_ts32_299:avp_header('Forwarding-Pending'); +avp_header('From-Address') -> + diameter_3gpp_ts32_299:avp_header('From-Address'); +avp_header('GGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('GGSN-Address'); +avp_header('IMS-Application-Reference-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Application-Reference-Identifier'); +avp_header('IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Charging-Identifier'); +avp_header('IMS-Communication-Service-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Communication-Service-Identifier'); +avp_header('IMS-Emergency-Indicator') -> + diameter_3gpp_ts32_299:avp_header('IMS-Emergency-Indicator'); +avp_header('IMS-Information') -> + diameter_3gpp_ts32_299:avp_header('IMS-Information'); +avp_header('IMS-Visited-Network-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Visited-Network-Identifier'); +avp_header('IMSI-Unauthenticated-Flag') -> + diameter_3gpp_ts32_299:avp_header('IMSI-Unauthenticated-Flag'); +avp_header('IP-Realm-Default-Indication') -> + diameter_3gpp_ts32_299:avp_header('IP-Realm-Default-Indication'); +avp_header('ISUP-Cause') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause'); +avp_header('ISUP-Cause-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Diagnostics'); +avp_header('ISUP-Cause-Location') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Location'); +avp_header('ISUP-Cause-Value') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Value'); +avp_header('ISUP-Location-Number') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Location-Number'); +avp_header('Incoming-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Incoming-Trunk-Group-Id'); +avp_header('Incremental-Cost') -> + diameter_3gpp_ts32_299:avp_header('Incremental-Cost'); +avp_header('Initial-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Initial-IMS-Charging-Identifier'); +avp_header('Instance-Id') -> + diameter_3gpp_ts32_299:avp_header('Instance-Id'); +avp_header('Inter-Operator-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Inter-Operator-Identifier'); +avp_header('Inter-UE-Transfer') -> + diameter_3gpp_ts32_299:avp_header('Inter-UE-Transfer'); +avp_header('Interface-Id') -> + diameter_3gpp_ts32_299:avp_header('Interface-Id'); +avp_header('Interface-Port') -> + diameter_3gpp_ts32_299:avp_header('Interface-Port'); +avp_header('Interface-Text') -> + diameter_3gpp_ts32_299:avp_header('Interface-Text'); +avp_header('Interface-Type') -> + diameter_3gpp_ts32_299:avp_header('Interface-Type'); +avp_header('LCS-APN') -> + diameter_3gpp_ts32_299:avp_header('LCS-APN'); +avp_header('LCS-Client-Dialed-By-MS') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Dialed-By-MS'); +avp_header('LCS-Client-External-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-External-ID'); +avp_header('LCS-Client-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-ID'); +avp_header('LCS-Client-Name') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Name'); +avp_header('LCS-Client-Type') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Type'); +avp_header('LCS-Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('LCS-Data-Coding-Scheme'); +avp_header('LCS-Format-Indicator') -> + diameter_3gpp_ts32_299:avp_header('LCS-Format-Indicator'); +avp_header('LCS-Information') -> + diameter_3gpp_ts32_299:avp_header('LCS-Information'); +avp_header('LCS-Name-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Name-String'); +avp_header('LCS-Requestor-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID'); +avp_header('LCS-Requestor-ID-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID-String'); +avp_header('Language') -> + diameter_3gpp_ts32_299:avp_header('Language'); +avp_header('Layer-2-Group-ID') -> + diameter_3gpp_ts32_299:avp_header('Layer-2-Group-ID'); +avp_header('Local-GW-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Local-GW-Inserted-Indication'); +avp_header('Local-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Local-Sequence-Number'); +avp_header('Location-Estimate') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate'); +avp_header('Location-Estimate-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate-Type'); +avp_header('Location-Info') -> + diameter_3gpp_ts32_299:avp_header('Location-Info'); +avp_header('Location-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Type'); +avp_header('Low-Balance-Indication') -> + diameter_3gpp_ts32_299:avp_header('Low-Balance-Indication'); +avp_header('Low-Priority-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Low-Priority-Indicator'); +avp_header('MBMS-Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Charged-Party'); +avp_header('MBMS-GW-Address') -> + diameter_3gpp_ts32_299:avp_header('MBMS-GW-Address'); +avp_header('MBMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Information'); +avp_header('MBMS-User-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('MBMS-User-Service-Type'); +avp_header('MM-Content-Type') -> + diameter_3gpp_ts32_299:avp_header('MM-Content-Type'); +avp_header('MMBox-Storage-Requested') -> + diameter_3gpp_ts32_299:avp_header('MMBox-Storage-Requested'); +avp_header('MMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MMS-Information'); +avp_header('MMTel-Information') -> + diameter_3gpp_ts32_299:avp_header('MMTel-Information'); +avp_header('MMTel-SService-Type') -> + diameter_3gpp_ts32_299:avp_header('MMTel-SService-Type'); +avp_header('MSC-Address') -> + diameter_3gpp_ts32_299:avp_header('MSC-Address'); +avp_header('MTC-IWF-Address') -> + diameter_3gpp_ts32_299:avp_header('MTC-IWF-Address'); +avp_header('Media-Initiator-Flag') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Flag'); +avp_header('Media-Initiator-Party') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Party'); +avp_header('Message-Body') -> + diameter_3gpp_ts32_299:avp_header('Message-Body'); +avp_header('Message-Class') -> + diameter_3gpp_ts32_299:avp_header('Message-Class'); +avp_header('Message-ID') -> + diameter_3gpp_ts32_299:avp_header('Message-ID'); +avp_header('Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Message-Size'); +avp_header('Message-Type') -> + diameter_3gpp_ts32_299:avp_header('Message-Type'); +avp_header('Monitored-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitored-PLMN-Identifier'); +avp_header('Monitoring-Event-Configuration-Activity') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Configuration-Activity'); +avp_header('Monitoring-Event-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Functionality'); +avp_header('Monitoring-Event-Information') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Information'); +avp_header('Monitoring-Event-Report-Data') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Data'); +avp_header('Monitoring-Event-Report-Number') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Number'); +avp_header('Monitoring-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-HPLMN-Identifier'); +avp_header('Monitoring-UE-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-Identifier'); +avp_header('Monitoring-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-VPLMN-Identifier'); +avp_header('NIDD-Submission') -> + diameter_3gpp_ts32_299:avp_header('NIDD-Submission'); +avp_header('NNI-Information') -> + diameter_3gpp_ts32_299:avp_header('NNI-Information'); +avp_header('NNI-Type') -> + diameter_3gpp_ts32_299:avp_header('NNI-Type'); +avp_header('Neighbour-Node-Address') -> + diameter_3gpp_ts32_299:avp_header('Neighbour-Node-Address'); +avp_header('Network-Call-Reference-Number') -> + diameter_3gpp_ts32_299:avp_header('Network-Call-Reference-Number'); +avp_header('Next-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Next-Tariff'); +avp_header('Node-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Node-Functionality'); +avp_header('Node-Id') -> + diameter_3gpp_ts32_299:avp_header('Node-Id'); +avp_header('Number-Of-Diversions') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Diversions'); +avp_header('Number-Of-Messages-Sent') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Messages-Sent'); +avp_header('Number-Of-Participants') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Participants'); +avp_header('Number-Of-Received-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Received-Talk-Bursts'); +avp_header('Number-Of-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Talk-Bursts'); +avp_header('Number-Portability-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Number-Portability-Routing-Information'); +avp_header('Offline-Charging') -> + diameter_3gpp_ts32_299:avp_header('Offline-Charging'); +avp_header('Online-Charging-Flag') -> + diameter_3gpp_ts32_299:avp_header('Online-Charging-Flag'); +avp_header('Originating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Originating-IOI'); +avp_header('Originator') -> + diameter_3gpp_ts32_299:avp_header('Originator'); +avp_header('Originator-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Address'); +avp_header('Originator-Interface') -> + diameter_3gpp_ts32_299:avp_header('Originator-Interface'); +avp_header('Originator-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Received-Address'); +avp_header('Originator-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-SCCP-Address'); +avp_header('Outgoing-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Session-Id'); +avp_header('Outgoing-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Trunk-Group-Id'); +avp_header('PC3-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-Control-Protocol-Cause'); +avp_header('PC3-EPC-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-EPC-Control-Protocol-Cause'); +avp_header('PC5-Radio-Technology') -> + diameter_3gpp_ts32_299:avp_header('PC5-Radio-Technology'); +avp_header('PDN-Connection-Charging-ID') -> + diameter_3gpp_ts32_299:avp_header('PDN-Connection-Charging-ID'); +avp_header('PDP-Address') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address'); +avp_header('PDP-Address-Prefix-Length') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address-Prefix-Length'); +avp_header('PDP-Context-Type') -> + diameter_3gpp_ts32_299:avp_header('PDP-Context-Type'); +avp_header('PS-Append-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Append-Free-Format-Data'); +avp_header('PS-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Free-Format-Data'); +avp_header('PS-Furnish-Charging-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Furnish-Charging-Information'); +avp_header('PS-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Information'); +avp_header('Participant-Access-Priority') -> + diameter_3gpp_ts32_299:avp_header('Participant-Access-Priority'); +avp_header('Participant-Action-Type') -> + diameter_3gpp_ts32_299:avp_header('Participant-Action-Type'); +avp_header('Participant-Group') -> + diameter_3gpp_ts32_299:avp_header('Participant-Group'); +avp_header('Participants-Involved') -> + diameter_3gpp_ts32_299:avp_header('Participants-Involved'); +avp_header('Play-Alternative') -> + diameter_3gpp_ts32_299:avp_header('Play-Alternative'); +avp_header('PoC-Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Condition'); +avp_header('PoC-Change-Time') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Time'); +avp_header('PoC-Controlling-Address') -> + diameter_3gpp_ts32_299:avp_header('PoC-Controlling-Address'); +avp_header('PoC-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Event-Type'); +avp_header('PoC-Group-Name') -> + diameter_3gpp_ts32_299:avp_header('PoC-Group-Name'); +avp_header('PoC-Information') -> + diameter_3gpp_ts32_299:avp_header('PoC-Information'); +avp_header('PoC-Server-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-Server-Role'); +avp_header('PoC-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Id'); +avp_header('PoC-Session-Initiation-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Initiation-Type'); +avp_header('PoC-Session-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Type'); +avp_header('PoC-User-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role'); +avp_header('PoC-User-Role-IDs') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-IDs'); +avp_header('PoC-User-Role-Info-Units') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-Info-Units'); +avp_header('Positioning-Data') -> + diameter_3gpp_ts32_299:avp_header('Positioning-Data'); +avp_header('Preferred-AoC-Currency') -> + diameter_3gpp_ts32_299:avp_header('Preferred-AoC-Currency'); +avp_header('Priority') -> + diameter_3gpp_ts32_299:avp_header('Priority'); +avp_header('Privacy-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Privacy-Indicator'); +avp_header('ProSe-3rd-Party-Application-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-3rd-Party-Application-ID'); +avp_header('ProSe-Direct-Communication-Reception-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Reception-Data-Container'); +avp_header('ProSe-Direct-Communication-Transmission-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Transmission-Data-Container'); +avp_header('ProSe-Direct-Discovery-Model') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Discovery-Model'); +avp_header('ProSe-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Event-Type'); +avp_header('ProSe-Function-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-IP-Address'); +avp_header('ProSe-Function-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-PLMN-Identifier'); +avp_header('ProSe-Functionality') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Functionality'); +avp_header('ProSe-Group-IP-Multicast-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Group-IP-Multicast-Address'); +avp_header('ProSe-Information') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Information'); +avp_header('ProSe-Range-Class') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Range-Class'); +avp_header('ProSe-Reason-For-Cancellation') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Reason-For-Cancellation'); +avp_header('ProSe-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Request-Timestamp'); +avp_header('ProSe-Role-Of-UE') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Role-Of-UE'); +avp_header('ProSe-Source-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Source-IP-Address'); +avp_header('ProSe-Target-Layer-2-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Target-Layer-2-ID'); +avp_header('ProSe-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-ID'); +avp_header('ProSe-UE-to-Network-Relay-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-to-Network-Relay-UE-ID'); +avp_header('Proximity-Alert-Indication') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Indication'); +avp_header('Proximity-Alert-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Timestamp'); +avp_header('Proximity-Cancellation-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Cancellation-Timestamp'); +avp_header('Quota-Consumption-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Consumption-Time'); +avp_header('Quota-Holding-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Holding-Time'); +avp_header('Quota-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Quota-Indicator'); +avp_header('RAN-End-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-End-Time'); +avp_header('RAN-Secondary-RAT-Usage-Report') -> + diameter_3gpp_ts32_299:avp_header('RAN-Secondary-RAT-Usage-Report'); +avp_header('RAN-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-Start-Time'); +avp_header('Radio-Frequency') -> + diameter_3gpp_ts32_299:avp_header('Radio-Frequency'); +avp_header('Radio-Parameter-Set-Info') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Info'); +avp_header('Radio-Parameter-Set-Values') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Values'); +avp_header('Radio-Resources-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Radio-Resources-Indicator'); +avp_header('Rate-Control-Max-Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Message-Size'); +avp_header('Rate-Control-Max-Rate') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Rate'); +avp_header('Rate-Control-Time-Unit') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Time-Unit'); +avp_header('Rate-Element') -> + diameter_3gpp_ts32_299:avp_header('Rate-Element'); +avp_header('Read-Reply-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Read-Reply-Report-Requested'); +avp_header('Real-Time-Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Real-Time-Tariff-Information'); +avp_header('Reason-Header') -> + diameter_3gpp_ts32_299:avp_header('Reason-Header'); +avp_header('Received-Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Time'); +avp_header('Received-Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Volume'); +avp_header('Recipient-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Address'); +avp_header('Recipient-Info') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Info'); +avp_header('Recipient-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Received-Address'); +avp_header('Recipient-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-SCCP-Address'); +avp_header('Refund-Information') -> + diameter_3gpp_ts32_299:avp_header('Refund-Information'); +avp_header('Related-Change-Condition-Information') -> + diameter_3gpp_ts32_299:avp_header('Related-Change-Condition-Information'); +avp_header('Related-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier'); +avp_header('Related-IMS-Charging-Identifier-Node') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier-Node'); +avp_header('Related-Trigger') -> + diameter_3gpp_ts32_299:avp_header('Related-Trigger'); +avp_header('Relationship-Mode') -> + diameter_3gpp_ts32_299:avp_header('Relationship-Mode'); +avp_header('Relay-IP-address') -> + diameter_3gpp_ts32_299:avp_header('Relay-IP-address'); +avp_header('Remaining-Balance') -> + diameter_3gpp_ts32_299:avp_header('Remaining-Balance'); +avp_header('Reply-Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Reply-Applic-ID'); +avp_header('Reply-Path-Requested') -> + diameter_3gpp_ts32_299:avp_header('Reply-Path-Requested'); +avp_header('Reporting-Reason') -> + diameter_3gpp_ts32_299:avp_header('Reporting-Reason'); +avp_header('Requested-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requested-PLMN-Identifier'); +avp_header('Requested-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Requested-Party-Address'); +avp_header('Requestor-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requestor-PLMN-Identifier'); +avp_header('Role-Of-Node') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-Node'); +avp_header('Role-Of-ProSe-Function') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-ProSe-Function'); +avp_header('Route-Header-Received') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Received'); +avp_header('Route-Header-Transmitted') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Transmitted'); +avp_header('SCS-AS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-AS-Address'); +avp_header('SCS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-Address'); +avp_header('SCS-Realm') -> + diameter_3gpp_ts32_299:avp_header('SCS-Realm'); +avp_header('SDP-Answer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Answer-Timestamp'); +avp_header('SDP-Media-Component') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Component'); +avp_header('SDP-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Description'); +avp_header('SDP-Media-Name') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Name'); +avp_header('SDP-Offer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Offer-Timestamp'); +avp_header('SDP-Session-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Session-Description'); +avp_header('SDP-TimeStamps') -> + diameter_3gpp_ts32_299:avp_header('SDP-TimeStamps'); +avp_header('SDP-Type') -> + diameter_3gpp_ts32_299:avp_header('SDP-Type'); +avp_header('SGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('SGSN-Address'); +avp_header('SGW-Address') -> + diameter_3gpp_ts32_299:avp_header('SGW-Address'); +avp_header('SGW-Change') -> + diameter_3gpp_ts32_299:avp_header('SGW-Change'); +avp_header('SGi-PtP-Tunnelling-Method') -> + diameter_3gpp_ts32_299:avp_header('SGi-PtP-Tunnelling-Method'); +avp_header('SIP-Method') -> + diameter_3gpp_ts32_299:avp_header('SIP-Method'); +avp_header('SIP-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp'); +avp_header('SIP-Request-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp-Fraction'); +avp_header('SIP-Response-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp'); +avp_header('SIP-Response-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp-Fraction'); +avp_header('SM-Device-Trigger-Indicator') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Indicator'); +avp_header('SM-Device-Trigger-Information') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Information'); +avp_header('SM-Discharge-Time') -> + diameter_3gpp_ts32_299:avp_header('SM-Discharge-Time'); +avp_header('SM-Message-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Message-Type'); +avp_header('SM-Protocol-ID') -> + diameter_3gpp_ts32_299:avp_header('SM-Protocol-ID'); +avp_header('SM-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('SM-Sequence-Number'); +avp_header('SM-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Service-Type'); +avp_header('SM-Status') -> + diameter_3gpp_ts32_299:avp_header('SM-Status'); +avp_header('SM-User-Data-Header') -> + diameter_3gpp_ts32_299:avp_header('SM-User-Data-Header'); +avp_header('SMS-Information') -> + diameter_3gpp_ts32_299:avp_header('SMS-Information'); +avp_header('SMS-Node') -> + diameter_3gpp_ts32_299:avp_header('SMS-Node'); +avp_header('SMS-Result') -> + diameter_3gpp_ts32_299:avp_header('SMS-Result'); +avp_header('SMSC-Address') -> + diameter_3gpp_ts32_299:avp_header('SMSC-Address'); +avp_header('Scale-Factor') -> + diameter_3gpp_ts32_299:avp_header('Scale-Factor'); +avp_header('Secondary-RAT-Type') -> + diameter_3gpp_ts32_299:avp_header('Secondary-RAT-Type'); +avp_header('Served-Party-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Served-Party-IP-Address'); +avp_header('Service-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('Service-Data-Container'); +avp_header('Service-Id') -> + diameter_3gpp_ts32_299:avp_header('Service-Id'); +avp_header('Service-Information') -> + diameter_3gpp_ts32_299:avp_header('Service-Information'); +avp_header('Service-Mode') -> + diameter_3gpp_ts32_299:avp_header('Service-Mode'); +avp_header('Service-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Data'); +avp_header('Service-Specific-Info') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Info'); +avp_header('Service-Specific-Type') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Type'); +avp_header('Serving-Node-Identity') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Identity'); +avp_header('Serving-Node-Type') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Type'); +avp_header('Session-Direction') -> + diameter_3gpp_ts32_299:avp_header('Session-Direction'); +avp_header('Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Start-Time'); +avp_header('Start-of-Charging') -> + diameter_3gpp_ts32_299:avp_header('Start-of-Charging'); +avp_header('Status-AS-Code') -> + diameter_3gpp_ts32_299:avp_header('Status-AS-Code'); +avp_header('Stop-Time') -> + diameter_3gpp_ts32_299:avp_header('Stop-Time'); +avp_header('Submission-Time') -> + diameter_3gpp_ts32_299:avp_header('Submission-Time'); +avp_header('Subscriber-Role') -> + diameter_3gpp_ts32_299:avp_header('Subscriber-Role'); +avp_header('Supplementary-Service') -> + diameter_3gpp_ts32_299:avp_header('Supplementary-Service'); +avp_header('TAD-Identifier') -> + diameter_3gpp_ts32_299:avp_header('TAD-Identifier'); +avp_header('TWAG-Address') -> + diameter_3gpp_ts32_299:avp_header('TWAG-Address'); +avp_header('TWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('TWAN-User-Location-Info'); +avp_header('Talk-Burst-Exchange') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Exchange'); +avp_header('Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Time'); +avp_header('Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Volume'); +avp_header('Target-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Target-IP-Address'); +avp_header('Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Tariff-Information'); +avp_header('Tariff-XML') -> + diameter_3gpp_ts32_299:avp_header('Tariff-XML'); +avp_header('Teleservice') -> + diameter_3gpp_ts32_299:avp_header('Teleservice'); +avp_header('Terminating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Terminating-IOI'); +avp_header('Time-First-Reception') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Reception'); +avp_header('Time-First-Transmission') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Transmission'); +avp_header('Time-First-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Usage'); +avp_header('Time-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Time-Indicator'); +avp_header('Time-Last-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Last-Usage'); +avp_header('Time-Quota-Mechanism') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Mechanism'); +avp_header('Time-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Threshold'); +avp_header('Time-Quota-Type') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Type'); +avp_header('Time-Stamps') -> + diameter_3gpp_ts32_299:avp_header('Time-Stamps'); +avp_header('Time-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Usage'); +avp_header('Token-Text') -> + diameter_3gpp_ts32_299:avp_header('Token-Text'); +avp_header('Traffic-Data-Volumes') -> + diameter_3gpp_ts32_299:avp_header('Traffic-Data-Volumes'); +avp_header('Transcoder-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Transcoder-Inserted-Indication'); +avp_header('Transit-IOI-List') -> + diameter_3gpp_ts32_299:avp_header('Transit-IOI-List'); +avp_header('Transmitter-Info') -> + diameter_3gpp_ts32_299:avp_header('Transmitter-Info'); +avp_header('Trigger') -> + diameter_3gpp_ts32_299:avp_header('Trigger'); +avp_header('Trigger-Type') -> + diameter_3gpp_ts32_299:avp_header('Trigger-Type'); +avp_header('Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Trunk-Group-Id'); +avp_header('Type-Number') -> + diameter_3gpp_ts32_299:avp_header('Type-Number'); +avp_header('UNI-PDU-CP-Only-Flag') -> + diameter_3gpp_ts32_299:avp_header('UNI-PDU-CP-Only-Flag'); +avp_header('UWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('UWAN-User-Location-Info'); +avp_header('Unit-Cost') -> + diameter_3gpp_ts32_299:avp_header('Unit-Cost'); +avp_header('Unit-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Unit-Quota-Threshold'); +avp_header('Unused-Quota-Timer') -> + diameter_3gpp_ts32_299:avp_header('Unused-Quota-Timer'); +avp_header('Usage-Information-Report-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Usage-Information-Report-Sequence-Number'); +avp_header('User-CSG-Information') -> + diameter_3gpp_ts32_299:avp_header('User-CSG-Information'); +avp_header('User-Participating-Type') -> + diameter_3gpp_ts32_299:avp_header('User-Participating-Type'); +avp_header('User-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('User-Session-Id'); +avp_header('VCS-Information') -> + diameter_3gpp_ts32_299:avp_header('VCS-Information'); +avp_header('VLR-Number') -> + diameter_3gpp_ts32_299:avp_header('VLR-Number'); +avp_header('Variable-Part') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part'); +avp_header('Variable-Part-Order') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Order'); +avp_header('Variable-Part-Type') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Type'); +avp_header('Variable-Part-Value') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Value'); +avp_header('Volume-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Volume-Quota-Threshold'); +avp_header('Address-Realm') -> + diameter_etsi_es283_034:avp_header('Address-Realm'); +avp_header('Aggregation-Network-Type') -> + diameter_etsi_es283_034:avp_header('Aggregation-Network-Type'); +avp_header('Application-Class-ID') -> + diameter_etsi_es283_034:avp_header('Application-Class-ID'); +avp_header('IP-Connectivity-Status') -> + diameter_etsi_es283_034:avp_header('IP-Connectivity-Status'); +avp_header('Initial-Gate-Setting-ID') -> + diameter_etsi_es283_034:avp_header('Initial-Gate-Setting-ID'); +avp_header('Logical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Logical-Access-ID'); +avp_header('Maximum-Allowed-Bandwidth-DL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-DL'); +avp_header('Maximum-Allowed-Bandwidth-UL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-UL'); +avp_header('Physical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Physical-Access-ID'); +avp_header('QoS-Profile-ID') -> + diameter_etsi_es283_034:avp_header('QoS-Profile-ID'); +avp_header('Transport-Class') -> + diameter_etsi_es283_034:avp_header('Transport-Class'); +avp_header('CC-Correlation-Id') -> + diameter_rfc4006_cc:avp_header('CC-Correlation-Id'); +avp_header('CC-Input-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Input-Octets'); +avp_header('CC-Money') -> + diameter_rfc4006_cc:avp_header('CC-Money'); +avp_header('CC-Output-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Output-Octets'); +avp_header('CC-Request-Number') -> + diameter_rfc4006_cc:avp_header('CC-Request-Number'); +avp_header('CC-Request-Type') -> + diameter_rfc4006_cc:avp_header('CC-Request-Type'); +avp_header('CC-Service-Specific-Units') -> + diameter_rfc4006_cc:avp_header('CC-Service-Specific-Units'); +avp_header('CC-Session-Failover') -> + diameter_rfc4006_cc:avp_header('CC-Session-Failover'); +avp_header('CC-Sub-Session-Id') -> + diameter_rfc4006_cc:avp_header('CC-Sub-Session-Id'); +avp_header('CC-Time') -> + diameter_rfc4006_cc:avp_header('CC-Time'); +avp_header('CC-Total-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Total-Octets'); +avp_header('CC-Unit-Type') -> + diameter_rfc4006_cc:avp_header('CC-Unit-Type'); +avp_header('Check-Balance-Result') -> + diameter_rfc4006_cc:avp_header('Check-Balance-Result'); +avp_header('Cost-Information') -> + diameter_rfc4006_cc:avp_header('Cost-Information'); +avp_header('Cost-Unit') -> + diameter_rfc4006_cc:avp_header('Cost-Unit'); +avp_header('Credit-Control') -> + diameter_rfc4006_cc:avp_header('Credit-Control'); +avp_header('Credit-Control-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Credit-Control-Failure-Handling'); +avp_header('Currency-Code') -> + diameter_rfc4006_cc:avp_header('Currency-Code'); +avp_header('Direct-Debiting-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Direct-Debiting-Failure-Handling'); +avp_header('Exponent') -> + diameter_rfc4006_cc:avp_header('Exponent'); +avp_header('Final-Unit-Action') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Action'); +avp_header('Final-Unit-Indication') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Indication'); +avp_header('G-S-U-Pool-Identifier') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Identifier'); +avp_header('G-S-U-Pool-Reference') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Reference'); +avp_header('Granted-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Granted-Service-Unit'); +avp_header('Multiple-Services-Credit-Control') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Credit-Control'); +avp_header('Multiple-Services-Indicator') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Indicator'); +avp_header('Rating-Group') -> + diameter_rfc4006_cc:avp_header('Rating-Group'); +avp_header('Redirect-Address-Type') -> + diameter_rfc4006_cc:avp_header('Redirect-Address-Type'); +avp_header('Redirect-Server') -> + diameter_rfc4006_cc:avp_header('Redirect-Server'); +avp_header('Redirect-Server-Address') -> + diameter_rfc4006_cc:avp_header('Redirect-Server-Address'); +avp_header('Requested-Action') -> + diameter_rfc4006_cc:avp_header('Requested-Action'); +avp_header('Requested-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Requested-Service-Unit'); +avp_header('Restriction-Filter-Rule') -> + diameter_rfc4006_cc:avp_header('Restriction-Filter-Rule'); +avp_header('Service-Context-Id') -> + diameter_rfc4006_cc:avp_header('Service-Context-Id'); +avp_header('Service-Identifier') -> + diameter_rfc4006_cc:avp_header('Service-Identifier'); +avp_header('Service-Parameter-Info') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Info'); +avp_header('Service-Parameter-Type') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Type'); +avp_header('Service-Parameter-Value') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Value'); +avp_header('Subscription-Id') -> + diameter_rfc4006_cc:avp_header('Subscription-Id'); +avp_header('Subscription-Id-Data') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Data'); +avp_header('Subscription-Id-Type') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Type'); +avp_header('Tariff-Change-Usage') -> + diameter_rfc4006_cc:avp_header('Tariff-Change-Usage'); +avp_header('Tariff-Time-Change') -> + diameter_rfc4006_cc:avp_header('Tariff-Time-Change'); +avp_header('Unit-Value') -> + diameter_rfc4006_cc:avp_header('Unit-Value'); +avp_header('Used-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Used-Service-Unit'); +avp_header('User-Equipment-Info') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info'); +avp_header('User-Equipment-Info-Type') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Type'); +avp_header('User-Equipment-Info-Value') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Value'); +avp_header('Validity-Time') -> + diameter_rfc4006_cc:avp_header('Validity-Time'); +avp_header('Value-Digits') -> + diameter_rfc4006_cc:avp_header('Value-Digits'); +avp_header('Location-Data') -> + diameter_rfc5580:avp_header('Location-Data'); +avp_header('Location-Information') -> + diameter_rfc5580:avp_header('Location-Information'); +avp_header('Operator-Name') -> + diameter_rfc5580:avp_header('Operator-Name'); +avp_header('Service-Selection') -> + diameter_rfc5778:avp_header('Service-Selection'); +avp_header('OC-Feature-Vector') -> + diameter_rfc7683:avp_header('OC-Feature-Vector'); +avp_header('OC-OLR') -> + diameter_rfc7683:avp_header('OC-OLR'); +avp_header('OC-Reduction-Percentage') -> + diameter_rfc7683:avp_header('OC-Reduction-Percentage'); +avp_header('OC-Report-Type') -> + diameter_rfc7683:avp_header('OC-Report-Type'); +avp_header('OC-Sequence-Number') -> + diameter_rfc7683:avp_header('OC-Sequence-Number'); +avp_header('OC-Supported-Features') -> + diameter_rfc7683:avp_header('OC-Supported-Features'); +avp_header('OC-Validity-Duration') -> + diameter_rfc7683:avp_header('OC-Validity-Duration'); +avp_header('DRMP') -> + diameter_rfc7944:avp_header('DRMP'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, '3GPP-AAA-Server-Name', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'AAA-Failure-Indication', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'AAR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'AN-Trusted', _) -> + enumerated_avp(T, 'AN-Trusted', Data); +avp(T, Data, 'ANID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Access-Authorization-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Access-Network-Info', Opts) -> + grouped_avp(T, 'Access-Network-Info', Data, Opts); +avp(T, Data, 'Connectivity-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'DEA-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'DER-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'DER-S6b-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'ERP-Authorization', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Emergency-Services', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Full-Network-Name', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'HESSID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'IMEI-Check-In-VPLMN-Result', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-FA-RK', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MIP-FA-RK-SPI', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP6-Feature-Vector', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Maximum-Wait-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Mobile-Node-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Non-3GPP-IP-Access', _) -> + enumerated_avp(T, 'Non-3GPP-IP-Access', Data); +avp(T, Data, 'Non-3GPP-IP-Access-APN', _) -> + enumerated_avp(T, 'Non-3GPP-IP-Access-APN', Data); +avp(T, Data, 'Non-3GPP-User-Data', Opts) -> + grouped_avp(T, 'Non-3GPP-User-Data', Data, Opts); +avp(T, Data, 'Origination-Time-Stamp', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'PPR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'RAR-Flags', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SM-Back-Off-Timer', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SSID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Short-Network-Name', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'TWAG-CP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'TWAG-UP-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'TWAN-Access-Info', Opts) -> + grouped_avp(T, 'TWAN-Access-Info', Data, Opts); +avp(T, Data, 'TWAN-Connection-Mode', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'TWAN-Connectivity-Parameters', Opts) -> + grouped_avp(T, + 'TWAN-Connectivity-Parameters', + Data, + Opts); +avp(T, Data, 'TWAN-Default-APN-Context-Id', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'TWAN-PCO', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'TWAN-S2a-Failure-Cause', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Trace-Info', Opts) -> + grouped_avp(T, 'Trace-Info', Data, Opts); +avp(T, Data, 'Transport-Access-Type', _) -> + enumerated_avp(T, 'Transport-Access-Type', Data); +avp(T, Data, 'WLAN-Identifier', Opts) -> + grouped_avp(T, 'WLAN-Identifier', Data, Opts); +avp(T, Data, 'WLCP-Key', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(T, Data, 'APN-OI-Replacement', Opts) -> + avp(T, + Data, + 'APN-OI-Replacement', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'Emergency-Info', Opts) -> + grouped_avp(T, 'Emergency-Info', Data, Opts); +avp(T, Data, 'GMLC-Number', Opts) -> + avp(T, + Data, + 'GMLC-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'SGSN-Number', Opts) -> + avp(T, + Data, + 'SGSN-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'AN-GW-Address', Opts) -> + avp(T, + Data, + 'AN-GW-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AN-GW-Status', Opts) -> + avp(T, + Data, + 'AN-GW-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-DL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-UL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Access-Network-Charging-Identifier-Gx', + Opts) -> + grouped_avp(T, + 'Access-Network-Charging-Identifier-Gx', + Data, + Opts); +avp(T, Data, 'Allocation-Retention-Priority', Opts) -> + grouped_avp(T, + 'Allocation-Retention-Priority', + Data, + Opts); +avp(T, Data, 'Application-Detection-Information', + Opts) -> + grouped_avp(T, + 'Application-Detection-Information', + Data, + Opts); +avp(T, Data, 'Bearer-Control-Mode', Opts) -> + avp(T, + Data, + 'Bearer-Control-Mode', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Identifier', Opts) -> + avp(T, + Data, + 'Bearer-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Operation', Opts) -> + avp(T, + Data, + 'Bearer-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Usage', Opts) -> + avp(T, + Data, + 'Bearer-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CSG-Information-Reporting', Opts) -> + avp(T, + Data, + 'CSG-Information-Reporting', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Correlation-Indicator', Opts) -> + avp(T, + Data, + 'Charging-Correlation-Indicator', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Base-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Base-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Definition', Opts) -> + grouped_avp(T, 'Charging-Rule-Definition', Data, Opts); +avp(T, Data, 'Charging-Rule-Install', Opts) -> + grouped_avp(T, 'Charging-Rule-Install', Data, Opts); +avp(T, Data, 'Charging-Rule-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Remove', Opts) -> + grouped_avp(T, 'Charging-Rule-Remove', Data, Opts); +avp(T, Data, 'Charging-Rule-Report', Opts) -> + grouped_avp(T, 'Charging-Rule-Report', Data, Opts); +avp(T, Data, 'CoA-IP-Address', Opts) -> + avp(T, + Data, + 'CoA-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CoA-Information', Opts) -> + grouped_avp(T, 'CoA-Information', Data, Opts); +avp(T, Data, 'Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + grouped_avp(T, + 'Conditional-APN-Aggregate-Max-Bitrate', + Data, + Opts); +avp(T, Data, 'Credit-Management-Status', Opts) -> + avp(T, + Data, + 'Credit-Management-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Default-EPS-Bearer-QoS', Opts) -> + grouped_avp(T, 'Default-EPS-Bearer-QoS', Data, Opts); +avp(T, Data, 'Default-QoS-Information', Opts) -> + grouped_avp(T, 'Default-QoS-Information', Data, Opts); +avp(T, Data, 'Default-QoS-Name', Opts) -> + avp(T, + Data, + 'Default-QoS-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Event-Report-Indication', Opts) -> + grouped_avp(T, 'Event-Report-Indication', Data, Opts); +avp(T, Data, 'Event-Trigger', Opts) -> + avp(T, + Data, + 'Event-Trigger', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Fixed-User-Location-Info', Opts) -> + grouped_avp(T, 'Fixed-User-Location-Info', Data, Opts); +avp(T, Data, 'Flow-Direction', Opts) -> + avp(T, + Data, + 'Flow-Direction', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Flow-Information', Opts) -> + grouped_avp(T, 'Flow-Information', Data, Opts); +avp(T, Data, 'Flow-Label', Opts) -> + avp(T, + Data, + 'Flow-Label', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-DL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-UL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'HeNB-Local-IP-Address', Opts) -> + avp(T, + Data, + 'HeNB-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Session-Charging-Scope', Opts) -> + avp(T, + Data, + 'IP-CAN-Session-Charging-Scope', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Type', Opts) -> + avp(T, + Data, + 'IP-CAN-Type', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Metering-Method', Opts) -> + avp(T, + Data, + 'Metering-Method', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Key', Opts) -> + avp(T, + Data, + 'Monitoring-Key', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Time', Opts) -> + avp(T, + Data, + 'Monitoring-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Mute-Notification', Opts) -> + avp(T, + Data, + 'Mute-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'NetLoc-Access-Support', Opts) -> + avp(T, + Data, + 'NetLoc-Access-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Network-Request-Support', Opts) -> + avp(T, + Data, + 'Network-Request-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Offline', Opts) -> + avp(T, Data, 'Offline', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Online', Opts) -> + avp(T, Data, 'Online', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'PCC-Rule-Status', Opts) -> + avp(T, + Data, + 'PCC-Rule-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PCSCF-Restoration-Indication', Opts) -> + avp(T, + Data, + 'PCSCF-Restoration-Indication', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PDN-Connection-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-ID', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PS-to-CS-Session-Continuity', Opts) -> + avp(T, + Data, + 'PS-to-CS-Session-Continuity', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Content', Opts) -> + avp(T, + Data, + 'Packet-Filter-Content', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Identifier', Opts) -> + avp(T, + Data, + 'Packet-Filter-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Information', Opts) -> + grouped_avp(T, 'Packet-Filter-Information', Data, Opts); +avp(T, Data, 'Packet-Filter-Operation', Opts) -> + avp(T, + Data, + 'Packet-Filter-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Usage', Opts) -> + avp(T, + Data, + 'Packet-Filter-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Capability', Opts) -> + avp(T, + Data, + 'Pre-emption-Capability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Vulnerability', Opts) -> + avp(T, + Data, + 'Pre-emption-Vulnerability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Precedence', Opts) -> + avp(T, + Data, + 'Precedence', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Elements-List', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Elements-List', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Identifier', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Information', + Opts) -> + grouped_avp(T, + 'Presence-Reporting-Area-Information', + Data, + Opts); +avp(T, Data, 'Presence-Reporting-Area-Status', Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Priority-Level', Opts) -> + avp(T, + Data, + 'Priority-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Class-Identifier', Opts) -> + avp(T, + Data, + 'QoS-Class-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Information', Opts) -> + grouped_avp(T, 'QoS-Information', Data, Opts); +avp(T, Data, 'QoS-Negotiation', Opts) -> + avp(T, + Data, + 'QoS-Negotiation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Upgrade', Opts) -> + avp(T, + Data, + 'QoS-Upgrade', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAN-NAS-Release-Cause', Opts) -> + avp(T, + Data, + 'RAN-NAS-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAT-Type', Opts) -> + avp(T, Data, 'RAT-Type', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Redirect-Information', Opts) -> + grouped_avp(T, 'Redirect-Information', Data, Opts); +avp(T, Data, 'Redirect-Support', Opts) -> + avp(T, + Data, + 'Redirect-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Reporting-Level', Opts) -> + avp(T, + Data, + 'Reporting-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Resource-Allocation-Notification', + Opts) -> + avp(T, + Data, + 'Resource-Allocation-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Revalidation-Time', Opts) -> + avp(T, + Data, + 'Revalidation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Filter', Opts) -> + grouped_avp(T, 'Routing-Filter', Data, Opts); +avp(T, Data, 'Routing-IP-Address', Opts) -> + avp(T, + Data, + 'Routing-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Definition', Opts) -> + grouped_avp(T, 'Routing-Rule-Definition', Data, Opts); +avp(T, Data, 'Routing-Rule-Identifier', Opts) -> + avp(T, + Data, + 'Routing-Rule-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Install', Opts) -> + grouped_avp(T, 'Routing-Rule-Install', Data, Opts); +avp(T, Data, 'Routing-Rule-Remove', Opts) -> + grouped_avp(T, 'Routing-Rule-Remove', Data, Opts); +avp(T, Data, 'Rule-Activation-Time', Opts) -> + avp(T, + Data, + 'Rule-Activation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Deactivation-Time', Opts) -> + avp(T, + Data, + 'Rule-Deactivation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Failure-Code', Opts) -> + avp(T, + Data, + 'Rule-Failure-Code', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Security-Parameter-Index', Opts) -> + avp(T, + Data, + 'Security-Parameter-Index', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Session-Release-Cause', Opts) -> + avp(T, + Data, + 'Session-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Identifier', Opts) -> + avp(T, + Data, + 'TDF-Application-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Instance-Identifier', + Opts) -> + avp(T, + Data, + 'TDF-Application-Instance-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Host', Opts) -> + avp(T, + Data, + 'TDF-Destination-Host', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Realm', Opts) -> + avp(T, + Data, + 'TDF-Destination-Realm', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-IP-Address', Opts) -> + avp(T, + Data, + 'TDF-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Information', Opts) -> + grouped_avp(T, 'TDF-Information', Data, Opts); +avp(T, Data, 'TFT-Filter', Opts) -> + avp(T, + Data, + 'TFT-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TFT-Packet-Filter-Information', Opts) -> + grouped_avp(T, + 'TFT-Packet-Filter-Information', + Data, + Opts); +avp(T, Data, 'ToS-Traffic-Class', Opts) -> + avp(T, + Data, + 'ToS-Traffic-Class', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Filter', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Length', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Length', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Information', Opts) -> + grouped_avp(T, 'Tunnel-Information', Data, Opts); +avp(T, Data, 'UDP-Source-Port', Opts) -> + avp(T, + Data, + 'UDP-Source-Port', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'UE-Local-IP-Address', Opts) -> + avp(T, + Data, + 'UE-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Information', Opts) -> + grouped_avp(T, + 'Usage-Monitoring-Information', + Data, + Opts); +avp(T, Data, 'Usage-Monitoring-Level', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Report', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Report', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Support', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'User-Location-Info-Time', Opts) -> + avp(T, + Data, + 'User-Location-Info-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, '3GPP2-MEID', Opts) -> + avp(T, + Data, + '3GPP2-MEID', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'A-MSISDN', Opts) -> + avp(T, Data, 'A-MSISDN', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'AMBR', Opts) -> + grouped_avp(T, 'AMBR', Data, Opts); +avp(T, Data, 'APN-Configuration', Opts) -> + grouped_avp(T, 'APN-Configuration', Data, Opts); +avp(T, Data, 'APN-Configuration-Profile', Opts) -> + grouped_avp(T, 'APN-Configuration-Profile', Data, Opts); +avp(T, Data, 'AUTN', Opts) -> + avp(T, Data, 'AUTN', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Access-Restriction-Data', Opts) -> + avp(T, + Data, + 'Access-Restriction-Data', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Active-APN', Opts) -> + grouped_avp(T, 'Active-APN', Data, Opts); +avp(T, Data, 'Age-Of-Location-Information', Opts) -> + avp(T, + Data, + 'Age-Of-Location-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Alert-Reason', Opts) -> + avp(T, + Data, + 'Alert-Reason', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, + 'All-APN-Configurations-Included-Indicator', Opts) -> + avp(T, + Data, + 'All-APN-Configurations-Included-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Area-Scope', Opts) -> + grouped_avp(T, 'Area-Scope', Data, Opts); +avp(T, Data, 'Authentication-Info', Opts) -> + grouped_avp(T, 'Authentication-Info', Data, Opts); +avp(T, Data, 'CLR-Flags', Opts) -> + avp(T, Data, 'CLR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'CSG-Id', Opts) -> + avp(T, Data, 'CSG-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'CSG-Subscription-Data', Opts) -> + grouped_avp(T, 'CSG-Subscription-Data', Data, Opts); +avp(T, Data, 'Call-Barring-Info', Opts) -> + grouped_avp(T, 'Call-Barring-Info', Data, Opts); +avp(T, Data, 'Cancellation-Type', Opts) -> + avp(T, + Data, + 'Cancellation-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Cell-Global-Identity', Opts) -> + avp(T, + Data, + 'Cell-Global-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Client-Identity', Opts) -> + avp(T, + Data, + 'Client-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Collection-Period-RRM-LTE', Opts) -> + avp(T, + Data, + 'Collection-Period-RRM-LTE', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Collection-Period-RRM-UMTS', Opts) -> + avp(T, + Data, + 'Collection-Period-RRM-UMTS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Complete-Data-List-Included-Indicator', + Opts) -> + avp(T, + Data, + 'Complete-Data-List-Included-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Context-Identifier', Opts) -> + avp(T, + Data, + 'Context-Identifier', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Core-Network-Restrictions', Opts) -> + avp(T, + Data, + 'Core-Network-Restrictions', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Current-Location-Retrieved', Opts) -> + avp(T, + Data, + 'Current-Location-Retrieved', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'DSA-Flags', Opts) -> + avp(T, Data, 'DSA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'DSR-Flags', Opts) -> + avp(T, Data, 'DSR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Daylight-Saving-Time', Opts) -> + avp(T, + Data, + 'Daylight-Saving-Time', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'E-UTRAN-Cell-Global-Identity', Opts) -> + avp(T, + Data, + 'E-UTRAN-Cell-Global-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'E-UTRAN-Vector', Opts) -> + grouped_avp(T, 'E-UTRAN-Vector', Data, Opts); +avp(T, Data, 'EPS-Location-Information', Opts) -> + grouped_avp(T, 'EPS-Location-Information', Data, Opts); +avp(T, Data, 'EPS-Subscribed-QoS-Profile', Opts) -> + grouped_avp(T, + 'EPS-Subscribed-QoS-Profile', + Data, + Opts); +avp(T, Data, 'EPS-User-State', Opts) -> + grouped_avp(T, 'EPS-User-State', Data, Opts); +avp(T, Data, 'Equipment-Status', Opts) -> + avp(T, + Data, + 'Equipment-Status', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Equivalent-PLMN-List', Opts) -> + grouped_avp(T, 'Equivalent-PLMN-List', Data, Opts); +avp(T, Data, 'Error-Diagnostic', Opts) -> + avp(T, + Data, + 'Error-Diagnostic', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-Event-1F', Opts) -> + avp(T, + Data, + 'Event-Threshold-Event-1F', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-Event-1I', Opts) -> + avp(T, + Data, + 'Event-Threshold-Event-1I', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-RSRP', Opts) -> + avp(T, + Data, + 'Event-Threshold-RSRP', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-RSRQ', Opts) -> + avp(T, + Data, + 'Event-Threshold-RSRQ', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Expiration-Date', Opts) -> + avp(T, + Data, + 'Expiration-Date', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Ext-PDP-Address', Opts) -> + avp(T, + Data, + 'Ext-PDP-Address', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Ext-PDP-Type', Opts) -> + avp(T, + Data, + 'Ext-PDP-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'External-Client', Opts) -> + grouped_avp(T, 'External-Client', Data, Opts); +avp(T, Data, 'GERAN-Vector', Opts) -> + grouped_avp(T, 'GERAN-Vector', Data, Opts); +avp(T, Data, 'GMLC-Restriction', Opts) -> + avp(T, + Data, + 'GMLC-Restriction', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'GPRS-Subscription-Data', Opts) -> + grouped_avp(T, 'GPRS-Subscription-Data', Data, Opts); +avp(T, Data, 'Geodetic-Information', Opts) -> + avp(T, + Data, + 'Geodetic-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Geographical-Information', Opts) -> + avp(T, + Data, + 'Geographical-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'HPLMN-ODB', Opts) -> + avp(T, Data, 'HPLMN-ODB', Opts, diameter_3gpp_ts29_272); +avp(T, Data, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + Opts) -> + avp(T, + Data, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'ICS-Indicator', Opts) -> + avp(T, + Data, + 'ICS-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'IDA-Flags', Opts) -> + avp(T, Data, 'IDA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IDR-Flags', Opts) -> + avp(T, Data, 'IDR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IMEI', Opts) -> + avp(T, Data, 'IMEI', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IMS-Voice-Over-PS-Sessions-Supported', + Opts) -> + avp(T, + Data, + 'IMS-Voice-Over-PS-Sessions-Supported', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Immediate-Response-Preferred', Opts) -> + avp(T, + Data, + 'Immediate-Response-Preferred', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Item-Number', Opts) -> + avp(T, + Data, + 'Item-Number', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Job-Type', Opts) -> + avp(T, Data, 'Job-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'KASME', Opts) -> + avp(T, Data, 'KASME', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Kc', Opts) -> + avp(T, Data, 'Kc', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'LCS-Info', Opts) -> + grouped_avp(T, 'LCS-Info', Data, Opts); +avp(T, Data, 'LCS-PrivacyException', Opts) -> + grouped_avp(T, 'LCS-PrivacyException', Data, Opts); +avp(T, Data, 'LIPA-Permission', Opts) -> + avp(T, + Data, + 'LIPA-Permission', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Last-UE-Activity-Time', Opts) -> + avp(T, + Data, + 'Last-UE-Activity-Time', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'List-Of-Measurements', Opts) -> + avp(T, + Data, + 'List-Of-Measurements', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Local-Time-Zone', Opts) -> + grouped_avp(T, 'Local-Time-Zone', Data, Opts); +avp(T, Data, 'Location-Area-Identity', Opts) -> + avp(T, + Data, + 'Location-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Logging-Duration', Opts) -> + avp(T, + Data, + 'Logging-Duration', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Logging-Interval', Opts) -> + avp(T, + Data, + 'Logging-Interval', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MDT-Configuration', Opts) -> + grouped_avp(T, 'MDT-Configuration', Data, Opts); +avp(T, Data, 'MDT-User-Consent', Opts) -> + avp(T, + Data, + 'MDT-User-Consent', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MME-Location-Information', Opts) -> + grouped_avp(T, 'MME-Location-Information', Data, Opts); +avp(T, Data, 'MME-Number-for-MT-SMS', Opts) -> + avp(T, + Data, + 'MME-Number-for-MT-SMS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MME-User-State', Opts) -> + grouped_avp(T, 'MME-User-State', Data, Opts); +avp(T, Data, 'MO-LR', Opts) -> + grouped_avp(T, 'MO-LR', Data, Opts); +avp(T, Data, 'MPS-Priority', Opts) -> + avp(T, + Data, + 'MPS-Priority', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Period-LTE', Opts) -> + avp(T, + Data, + 'Measurement-Period-LTE', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Period-UMTS', Opts) -> + avp(T, + Data, + 'Measurement-Period-UMTS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Quantity', Opts) -> + avp(T, + Data, + 'Measurement-Quantity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'NOR-Flags', Opts) -> + avp(T, Data, 'NOR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Network-Access-Mode', Opts) -> + avp(T, + Data, + 'Network-Access-Mode', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Notification-To-UE-User', Opts) -> + avp(T, + Data, + 'Notification-To-UE-User', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Number-Of-Requested-Vectors', Opts) -> + avp(T, + Data, + 'Number-Of-Requested-Vectors', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'OMC-Id', Opts) -> + avp(T, Data, 'OMC-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Operator-Determined-Barring', Opts) -> + avp(T, + Data, + 'Operator-Determined-Barring', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PDN-GW-Allocation-Type', Opts) -> + avp(T, + Data, + 'PDN-GW-Allocation-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PDN-Type', Opts) -> + avp(T, Data, 'PDN-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PDP-Context', Opts) -> + grouped_avp(T, 'PDP-Context', Data, Opts); +avp(T, Data, 'PDP-Type', Opts) -> + avp(T, Data, 'PDP-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PLMN-Client', Opts) -> + avp(T, + Data, + 'PLMN-Client', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PUA-Flags', Opts) -> + avp(T, Data, 'PUA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PUR-Flags', Opts) -> + avp(T, Data, 'PUR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Positioning-Method', Opts) -> + avp(T, + Data, + 'Positioning-Method', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'QoS-Subscribed', Opts) -> + avp(T, + Data, + 'QoS-Subscribed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'RAND', Opts) -> + avp(T, Data, 'RAND', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'RAT-Frequency-Selection-Priority-ID', + Opts) -> + avp(T, + Data, + 'RAT-Frequency-Selection-Priority-ID', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Re-Synchronization-Info', Opts) -> + avp(T, + Data, + 'Re-Synchronization-Info', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Regional-Subscription-Zone-Code', Opts) -> + avp(T, + Data, + 'Regional-Subscription-Zone-Code', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Relay-Node-Indicator', Opts) -> + avp(T, + Data, + 'Relay-Node-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Report-Amount', Opts) -> + avp(T, + Data, + 'Report-Amount', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Report-Interval', Opts) -> + avp(T, + Data, + 'Report-Interval', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Reporting-Trigger', Opts) -> + avp(T, + Data, + 'Reporting-Trigger', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Requested-EUTRAN-Authentication-Info', + Opts) -> + grouped_avp(T, + 'Requested-EUTRAN-Authentication-Info', + Data, + Opts); +avp(T, Data, + 'Requested-UTRAN-GERAN-Authentication-Info', Opts) -> + grouped_avp(T, + 'Requested-UTRAN-GERAN-Authentication-Info', + Data, + Opts); +avp(T, Data, 'Restoration-Priority', Opts) -> + avp(T, + Data, + 'Restoration-Priority', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + Opts) -> + avp(T, + Data, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Routing-Area-Identity', Opts) -> + avp(T, + Data, + 'Routing-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SGSN-Location-Information', Opts) -> + grouped_avp(T, 'SGSN-Location-Information', Data, Opts); +avp(T, Data, 'SGSN-User-State', Opts) -> + grouped_avp(T, 'SGSN-User-State', Data, Opts); +avp(T, Data, 'SIPTO-Permission', Opts) -> + avp(T, + Data, + 'SIPTO-Permission', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SMS-Register-Request', Opts) -> + avp(T, + Data, + 'SMS-Register-Request', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SRES', Opts) -> + avp(T, Data, 'SRES', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'SS-Code', Opts) -> + avp(T, Data, 'SS-Code', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'SS-Status', Opts) -> + avp(T, Data, 'SS-Status', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'STN-SR', Opts) -> + avp(T, Data, 'STN-SR', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Service-Area-Identity', Opts) -> + avp(T, + Data, + 'Service-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Service-Type', Opts) -> + grouped_avp(T, 'Service-Type', Data, Opts); +avp(T, Data, 'ServiceTypeIdentity', Opts) -> + avp(T, + Data, + 'ServiceTypeIdentity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Software-Version', Opts) -> + avp(T, + Data, + 'Software-Version', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Specific-APN-Info', Opts) -> + grouped_avp(T, 'Specific-APN-Info', Data, Opts); +avp(T, Data, 'Subscribed-Periodic-RAU-TAU-Timer', + Opts) -> + avp(T, + Data, + 'Subscribed-Periodic-RAU-TAU-Timer', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscribed-VSRVCC', Opts) -> + avp(T, + Data, + 'Subscribed-VSRVCC', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscriber-Status', Opts) -> + avp(T, + Data, + 'Subscriber-Status', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscription-Data', Opts) -> + grouped_avp(T, 'Subscription-Data', Data, Opts); +avp(T, Data, 'Subscription-Data-Flags', Opts) -> + avp(T, + Data, + 'Subscription-Data-Flags', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'TS-Code', Opts) -> + avp(T, Data, 'TS-Code', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Teleservice-List', Opts) -> + grouped_avp(T, 'Teleservice-List', Data, Opts); +avp(T, Data, 'Terminal-Information', Opts) -> + grouped_avp(T, 'Terminal-Information', Data, Opts); +avp(T, Data, 'Time-Zone', Opts) -> + avp(T, Data, 'Time-Zone', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Collection-Entity', Opts) -> + avp(T, + Data, + 'Trace-Collection-Entity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Data', Opts) -> + grouped_avp(T, 'Trace-Data', Data, Opts); +avp(T, Data, 'Trace-Depth', Opts) -> + avp(T, + Data, + 'Trace-Depth', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Event-List', Opts) -> + avp(T, + Data, + 'Trace-Event-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Interface-List', Opts) -> + avp(T, + Data, + 'Trace-Interface-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-NE-Type-List', Opts) -> + avp(T, + Data, + 'Trace-NE-Type-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Reference', Opts) -> + avp(T, + Data, + 'Trace-Reference', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Tracking-Area-Identity', Opts) -> + avp(T, + Data, + 'Tracking-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'UE-SRVCC-Capability', Opts) -> + avp(T, + Data, + 'UE-SRVCC-Capability', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'UE-Usage-Type', Opts) -> + avp(T, + Data, + 'UE-Usage-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'ULA-Flags', Opts) -> + avp(T, Data, 'ULA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'ULR-Flags', Opts) -> + avp(T, Data, 'ULR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'UTRAN-Vector', Opts) -> + grouped_avp(T, 'UTRAN-Vector', Data, Opts); +avp(T, Data, 'UVA-Flags', Opts) -> + avp(T, Data, 'UVA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'UVR-Flags', Opts) -> + avp(T, Data, 'UVR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'User-Id', Opts) -> + avp(T, Data, 'User-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'User-State', Opts) -> + avp(T, + Data, + 'User-State', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'VPLMN-CSG-Subscription-Data', Opts) -> + grouped_avp(T, + 'VPLMN-CSG-Subscription-Data', + Data, + Opts); +avp(T, Data, 'VPLMN-Dynamic-Address-Allowed', Opts) -> + avp(T, + Data, + 'VPLMN-Dynamic-Address-Allowed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'VPLMN-LIPA-Allowed', Opts) -> + avp(T, + Data, + 'VPLMN-LIPA-Allowed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Visited-PLMN-Id', Opts) -> + avp(T, + Data, + 'Visited-PLMN-Id', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'XRES', Opts) -> + avp(T, Data, 'XRES', Opts, diameter_3gpp_ts29_272); +avp(T, Data, '3GPP-PS-Data-Off-Status', Opts) -> + avp(T, + Data, + '3GPP-PS-Data-Off-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AF-Correlation-Information', Opts) -> + grouped_avp(T, + 'AF-Correlation-Information', + Data, + Opts); +avp(T, Data, 'APN-Rate-Control', Opts) -> + grouped_avp(T, 'APN-Rate-Control', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Downlink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Downlink', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Uplink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Uplink', Data, Opts); +avp(T, Data, 'Access-Network-Info-Change', Opts) -> + grouped_avp(T, + 'Access-Network-Info-Change', + Data, + Opts); +avp(T, Data, 'Access-Network-Information', Opts) -> + avp(T, + Data, + 'Access-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Access-Transfer-Information', Opts) -> + grouped_avp(T, + 'Access-Transfer-Information', + Data, + Opts); +avp(T, Data, 'Access-Transfer-Type', Opts) -> + avp(T, + Data, + 'Access-Transfer-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Account-Expiration', Opts) -> + avp(T, + Data, + 'Account-Expiration', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Accumulated-Cost', Opts) -> + grouped_avp(T, 'Accumulated-Cost', Data, Opts); +avp(T, Data, 'Adaptations', Opts) -> + avp(T, + Data, + 'Adaptations', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Content-Information', Opts) -> + grouped_avp(T, + 'Additional-Content-Information', + Data, + Opts); +avp(T, Data, 'Additional-Exception-Reports', Opts) -> + avp(T, + Data, + 'Additional-Exception-Reports', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Type-Information', Opts) -> + avp(T, + Data, + 'Additional-Type-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Data', Opts) -> + avp(T, + Data, + 'Address-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Domain', Opts) -> + grouped_avp(T, 'Address-Domain', Data, Opts); +avp(T, Data, 'Address-Type', Opts) -> + avp(T, + Data, + 'Address-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Addressee-Type', Opts) -> + avp(T, + Data, + 'Addressee-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Alternate-Charged-Party-Address', Opts) -> + avp(T, + Data, + 'Alternate-Charged-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Identifier', Opts) -> + avp(T, + Data, + 'Announcement-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Information', Opts) -> + grouped_avp(T, 'Announcement-Information', Data, Opts); +avp(T, Data, 'Announcement-Order', Opts) -> + avp(T, + Data, + 'Announcement-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-PLMN-ID', Opts) -> + avp(T, + Data, + 'Announcing-PLMN-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Cost-Information', Opts) -> + grouped_avp(T, 'AoC-Cost-Information', Data, Opts); +avp(T, Data, 'AoC-Format', Opts) -> + avp(T, + Data, + 'AoC-Format', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Information', Opts) -> + grouped_avp(T, 'AoC-Information', Data, Opts); +avp(T, Data, 'AoC-Request-Type', Opts) -> + avp(T, + Data, + 'AoC-Request-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service', Opts) -> + grouped_avp(T, 'AoC-Service', Data, Opts); +avp(T, Data, 'AoC-Service-Obligatory-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Obligatory-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Subscription-Information', Opts) -> + grouped_avp(T, + 'AoC-Subscription-Information', + Data, + Opts); +avp(T, Data, 'Applic-ID', Opts) -> + avp(T, Data, 'Applic-ID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, + 'Application-Provided-Called-Party-Address', Opts) -> + avp(T, + Data, + 'Application-Provided-Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server', Opts) -> + avp(T, + Data, + 'Application-Server', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server-Information', Opts) -> + grouped_avp(T, + 'Application-Server-Information', + Data, + Opts); +avp(T, Data, 'Application-Specific-Data', Opts) -> + avp(T, + Data, + 'Application-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-Party-Address', Opts) -> + avp(T, + Data, + 'Associated-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-URI', Opts) -> + avp(T, + Data, + 'Associated-URI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Authorised-QoS', Opts) -> + avp(T, + Data, + 'Authorised-QoS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Aux-Applic-Info', Opts) -> + avp(T, + Data, + 'Aux-Applic-Info', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'BSSID', Opts) -> + avp(T, Data, 'BSSID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Base-Time-Interval', Opts) -> + avp(T, + Data, + 'Base-Time-Interval', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Basic-Service-Code', Opts) -> + grouped_avp(T, 'Basic-Service-Code', Data, Opts); +avp(T, Data, 'Bearer-Capability', Opts) -> + avp(T, + Data, + 'Bearer-Capability', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Bearer-Service', Opts) -> + avp(T, + Data, + 'Bearer-Service', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CG-Address', Opts) -> + avp(T, + Data, + 'CG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CN-Operator-Selection-Entity', Opts) -> + avp(T, + Data, + 'CN-Operator-Selection-Entity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CP-CIoT-EPS-Optimisation-Indicator', + Opts) -> + avp(T, + Data, + 'CP-CIoT-EPS-Optimisation-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CPDT-Information', Opts) -> + grouped_avp(T, 'CPDT-Information', Data, Opts); +avp(T, Data, 'CSG-Access-Mode', Opts) -> + avp(T, + Data, + 'CSG-Access-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CSG-Membership-Indication', Opts) -> + avp(T, + Data, + 'CSG-Membership-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CUG-Information', Opts) -> + avp(T, + Data, + 'CUG-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Asserted-Identity', Opts) -> + avp(T, + Data, + 'Called-Asserted-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity', Opts) -> + avp(T, + Data, + 'Called-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity-Change', Opts) -> + grouped_avp(T, 'Called-Identity-Change', Data, Opts); +avp(T, Data, 'Called-Party-Address', Opts) -> + avp(T, + Data, + 'Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Calling-Party-Address', Opts) -> + avp(T, + Data, + 'Calling-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Carrier-Select-Routing-Information', + Opts) -> + avp(T, + Data, + 'Carrier-Select-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cause-Code', Opts) -> + avp(T, + Data, + 'Cause-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cellular-Network-Information', Opts) -> + avp(T, + Data, + 'Cellular-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Condition', Opts) -> + avp(T, + Data, + 'Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Time', Opts) -> + avp(T, + Data, + 'Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charge-Reason-Code', Opts) -> + avp(T, + Data, + 'Charge-Reason-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charged-Party', Opts) -> + avp(T, + Data, + 'Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Characteristics-Selection-Mode', + Opts) -> + avp(T, + Data, + 'Charging-Characteristics-Selection-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Per-IP-CAN-Session-Indicator', + Opts) -> + avp(T, + Data, + 'Charging-Per-IP-CAN-Session-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Class-Identifier', Opts) -> + avp(T, + Data, + 'Class-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Client-Address', Opts) -> + avp(T, + Data, + 'Client-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Class', Opts) -> + avp(T, + Data, + 'Content-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Disposition', Opts) -> + avp(T, + Data, + 'Content-Disposition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Length', Opts) -> + avp(T, + Data, + 'Content-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Size', Opts) -> + avp(T, + Data, + 'Content-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Type', Opts) -> + avp(T, + Data, + 'Content-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Coverage-Info', Opts) -> + grouped_avp(T, 'Coverage-Info', Data, Opts); +avp(T, Data, 'Coverage-Status', Opts) -> + avp(T, + Data, + 'Coverage-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Current-Tariff', Opts) -> + grouped_avp(T, 'Current-Tariff', Data, Opts); +avp(T, Data, 'DRM-Content', Opts) -> + avp(T, + Data, + 'DRM-Content', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Deferred-Location-Event-Type', Opts) -> + avp(T, + Data, + 'Deferred-Location-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Delivery-Report-Requested', Opts) -> + avp(T, + Data, + 'Delivery-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Destination-Interface', Opts) -> + grouped_avp(T, 'Destination-Interface', Data, Opts); +avp(T, Data, 'Diagnostics', Opts) -> + avp(T, + Data, + 'Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Domain-Name', Opts) -> + avp(T, + Data, + 'Domain-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag-Extension', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag-Extension', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'EPDG-Address', Opts) -> + avp(T, + Data, + 'EPDG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Early-Media-Description', Opts) -> + grouped_avp(T, 'Early-Media-Description', Data, Opts); +avp(T, Data, 'Enhanced-Diagnostics', Opts) -> + grouped_avp(T, 'Enhanced-Diagnostics', Data, Opts); +avp(T, Data, 'Envelope', Opts) -> + grouped_avp(T, 'Envelope', Data, Opts); +avp(T, Data, 'Envelope-End-Time', Opts) -> + avp(T, + Data, + 'Envelope-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Reporting', Opts) -> + avp(T, + Data, + 'Envelope-Reporting', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Start-Time', Opts) -> + avp(T, + Data, + 'Envelope-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event', Opts) -> + avp(T, Data, 'Event', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Charging-TimeStamp', Opts) -> + avp(T, + Data, + 'Event-Charging-TimeStamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Type', Opts) -> + grouped_avp(T, 'Event-Type', Data, Opts); +avp(T, Data, 'Expires', Opts) -> + avp(T, Data, 'Expires', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'FE-Identifier-List', Opts) -> + avp(T, + Data, + 'FE-Identifier-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'File-Repair-Supported', Opts) -> + avp(T, + Data, + 'File-Repair-Supported', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Forwarding-Pending', Opts) -> + avp(T, + Data, + 'Forwarding-Pending', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'From-Address', Opts) -> + avp(T, + Data, + 'From-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'GGSN-Address', Opts) -> + avp(T, + Data, + 'GGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Application-Reference-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Application-Reference-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Communication-Service-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Communication-Service-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Emergency-Indicator', Opts) -> + avp(T, + Data, + 'IMS-Emergency-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Information', Opts) -> + grouped_avp(T, 'IMS-Information', Data, Opts); +avp(T, Data, 'IMS-Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Visited-Network-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMSI-Unauthenticated-Flag', Opts) -> + avp(T, + Data, + 'IMSI-Unauthenticated-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IP-Realm-Default-Indication', Opts) -> + avp(T, + Data, + 'IP-Realm-Default-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause', Opts) -> + grouped_avp(T, 'ISUP-Cause', Data, Opts); +avp(T, Data, 'ISUP-Cause-Diagnostics', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Location', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Location', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Value', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Location-Number', Opts) -> + avp(T, + Data, + 'ISUP-Location-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incoming-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Incoming-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incremental-Cost', Opts) -> + grouped_avp(T, 'Incremental-Cost', Data, Opts); +avp(T, Data, 'Initial-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Initial-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Instance-Id', Opts) -> + avp(T, + Data, + 'Instance-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Inter-Operator-Identifier', Opts) -> + grouped_avp(T, 'Inter-Operator-Identifier', Data, Opts); +avp(T, Data, 'Inter-UE-Transfer', Opts) -> + avp(T, + Data, + 'Inter-UE-Transfer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Id', Opts) -> + avp(T, + Data, + 'Interface-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Port', Opts) -> + avp(T, + Data, + 'Interface-Port', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Text', Opts) -> + avp(T, + Data, + 'Interface-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Type', Opts) -> + avp(T, + Data, + 'Interface-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-APN', Opts) -> + avp(T, Data, 'LCS-APN', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-Dialed-By-MS', Opts) -> + avp(T, + Data, + 'LCS-Client-Dialed-By-MS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-External-ID', Opts) -> + avp(T, + Data, + 'LCS-Client-External-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-ID', Opts) -> + grouped_avp(T, 'LCS-Client-ID', Data, Opts); +avp(T, Data, 'LCS-Client-Name', Opts) -> + grouped_avp(T, 'LCS-Client-Name', Data, Opts); +avp(T, Data, 'LCS-Client-Type', Opts) -> + avp(T, + Data, + 'LCS-Client-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'LCS-Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Format-Indicator', Opts) -> + avp(T, + Data, + 'LCS-Format-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Information', Opts) -> + grouped_avp(T, 'LCS-Information', Data, Opts); +avp(T, Data, 'LCS-Name-String', Opts) -> + avp(T, + Data, + 'LCS-Name-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Requestor-ID', Opts) -> + grouped_avp(T, 'LCS-Requestor-ID', Data, Opts); +avp(T, Data, 'LCS-Requestor-ID-String', Opts) -> + avp(T, + Data, + 'LCS-Requestor-ID-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Language', Opts) -> + avp(T, Data, 'Language', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Layer-2-Group-ID', Opts) -> + avp(T, + Data, + 'Layer-2-Group-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-GW-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Local-GW-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-Sequence-Number', Opts) -> + avp(T, + Data, + 'Local-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate', Opts) -> + avp(T, + Data, + 'Location-Estimate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate-Type', Opts) -> + avp(T, + Data, + 'Location-Estimate-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Info', Opts) -> + grouped_avp(T, 'Location-Info', Data, Opts); +avp(T, Data, 'Location-Type', Opts) -> + grouped_avp(T, 'Location-Type', Data, Opts); +avp(T, Data, 'Low-Balance-Indication', Opts) -> + avp(T, + Data, + 'Low-Balance-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Low-Priority-Indicator', Opts) -> + avp(T, + Data, + 'Low-Priority-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Charged-Party', Opts) -> + avp(T, + Data, + 'MBMS-Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-GW-Address', Opts) -> + avp(T, + Data, + 'MBMS-GW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Information', Opts) -> + grouped_avp(T, 'MBMS-Information', Data, Opts); +avp(T, Data, 'MBMS-User-Service-Type', Opts) -> + avp(T, + Data, + 'MBMS-User-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MM-Content-Type', Opts) -> + grouped_avp(T, 'MM-Content-Type', Data, Opts); +avp(T, Data, 'MMBox-Storage-Requested', Opts) -> + avp(T, + Data, + 'MMBox-Storage-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MMS-Information', Opts) -> + grouped_avp(T, 'MMS-Information', Data, Opts); +avp(T, Data, 'MMTel-Information', Opts) -> + grouped_avp(T, 'MMTel-Information', Data, Opts); +avp(T, Data, 'MMTel-SService-Type', Opts) -> + avp(T, + Data, + 'MMTel-SService-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MSC-Address', Opts) -> + avp(T, + Data, + 'MSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MTC-IWF-Address', Opts) -> + avp(T, + Data, + 'MTC-IWF-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Flag', Opts) -> + avp(T, + Data, + 'Media-Initiator-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Party', Opts) -> + avp(T, + Data, + 'Media-Initiator-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Body', Opts) -> + grouped_avp(T, 'Message-Body', Data, Opts); +avp(T, Data, 'Message-Class', Opts) -> + grouped_avp(T, 'Message-Class', Data, Opts); +avp(T, Data, 'Message-ID', Opts) -> + avp(T, + Data, + 'Message-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Size', Opts) -> + avp(T, + Data, + 'Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Type', Opts) -> + avp(T, + Data, + 'Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitored-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitored-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Configuration-Activity', + Opts) -> + avp(T, + Data, + 'Monitoring-Event-Configuration-Activity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Functionality', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Information', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Information', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Data', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Report-Data', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Number', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Report-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'NIDD-Submission', Opts) -> + grouped_avp(T, 'NIDD-Submission', Data, Opts); +avp(T, Data, 'NNI-Information', Opts) -> + grouped_avp(T, 'NNI-Information', Data, Opts); +avp(T, Data, 'NNI-Type', Opts) -> + avp(T, Data, 'NNI-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Neighbour-Node-Address', Opts) -> + avp(T, + Data, + 'Neighbour-Node-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Network-Call-Reference-Number', Opts) -> + avp(T, + Data, + 'Network-Call-Reference-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Next-Tariff', Opts) -> + grouped_avp(T, 'Next-Tariff', Data, Opts); +avp(T, Data, 'Node-Functionality', Opts) -> + avp(T, + Data, + 'Node-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Node-Id', Opts) -> + avp(T, Data, 'Node-Id', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Diversions', Opts) -> + avp(T, + Data, + 'Number-Of-Diversions', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Messages-Sent', Opts) -> + avp(T, + Data, + 'Number-Of-Messages-Sent', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Participants', Opts) -> + avp(T, + Data, + 'Number-Of-Participants', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Received-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Received-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Portability-Routing-Information', + Opts) -> + avp(T, + Data, + 'Number-Portability-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Offline-Charging', Opts) -> + grouped_avp(T, 'Offline-Charging', Data, Opts); +avp(T, Data, 'Online-Charging-Flag', Opts) -> + avp(T, + Data, + 'Online-Charging-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originating-IOI', Opts) -> + avp(T, + Data, + 'Originating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator', Opts) -> + avp(T, + Data, + 'Originator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator-Address', Opts) -> + grouped_avp(T, 'Originator-Address', Data, Opts); +avp(T, Data, 'Originator-Interface', Opts) -> + grouped_avp(T, 'Originator-Interface', Data, Opts); +avp(T, Data, 'Originator-Received-Address', Opts) -> + grouped_avp(T, + 'Originator-Received-Address', + Data, + Opts); +avp(T, Data, 'Originator-SCCP-Address', Opts) -> + avp(T, + Data, + 'Originator-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Session-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-EPC-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-EPC-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC5-Radio-Technology', Opts) -> + avp(T, + Data, + 'PC5-Radio-Technology', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDN-Connection-Charging-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-Charging-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address', Opts) -> + avp(T, + Data, + 'PDP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address-Prefix-Length', Opts) -> + avp(T, + Data, + 'PDP-Address-Prefix-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Context-Type', Opts) -> + avp(T, + Data, + 'PDP-Context-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Append-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Append-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Furnish-Charging-Information', Opts) -> + grouped_avp(T, + 'PS-Furnish-Charging-Information', + Data, + Opts); +avp(T, Data, 'PS-Information', Opts) -> + grouped_avp(T, 'PS-Information', Data, Opts); +avp(T, Data, 'Participant-Access-Priority', Opts) -> + avp(T, + Data, + 'Participant-Access-Priority', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Action-Type', Opts) -> + avp(T, + Data, + 'Participant-Action-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Group', Opts) -> + grouped_avp(T, 'Participant-Group', Data, Opts); +avp(T, Data, 'Participants-Involved', Opts) -> + avp(T, + Data, + 'Participants-Involved', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Play-Alternative', Opts) -> + avp(T, + Data, + 'Play-Alternative', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Condition', Opts) -> + avp(T, + Data, + 'PoC-Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Time', Opts) -> + avp(T, + Data, + 'PoC-Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Controlling-Address', Opts) -> + avp(T, + Data, + 'PoC-Controlling-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Event-Type', Opts) -> + avp(T, + Data, + 'PoC-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Group-Name', Opts) -> + avp(T, + Data, + 'PoC-Group-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Information', Opts) -> + grouped_avp(T, 'PoC-Information', Data, Opts); +avp(T, Data, 'PoC-Server-Role', Opts) -> + avp(T, + Data, + 'PoC-Server-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Id', Opts) -> + avp(T, + Data, + 'PoC-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Initiation-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Initiation-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role', Opts) -> + grouped_avp(T, 'PoC-User-Role', Data, Opts); +avp(T, Data, 'PoC-User-Role-IDs', Opts) -> + avp(T, + Data, + 'PoC-User-Role-IDs', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role-Info-Units', Opts) -> + avp(T, + Data, + 'PoC-User-Role-Info-Units', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Positioning-Data', Opts) -> + avp(T, + Data, + 'Positioning-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Preferred-AoC-Currency', Opts) -> + avp(T, + Data, + 'Preferred-AoC-Currency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Priority', Opts) -> + avp(T, Data, 'Priority', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Privacy-Indicator', Opts) -> + avp(T, + Data, + 'Privacy-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-3rd-Party-Application-ID', Opts) -> + avp(T, + Data, + 'ProSe-3rd-Party-Application-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, + 'ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Reception-Data-Container', + Data, + Opts); +avp(T, Data, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Data, + Opts); +avp(T, Data, 'ProSe-Direct-Discovery-Model', Opts) -> + avp(T, + Data, + 'ProSe-Direct-Discovery-Model', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Event-Type', Opts) -> + avp(T, + Data, + 'ProSe-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Function-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'ProSe-Function-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Functionality', Opts) -> + avp(T, + Data, + 'ProSe-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Group-IP-Multicast-Address', + Opts) -> + avp(T, + Data, + 'ProSe-Group-IP-Multicast-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Information', Opts) -> + grouped_avp(T, 'ProSe-Information', Data, Opts); +avp(T, Data, 'ProSe-Range-Class', Opts) -> + avp(T, + Data, + 'ProSe-Range-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Reason-For-Cancellation', Opts) -> + avp(T, + Data, + 'ProSe-Reason-For-Cancellation', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Request-Timestamp', Opts) -> + avp(T, + Data, + 'ProSe-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Role-Of-UE', Opts) -> + avp(T, + Data, + 'ProSe-Role-Of-UE', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Source-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Source-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Target-Layer-2-ID', Opts) -> + avp(T, + Data, + 'ProSe-Target-Layer-2-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-to-Network-Relay-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-to-Network-Relay-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Indication', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Timestamp', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Cancellation-Timestamp', + Opts) -> + avp(T, + Data, + 'Proximity-Cancellation-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Consumption-Time', Opts) -> + avp(T, + Data, + 'Quota-Consumption-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Holding-Time', Opts) -> + avp(T, + Data, + 'Quota-Holding-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Indicator', Opts) -> + avp(T, + Data, + 'Quota-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-End-Time', Opts) -> + avp(T, + Data, + 'RAN-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-Secondary-RAT-Usage-Report', Opts) -> + grouped_avp(T, + 'RAN-Secondary-RAT-Usage-Report', + Data, + Opts); +avp(T, Data, 'RAN-Start-Time', Opts) -> + avp(T, + Data, + 'RAN-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Frequency', Opts) -> + avp(T, + Data, + 'Radio-Frequency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Parameter-Set-Info', Opts) -> + grouped_avp(T, 'Radio-Parameter-Set-Info', Data, Opts); +avp(T, Data, 'Radio-Parameter-Set-Values', Opts) -> + avp(T, + Data, + 'Radio-Parameter-Set-Values', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Resources-Indicator', Opts) -> + avp(T, + Data, + 'Radio-Resources-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Message-Size', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Rate', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Rate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Time-Unit', Opts) -> + avp(T, + Data, + 'Rate-Control-Time-Unit', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Element', Opts) -> + grouped_avp(T, 'Rate-Element', Data, Opts); +avp(T, Data, 'Read-Reply-Report-Requested', Opts) -> + avp(T, + Data, + 'Read-Reply-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Real-Time-Tariff-Information', Opts) -> + grouped_avp(T, + 'Real-Time-Tariff-Information', + Data, + Opts); +avp(T, Data, 'Reason-Header', Opts) -> + avp(T, + Data, + 'Reason-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Recipient-Address', Opts) -> + grouped_avp(T, 'Recipient-Address', Data, Opts); +avp(T, Data, 'Recipient-Info', Opts) -> + grouped_avp(T, 'Recipient-Info', Data, Opts); +avp(T, Data, 'Recipient-Received-Address', Opts) -> + grouped_avp(T, + 'Recipient-Received-Address', + Data, + Opts); +avp(T, Data, 'Recipient-SCCP-Address', Opts) -> + avp(T, + Data, + 'Recipient-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Refund-Information', Opts) -> + avp(T, + Data, + 'Refund-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Change-Condition-Information', + Opts) -> + grouped_avp(T, + 'Related-Change-Condition-Information', + Data, + Opts); +avp(T, Data, 'Related-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-IMS-Charging-Identifier-Node', + Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Trigger', Opts) -> + grouped_avp(T, 'Related-Trigger', Data, Opts); +avp(T, Data, 'Relationship-Mode', Opts) -> + avp(T, + Data, + 'Relationship-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Relay-IP-address', Opts) -> + avp(T, + Data, + 'Relay-IP-address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Remaining-Balance', Opts) -> + grouped_avp(T, 'Remaining-Balance', Data, Opts); +avp(T, Data, 'Reply-Applic-ID', Opts) -> + avp(T, + Data, + 'Reply-Applic-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reply-Path-Requested', Opts) -> + avp(T, + Data, + 'Reply-Path-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reporting-Reason', Opts) -> + avp(T, + Data, + 'Reporting-Reason', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requested-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-Party-Address', Opts) -> + avp(T, + Data, + 'Requested-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requestor-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requestor-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-Node', Opts) -> + avp(T, + Data, + 'Role-Of-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-ProSe-Function', Opts) -> + avp(T, + Data, + 'Role-Of-ProSe-Function', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Received', Opts) -> + avp(T, + Data, + 'Route-Header-Received', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Transmitted', Opts) -> + avp(T, + Data, + 'Route-Header-Transmitted', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-AS-Address', Opts) -> + grouped_avp(T, 'SCS-AS-Address', Data, Opts); +avp(T, Data, 'SCS-Address', Opts) -> + avp(T, + Data, + 'SCS-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-Realm', Opts) -> + avp(T, Data, 'SCS-Realm', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Answer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Answer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Component', Opts) -> + grouped_avp(T, 'SDP-Media-Component', Data, Opts); +avp(T, Data, 'SDP-Media-Description', Opts) -> + avp(T, + Data, + 'SDP-Media-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Name', Opts) -> + avp(T, + Data, + 'SDP-Media-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Offer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Offer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Session-Description', Opts) -> + avp(T, + Data, + 'SDP-Session-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-TimeStamps', Opts) -> + grouped_avp(T, 'SDP-TimeStamps', Data, Opts); +avp(T, Data, 'SDP-Type', Opts) -> + avp(T, Data, 'SDP-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SGSN-Address', Opts) -> + avp(T, + Data, + 'SGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Address', Opts) -> + avp(T, + Data, + 'SGW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Change', Opts) -> + avp(T, + Data, + 'SGW-Change', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGi-PtP-Tunnelling-Method', Opts) -> + avp(T, + Data, + 'SGi-PtP-Tunnelling-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Method', Opts) -> + avp(T, + Data, + 'SIP-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Indicator', Opts) -> + avp(T, + Data, + 'SM-Device-Trigger-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Information', Opts) -> + grouped_avp(T, + 'SM-Device-Trigger-Information', + Data, + Opts); +avp(T, Data, 'SM-Discharge-Time', Opts) -> + avp(T, + Data, + 'SM-Discharge-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Message-Type', Opts) -> + avp(T, + Data, + 'SM-Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Protocol-ID', Opts) -> + avp(T, + Data, + 'SM-Protocol-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Sequence-Number', Opts) -> + avp(T, + Data, + 'SM-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Service-Type', Opts) -> + avp(T, + Data, + 'SM-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Status', Opts) -> + avp(T, Data, 'SM-Status', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SM-User-Data-Header', Opts) -> + avp(T, + Data, + 'SM-User-Data-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Information', Opts) -> + grouped_avp(T, 'SMS-Information', Data, Opts); +avp(T, Data, 'SMS-Node', Opts) -> + avp(T, Data, 'SMS-Node', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Result', Opts) -> + avp(T, + Data, + 'SMS-Result', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMSC-Address', Opts) -> + avp(T, + Data, + 'SMSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Scale-Factor', Opts) -> + grouped_avp(T, 'Scale-Factor', Data, Opts); +avp(T, Data, 'Secondary-RAT-Type', Opts) -> + avp(T, + Data, + 'Secondary-RAT-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Served-Party-IP-Address', Opts) -> + avp(T, + Data, + 'Served-Party-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Data-Container', Opts) -> + grouped_avp(T, 'Service-Data-Container', Data, Opts); +avp(T, Data, 'Service-Id', Opts) -> + avp(T, + Data, + 'Service-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Information', Opts) -> + grouped_avp(T, 'Service-Information', Data, Opts); +avp(T, Data, 'Service-Mode', Opts) -> + avp(T, + Data, + 'Service-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Data', Opts) -> + avp(T, + Data, + 'Service-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Info', Opts) -> + grouped_avp(T, 'Service-Specific-Info', Data, Opts); +avp(T, Data, 'Service-Specific-Type', Opts) -> + avp(T, + Data, + 'Service-Specific-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Identity', Opts) -> + avp(T, + Data, + 'Serving-Node-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Type', Opts) -> + avp(T, + Data, + 'Serving-Node-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Session-Direction', Opts) -> + avp(T, + Data, + 'Session-Direction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-Time', Opts) -> + avp(T, + Data, + 'Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-of-Charging', Opts) -> + avp(T, + Data, + 'Start-of-Charging', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Status-AS-Code', Opts) -> + avp(T, + Data, + 'Status-AS-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Stop-Time', Opts) -> + avp(T, Data, 'Stop-Time', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Submission-Time', Opts) -> + avp(T, + Data, + 'Submission-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Subscriber-Role', Opts) -> + avp(T, + Data, + 'Subscriber-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Supplementary-Service', Opts) -> + grouped_avp(T, 'Supplementary-Service', Data, Opts); +avp(T, Data, 'TAD-Identifier', Opts) -> + avp(T, + Data, + 'TAD-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAG-Address', Opts) -> + avp(T, + Data, + 'TWAG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'TWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Talk-Burst-Exchange', Opts) -> + grouped_avp(T, 'Talk-Burst-Exchange', Data, Opts); +avp(T, Data, 'Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Target-IP-Address', Opts) -> + avp(T, + Data, + 'Target-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Tariff-Information', Opts) -> + grouped_avp(T, 'Tariff-Information', Data, Opts); +avp(T, Data, 'Tariff-XML', Opts) -> + avp(T, + Data, + 'Tariff-XML', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Teleservice', Opts) -> + avp(T, + Data, + 'Teleservice', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Terminating-IOI', Opts) -> + avp(T, + Data, + 'Terminating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Reception', Opts) -> + avp(T, + Data, + 'Time-First-Reception', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Transmission', Opts) -> + avp(T, + Data, + 'Time-First-Transmission', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Usage', Opts) -> + avp(T, + Data, + 'Time-First-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Indicator', Opts) -> + avp(T, + Data, + 'Time-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Last-Usage', Opts) -> + avp(T, + Data, + 'Time-Last-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Mechanism', Opts) -> + grouped_avp(T, 'Time-Quota-Mechanism', Data, Opts); +avp(T, Data, 'Time-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Time-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Type', Opts) -> + avp(T, + Data, + 'Time-Quota-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Stamps', Opts) -> + grouped_avp(T, 'Time-Stamps', Data, Opts); +avp(T, Data, 'Time-Usage', Opts) -> + avp(T, + Data, + 'Time-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Token-Text', Opts) -> + avp(T, + Data, + 'Token-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Traffic-Data-Volumes', Opts) -> + grouped_avp(T, 'Traffic-Data-Volumes', Data, Opts); +avp(T, Data, 'Transcoder-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Transcoder-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transit-IOI-List', Opts) -> + avp(T, + Data, + 'Transit-IOI-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transmitter-Info', Opts) -> + grouped_avp(T, 'Transmitter-Info', Data, Opts); +avp(T, Data, 'Trigger', Opts) -> + grouped_avp(T, 'Trigger', Data, Opts); +avp(T, Data, 'Trigger-Type', Opts) -> + avp(T, + Data, + 'Trigger-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Trunk-Group-Id', Opts) -> + grouped_avp(T, 'Trunk-Group-Id', Data, Opts); +avp(T, Data, 'Type-Number', Opts) -> + avp(T, + Data, + 'Type-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UNI-PDU-CP-Only-Flag', Opts) -> + avp(T, + Data, + 'UNI-PDU-CP-Only-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'UWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Unit-Cost', Opts) -> + grouped_avp(T, 'Unit-Cost', Data, Opts); +avp(T, Data, 'Unit-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Unit-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Unused-Quota-Timer', Opts) -> + avp(T, + Data, + 'Unused-Quota-Timer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Usage-Information-Report-Sequence-Number', + Opts) -> + avp(T, + Data, + 'Usage-Information-Report-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-CSG-Information', Opts) -> + grouped_avp(T, 'User-CSG-Information', Data, Opts); +avp(T, Data, 'User-Participating-Type', Opts) -> + avp(T, + Data, + 'User-Participating-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-Session-Id', Opts) -> + avp(T, + Data, + 'User-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'VCS-Information', Opts) -> + grouped_avp(T, 'VCS-Information', Data, Opts); +avp(T, Data, 'VLR-Number', Opts) -> + avp(T, + Data, + 'VLR-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part', Opts) -> + grouped_avp(T, 'Variable-Part', Data, Opts); +avp(T, Data, 'Variable-Part-Order', Opts) -> + avp(T, + Data, + 'Variable-Part-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Type', Opts) -> + avp(T, + Data, + 'Variable-Part-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Value', Opts) -> + avp(T, + Data, + 'Variable-Part-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Volume-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Volume-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Realm', Opts) -> + avp(T, + Data, + 'Address-Realm', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Aggregation-Network-Type', Opts) -> + avp(T, + Data, + 'Aggregation-Network-Type', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Application-Class-ID', Opts) -> + avp(T, + Data, + 'Application-Class-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'IP-Connectivity-Status', Opts) -> + avp(T, + Data, + 'IP-Connectivity-Status', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Initial-Gate-Setting-ID', Opts) -> + avp(T, + Data, + 'Initial-Gate-Setting-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Logical-Access-ID', Opts) -> + avp(T, + Data, + 'Logical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-DL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-UL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Physical-Access-ID', Opts) -> + avp(T, + Data, + 'Physical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'QoS-Profile-ID', Opts) -> + avp(T, + Data, + 'QoS-Profile-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Transport-Class', Opts) -> + avp(T, + Data, + 'Transport-Class', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'CC-Correlation-Id', Opts) -> + avp(T, + Data, + 'CC-Correlation-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Input-Octets', Opts) -> + avp(T, + Data, + 'CC-Input-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Money', Opts) -> + grouped_avp(T, 'CC-Money', Data, Opts); +avp(T, Data, 'CC-Output-Octets', Opts) -> + avp(T, + Data, + 'CC-Output-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Number', Opts) -> + avp(T, + Data, + 'CC-Request-Number', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Type', Opts) -> + avp(T, + Data, + 'CC-Request-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Service-Specific-Units', Opts) -> + avp(T, + Data, + 'CC-Service-Specific-Units', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Session-Failover', Opts) -> + avp(T, + Data, + 'CC-Session-Failover', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'CC-Sub-Session-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Time', Opts) -> + avp(T, Data, 'CC-Time', Opts, diameter_rfc4006_cc); +avp(T, Data, 'CC-Total-Octets', Opts) -> + avp(T, + Data, + 'CC-Total-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Unit-Type', Opts) -> + avp(T, Data, 'CC-Unit-Type', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Check-Balance-Result', Opts) -> + avp(T, + Data, + 'Check-Balance-Result', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Cost-Information', Opts) -> + grouped_avp(T, 'Cost-Information', Data, Opts); +avp(T, Data, 'Cost-Unit', Opts) -> + avp(T, Data, 'Cost-Unit', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control', Opts) -> + avp(T, + Data, + 'Credit-Control', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control-Failure-Handling', Opts) -> + avp(T, + Data, + 'Credit-Control-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Currency-Code', Opts) -> + avp(T, + Data, + 'Currency-Code', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Direct-Debiting-Failure-Handling', + Opts) -> + avp(T, + Data, + 'Direct-Debiting-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Exponent', Opts) -> + avp(T, Data, 'Exponent', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Action', Opts) -> + avp(T, + Data, + 'Final-Unit-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Indication', Opts) -> + grouped_avp(T, 'Final-Unit-Indication', Data, Opts); +avp(T, Data, 'G-S-U-Pool-Identifier', Opts) -> + avp(T, + Data, + 'G-S-U-Pool-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'G-S-U-Pool-Reference', Opts) -> + grouped_avp(T, 'G-S-U-Pool-Reference', Data, Opts); +avp(T, Data, 'Granted-Service-Unit', Opts) -> + grouped_avp(T, 'Granted-Service-Unit', Data, Opts); +avp(T, Data, 'Multiple-Services-Credit-Control', + Opts) -> + grouped_avp(T, + 'Multiple-Services-Credit-Control', + Data, + Opts); +avp(T, Data, 'Multiple-Services-Indicator', Opts) -> + avp(T, + Data, + 'Multiple-Services-Indicator', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Rating-Group', Opts) -> + avp(T, Data, 'Rating-Group', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Address-Type', Opts) -> + avp(T, + Data, + 'Redirect-Address-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Server', Opts) -> + grouped_avp(T, 'Redirect-Server', Data, Opts); +avp(T, Data, 'Redirect-Server-Address', Opts) -> + avp(T, + Data, + 'Redirect-Server-Address', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Action', Opts) -> + avp(T, + Data, + 'Requested-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Service-Unit', Opts) -> + grouped_avp(T, 'Requested-Service-Unit', Data, Opts); +avp(T, Data, 'Restriction-Filter-Rule', Opts) -> + avp(T, + Data, + 'Restriction-Filter-Rule', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Context-Id', Opts) -> + avp(T, + Data, + 'Service-Context-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Identifier', Opts) -> + avp(T, + Data, + 'Service-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Info', Opts) -> + grouped_avp(T, 'Service-Parameter-Info', Data, Opts); +avp(T, Data, 'Service-Parameter-Type', Opts) -> + avp(T, + Data, + 'Service-Parameter-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Value', Opts) -> + avp(T, + Data, + 'Service-Parameter-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id', Opts) -> + grouped_avp(T, 'Subscription-Id', Data, Opts); +avp(T, Data, 'Subscription-Id-Data', Opts) -> + avp(T, + Data, + 'Subscription-Id-Data', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id-Type', Opts) -> + avp(T, + Data, + 'Subscription-Id-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Change-Usage', Opts) -> + avp(T, + Data, + 'Tariff-Change-Usage', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Time-Change', Opts) -> + avp(T, + Data, + 'Tariff-Time-Change', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Unit-Value', Opts) -> + grouped_avp(T, 'Unit-Value', Data, Opts); +avp(T, Data, 'Used-Service-Unit', Opts) -> + grouped_avp(T, 'Used-Service-Unit', Data, Opts); +avp(T, Data, 'User-Equipment-Info', Opts) -> + grouped_avp(T, 'User-Equipment-Info', Data, Opts); +avp(T, Data, 'User-Equipment-Info-Type', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'User-Equipment-Info-Value', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Validity-Time', Opts) -> + avp(T, + Data, + 'Validity-Time', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Value-Digits', Opts) -> + avp(T, Data, 'Value-Digits', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Location-Data', Opts) -> + avp(T, Data, 'Location-Data', Opts, diameter_rfc5580); +avp(T, Data, 'Location-Information', Opts) -> + avp(T, + Data, + 'Location-Information', + Opts, + diameter_rfc5580); +avp(T, Data, 'Operator-Name', Opts) -> + avp(T, Data, 'Operator-Name', Opts, diameter_rfc5580); +avp(T, Data, 'Service-Selection', Opts) -> + avp(T, + Data, + 'Service-Selection', + Opts, + diameter_rfc5778); +avp(T, Data, 'OC-Feature-Vector', Opts) -> + avp(T, + Data, + 'OC-Feature-Vector', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-OLR', Opts) -> + grouped_avp(T, 'OC-OLR', Data, Opts); +avp(T, Data, 'OC-Reduction-Percentage', Opts) -> + avp(T, + Data, + 'OC-Reduction-Percentage', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-Report-Type', Opts) -> + avp(T, Data, 'OC-Report-Type', Opts, diameter_rfc7683); +avp(T, Data, 'OC-Sequence-Number', Opts) -> + avp(T, + Data, + 'OC-Sequence-Number', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-Supported-Features', Opts) -> + grouped_avp(T, 'OC-Supported-Features', Data, Opts); +avp(T, Data, 'OC-Validity-Duration', Opts) -> + avp(T, + Data, + 'OC-Validity-Duration', + Opts, + diameter_rfc7683); +avp(T, Data, 'DRMP', Opts) -> + avp(T, Data, 'DRMP', Opts, diameter_rfc7944); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'AN-Trusted', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'AN-Trusted', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'AN-Trusted', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'AN-Trusted', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Transport-Access-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Transport-Access-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Non-3GPP-IP-Access', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Non-3GPP-IP-Access', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Non-3GPP-IP-Access', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Non-3GPP-IP-Access', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Non-3GPP-IP-Access-APN', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Non-3GPP-IP-Access-APN', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Non-3GPP-IP-Access-APN', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Non-3GPP-IP-Access-APN', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('WLAN-Identifier', Opts) -> + empty_group('WLAN-Identifier', Opts); +empty_value('Access-Network-Info', Opts) -> + empty_group('Access-Network-Info', Opts); +empty_value('TWAN-Connectivity-Parameters', Opts) -> + empty_group('TWAN-Connectivity-Parameters', Opts); +empty_value('Non-3GPP-User-Data', Opts) -> + empty_group('Non-3GPP-User-Data', Opts); +empty_value('Trace-Info', Opts) -> + empty_group('Trace-Info', Opts); +empty_value('TWAN-Access-Info', Opts) -> + empty_group('TWAN-Access-Info', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Emergency-Info', Opts) -> + empty_group('Emergency-Info', Opts); +empty_value('Access-Network-Charging-Identifier-Gx', + Opts) -> + empty_group('Access-Network-Charging-Identifier-Gx', + Opts); +empty_value('Allocation-Retention-Priority', Opts) -> + empty_group('Allocation-Retention-Priority', Opts); +empty_value('Application-Detection-Information', + Opts) -> + empty_group('Application-Detection-Information', Opts); +empty_value('Charging-Rule-Definition', Opts) -> + empty_group('Charging-Rule-Definition', Opts); +empty_value('Charging-Rule-Install', Opts) -> + empty_group('Charging-Rule-Install', Opts); +empty_value('Charging-Rule-Remove', Opts) -> + empty_group('Charging-Rule-Remove', Opts); +empty_value('Charging-Rule-Report', Opts) -> + empty_group('Charging-Rule-Report', Opts); +empty_value('CoA-Information', Opts) -> + empty_group('CoA-Information', Opts); +empty_value('Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + empty_group('Conditional-APN-Aggregate-Max-Bitrate', + Opts); +empty_value('Default-EPS-Bearer-QoS', Opts) -> + empty_group('Default-EPS-Bearer-QoS', Opts); +empty_value('Default-QoS-Information', Opts) -> + empty_group('Default-QoS-Information', Opts); +empty_value('Event-Report-Indication', Opts) -> + empty_group('Event-Report-Indication', Opts); +empty_value('Fixed-User-Location-Info', Opts) -> + empty_group('Fixed-User-Location-Info', Opts); +empty_value('Flow-Information', Opts) -> + empty_group('Flow-Information', Opts); +empty_value('Packet-Filter-Information', Opts) -> + empty_group('Packet-Filter-Information', Opts); +empty_value('Presence-Reporting-Area-Information', + Opts) -> + empty_group('Presence-Reporting-Area-Information', + Opts); +empty_value('QoS-Information', Opts) -> + empty_group('QoS-Information', Opts); +empty_value('Redirect-Information', Opts) -> + empty_group('Redirect-Information', Opts); +empty_value('Routing-Filter', Opts) -> + empty_group('Routing-Filter', Opts); +empty_value('Routing-Rule-Definition', Opts) -> + empty_group('Routing-Rule-Definition', Opts); +empty_value('Routing-Rule-Install', Opts) -> + empty_group('Routing-Rule-Install', Opts); +empty_value('Routing-Rule-Remove', Opts) -> + empty_group('Routing-Rule-Remove', Opts); +empty_value('TDF-Information', Opts) -> + empty_group('TDF-Information', Opts); +empty_value('Tunnel-Information', Opts) -> + empty_group('Tunnel-Information', Opts); +empty_value('TFT-Packet-Filter-Information', Opts) -> + empty_group('TFT-Packet-Filter-Information', Opts); +empty_value('Usage-Monitoring-Information', Opts) -> + empty_group('Usage-Monitoring-Information', Opts); +empty_value('Subscription-Data', Opts) -> + empty_group('Subscription-Data', Opts); +empty_value('Terminal-Information', Opts) -> + empty_group('Terminal-Information', Opts); +empty_value('Requested-EUTRAN-Authentication-Info', + Opts) -> + empty_group('Requested-EUTRAN-Authentication-Info', + Opts); +empty_value('Requested-UTRAN-GERAN-Authentication-Info', + Opts) -> + empty_group('Requested-UTRAN-GERAN-Authentication-Info', + Opts); +empty_value('Authentication-Info', Opts) -> + empty_group('Authentication-Info', Opts); +empty_value('E-UTRAN-Vector', Opts) -> + empty_group('E-UTRAN-Vector', Opts); +empty_value('UTRAN-Vector', Opts) -> + empty_group('UTRAN-Vector', Opts); +empty_value('GERAN-Vector', Opts) -> + empty_group('GERAN-Vector', Opts); +empty_value('APN-Configuration-Profile', Opts) -> + empty_group('APN-Configuration-Profile', Opts); +empty_value('APN-Configuration', Opts) -> + empty_group('APN-Configuration', Opts); +empty_value('EPS-Subscribed-QoS-Profile', Opts) -> + empty_group('EPS-Subscribed-QoS-Profile', Opts); +empty_value('AMBR', Opts) -> empty_group('AMBR', Opts); +empty_value('Trace-Data', Opts) -> + empty_group('Trace-Data', Opts); +empty_value('GPRS-Subscription-Data', Opts) -> + empty_group('GPRS-Subscription-Data', Opts); +empty_value('PDP-Context', Opts) -> + empty_group('PDP-Context', Opts); +empty_value('CSG-Subscription-Data', Opts) -> + empty_group('CSG-Subscription-Data', Opts); +empty_value('Specific-APN-Info', Opts) -> + empty_group('Specific-APN-Info', Opts); +empty_value('LCS-Info', Opts) -> + empty_group('LCS-Info', Opts); +empty_value('LCS-PrivacyException', Opts) -> + empty_group('LCS-PrivacyException', Opts); +empty_value('External-Client', Opts) -> + empty_group('External-Client', Opts); +empty_value('Service-Type', Opts) -> + empty_group('Service-Type', Opts); +empty_value('MO-LR', Opts) -> + empty_group('MO-LR', Opts); +empty_value('Teleservice-List', Opts) -> + empty_group('Teleservice-List', Opts); +empty_value('Call-Barring-Info', Opts) -> + empty_group('Call-Barring-Info', Opts); +empty_value('EPS-User-State', Opts) -> + empty_group('EPS-User-State', Opts); +empty_value('EPS-Location-Information', Opts) -> + empty_group('EPS-Location-Information', Opts); +empty_value('MME-User-State', Opts) -> + empty_group('MME-User-State', Opts); +empty_value('SGSN-User-State', Opts) -> + empty_group('SGSN-User-State', Opts); +empty_value('MME-Location-Information', Opts) -> + empty_group('MME-Location-Information', Opts); +empty_value('SGSN-Location-Information', Opts) -> + empty_group('SGSN-Location-Information', Opts); +empty_value('Active-APN', Opts) -> + empty_group('Active-APN', Opts); +empty_value('MDT-Configuration', Opts) -> + empty_group('MDT-Configuration', Opts); +empty_value('Area-Scope', Opts) -> + empty_group('Area-Scope', Opts); +empty_value('Equivalent-PLMN-List', Opts) -> + empty_group('Equivalent-PLMN-List', Opts); +empty_value('VPLMN-CSG-Subscription-Data', Opts) -> + empty_group('VPLMN-CSG-Subscription-Data', Opts); +empty_value('Local-Time-Zone', Opts) -> + empty_group('Local-Time-Zone', Opts); +empty_value('Access-Network-Info-Change', Opts) -> + empty_group('Access-Network-Info-Change', Opts); +empty_value('Access-Transfer-Information', Opts) -> + empty_group('Access-Transfer-Information', Opts); +empty_value('Accumulated-Cost', Opts) -> + empty_group('Accumulated-Cost', Opts); +empty_value('Additional-Content-Information', Opts) -> + empty_group('Additional-Content-Information', Opts); +empty_value('Address-Domain', Opts) -> + empty_group('Address-Domain', Opts); +empty_value('AF-Correlation-Information', Opts) -> + empty_group('AF-Correlation-Information', Opts); +empty_value('Announcement-Information', Opts) -> + empty_group('Announcement-Information', Opts); +empty_value('AoC-Cost-Information', Opts) -> + empty_group('AoC-Cost-Information', Opts); +empty_value('AoC-Information', Opts) -> + empty_group('AoC-Information', Opts); +empty_value('AoC-Service', Opts) -> + empty_group('AoC-Service', Opts); +empty_value('AoC-Subscription-Information', Opts) -> + empty_group('AoC-Subscription-Information', Opts); +empty_value('APN-Rate-Control', Opts) -> + empty_group('APN-Rate-Control', Opts); +empty_value('APN-Rate-Control-Downlink', Opts) -> + empty_group('APN-Rate-Control-Downlink', Opts); +empty_value('APN-Rate-Control-Uplink', Opts) -> + empty_group('APN-Rate-Control-Uplink', Opts); +empty_value('Application-Server-Information', Opts) -> + empty_group('Application-Server-Information', Opts); +empty_value('Basic-Service-Code', Opts) -> + empty_group('Basic-Service-Code', Opts); +empty_value('Called-Identity-Change', Opts) -> + empty_group('Called-Identity-Change', Opts); +empty_value('Coverage-Info', Opts) -> + empty_group('Coverage-Info', Opts); +empty_value('CPDT-Information', Opts) -> + empty_group('CPDT-Information', Opts); +empty_value('Current-Tariff', Opts) -> + empty_group('Current-Tariff', Opts); +empty_value('Destination-Interface', Opts) -> + empty_group('Destination-Interface', Opts); +empty_value('Early-Media-Description', Opts) -> + empty_group('Early-Media-Description', Opts); +empty_value('Enhanced-Diagnostics', Opts) -> + empty_group('Enhanced-Diagnostics', Opts); +empty_value('Envelope', Opts) -> + empty_group('Envelope', Opts); +empty_value('Event-Type', Opts) -> + empty_group('Event-Type', Opts); +empty_value('Incremental-Cost', Opts) -> + empty_group('Incremental-Cost', Opts); +empty_value('IMS-Information', Opts) -> + empty_group('IMS-Information', Opts); +empty_value('Inter-Operator-Identifier', Opts) -> + empty_group('Inter-Operator-Identifier', Opts); +empty_value('ISUP-Cause', Opts) -> + empty_group('ISUP-Cause', Opts); +empty_value('LCS-Client-ID', Opts) -> + empty_group('LCS-Client-ID', Opts); +empty_value('LCS-Client-Name', Opts) -> + empty_group('LCS-Client-Name', Opts); +empty_value('LCS-Information', Opts) -> + empty_group('LCS-Information', Opts); +empty_value('LCS-Requestor-ID', Opts) -> + empty_group('LCS-Requestor-ID', Opts); +empty_value('Location-Info', Opts) -> + empty_group('Location-Info', Opts); +empty_value('Location-Type', Opts) -> + empty_group('Location-Type', Opts); +empty_value('MBMS-Information', Opts) -> + empty_group('MBMS-Information', Opts); +empty_value('Message-Body', Opts) -> + empty_group('Message-Body', Opts); +empty_value('Message-Class', Opts) -> + empty_group('Message-Class', Opts); +empty_value('MM-Content-Type', Opts) -> + empty_group('MM-Content-Type', Opts); +empty_value('MMS-Information', Opts) -> + empty_group('MMS-Information', Opts); +empty_value('MMTel-Information', Opts) -> + empty_group('MMTel-Information', Opts); +empty_value('Monitoring-Event-Information', Opts) -> + empty_group('Monitoring-Event-Information', Opts); +empty_value('Monitoring-Event-Report-Data', Opts) -> + empty_group('Monitoring-Event-Report-Data', Opts); +empty_value('Next-Tariff', Opts) -> + empty_group('Next-Tariff', Opts); +empty_value('NIDD-Submission', Opts) -> + empty_group('NIDD-Submission', Opts); +empty_value('NNI-Information', Opts) -> + empty_group('NNI-Information', Opts); +empty_value('Offline-Charging', Opts) -> + empty_group('Offline-Charging', Opts); +empty_value('Originator-Address', Opts) -> + empty_group('Originator-Address', Opts); +empty_value('Originator-Interface', Opts) -> + empty_group('Originator-Interface', Opts); +empty_value('Originator-Received-Address', Opts) -> + empty_group('Originator-Received-Address', Opts); +empty_value('Participant-Group', Opts) -> + empty_group('Participant-Group', Opts); +empty_value('PoC-Information', Opts) -> + empty_group('PoC-Information', Opts); +empty_value('PoC-User-Role', Opts) -> + empty_group('PoC-User-Role', Opts); +empty_value('ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Reception-Data-Container', + Opts); +empty_value('ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Transmission-Data-Container', + Opts); +empty_value('ProSe-Information', Opts) -> + empty_group('ProSe-Information', Opts); +empty_value('PS-Furnish-Charging-Information', Opts) -> + empty_group('PS-Furnish-Charging-Information', Opts); +empty_value('PS-Information', Opts) -> + empty_group('PS-Information', Opts); +empty_value('Radio-Parameter-Set-Info', Opts) -> + empty_group('Radio-Parameter-Set-Info', Opts); +empty_value('RAN-Secondary-RAT-Usage-Report', Opts) -> + empty_group('RAN-Secondary-RAT-Usage-Report', Opts); +empty_value('Rate-Element', Opts) -> + empty_group('Rate-Element', Opts); +empty_value('Real-Time-Tariff-Information', Opts) -> + empty_group('Real-Time-Tariff-Information', Opts); +empty_value('Recipient-Address', Opts) -> + empty_group('Recipient-Address', Opts); +empty_value('Recipient-Info', Opts) -> + empty_group('Recipient-Info', Opts); +empty_value('Recipient-Received-Address', Opts) -> + empty_group('Recipient-Received-Address', Opts); +empty_value('Related-Change-Condition-Information', + Opts) -> + empty_group('Related-Change-Condition-Information', + Opts); +empty_value('Related-Trigger', Opts) -> + empty_group('Related-Trigger', Opts); +empty_value('Remaining-Balance', Opts) -> + empty_group('Remaining-Balance', Opts); +empty_value('Scale-Factor', Opts) -> + empty_group('Scale-Factor', Opts); +empty_value('SCS-AS-Address', Opts) -> + empty_group('SCS-AS-Address', Opts); +empty_value('SDP-Media-Component', Opts) -> + empty_group('SDP-Media-Component', Opts); +empty_value('SDP-TimeStamps', Opts) -> + empty_group('SDP-TimeStamps', Opts); +empty_value('Service-Data-Container', Opts) -> + empty_group('Service-Data-Container', Opts); +empty_value('Service-Information', Opts) -> + empty_group('Service-Information', Opts); +empty_value('Service-Specific-Info', Opts) -> + empty_group('Service-Specific-Info', Opts); +empty_value('SM-Device-Trigger-Information', Opts) -> + empty_group('SM-Device-Trigger-Information', Opts); +empty_value('SMS-Information', Opts) -> + empty_group('SMS-Information', Opts); +empty_value('Supplementary-Service', Opts) -> + empty_group('Supplementary-Service', Opts); +empty_value('Talk-Burst-Exchange', Opts) -> + empty_group('Talk-Burst-Exchange', Opts); +empty_value('Tariff-Information', Opts) -> + empty_group('Tariff-Information', Opts); +empty_value('Time-Quota-Mechanism', Opts) -> + empty_group('Time-Quota-Mechanism', Opts); +empty_value('Time-Stamps', Opts) -> + empty_group('Time-Stamps', Opts); +empty_value('Traffic-Data-Volumes', Opts) -> + empty_group('Traffic-Data-Volumes', Opts); +empty_value('Transmitter-Info', Opts) -> + empty_group('Transmitter-Info', Opts); +empty_value('Trigger', Opts) -> + empty_group('Trigger', Opts); +empty_value('Trunk-Group-Id', Opts) -> + empty_group('Trunk-Group-Id', Opts); +empty_value('TWAN-User-Location-Info', Opts) -> + empty_group('TWAN-User-Location-Info', Opts); +empty_value('Unit-Cost', Opts) -> + empty_group('Unit-Cost', Opts); +empty_value('User-CSG-Information', Opts) -> + empty_group('User-CSG-Information', Opts); +empty_value('UWAN-User-Location-Info', Opts) -> + empty_group('UWAN-User-Location-Info', Opts); +empty_value('Variable-Part', Opts) -> + empty_group('Variable-Part', Opts); +empty_value('VCS-Information', Opts) -> + empty_group('VCS-Information', Opts); +empty_value('Cost-Information', Opts) -> + empty_group('Cost-Information', Opts); +empty_value('Unit-Value', Opts) -> + empty_group('Unit-Value', Opts); +empty_value('Multiple-Services-Credit-Control', Opts) -> + empty_group('Multiple-Services-Credit-Control', Opts); +empty_value('Granted-Service-Unit', Opts) -> + empty_group('Granted-Service-Unit', Opts); +empty_value('Requested-Service-Unit', Opts) -> + empty_group('Requested-Service-Unit', Opts); +empty_value('Used-Service-Unit', Opts) -> + empty_group('Used-Service-Unit', Opts); +empty_value('CC-Money', Opts) -> + empty_group('CC-Money', Opts); +empty_value('G-S-U-Pool-Reference', Opts) -> + empty_group('G-S-U-Pool-Reference', Opts); +empty_value('Final-Unit-Indication', Opts) -> + empty_group('Final-Unit-Indication', Opts); +empty_value('Redirect-Server', Opts) -> + empty_group('Redirect-Server', Opts); +empty_value('Service-Parameter-Info', Opts) -> + empty_group('Service-Parameter-Info', Opts); +empty_value('Subscription-Id', Opts) -> + empty_group('Subscription-Id', Opts); +empty_value('User-Equipment-Info', Opts) -> + empty_group('User-Equipment-Info', Opts); +empty_value('OC-Supported-Features', Opts) -> + empty_group('OC-Supported-Features', Opts); +empty_value('OC-OLR', Opts) -> + empty_group('OC-OLR', Opts); +empty_value('AN-Trusted', _) -> <<0, 0, 0, 0>>; +empty_value('Transport-Access-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Non-3GPP-IP-Access', _) -> <<0, 0, 0, 0>>; +empty_value('Non-3GPP-IP-Access-APN', _) -> + <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AN-GW-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Control-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Operation', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Correlation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Information-Reporting', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Trigger', _) -> <<0, 0, 0, 0>>; +empty_value('Flow-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('IP-CAN-Session-Charging-Scope', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-CAN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Metering-Method', _) -> <<0, 0, 0, 0>>; +empty_value('Mute-Notification', _) -> <<0, 0, 0, 0>>; +empty_value('Network-Request-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Offline', _) -> <<0, 0, 0, 0>>; +empty_value('Online', _) -> <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Operation', _) -> + <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('PCC-Rule-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Pre-emption-Capability', _) -> + <<0, 0, 0, 0>>; +empty_value('Pre-emption-Vulnerability', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-to-CS-Session-Continuity', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Class-Identifier', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Negotiation', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Upgrade', _) -> <<0, 0, 0, 0>>; +empty_value('RAT-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Support', _) -> <<0, 0, 0, 0>>; +empty_value('Reporting-Level', _) -> <<0, 0, 0, 0>>; +empty_value('Resource-Allocation-Notification', _) -> + <<0, 0, 0, 0>>; +empty_value('Rule-Failure-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Release-Cause', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Level', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Report', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Network-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Cancellation-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Status', _) -> <<0, 0, 0, 0>>; +empty_value('All-APN-Configurations-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('VPLMN-Dynamic-Address-Allowed', _) -> + <<0, 0, 0, 0>>; +empty_value('PDN-GW-Allocation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Equipment-Status', _) -> <<0, 0, 0, 0>>; +empty_value('PDN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Complete-Data-List-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Roaming-Restricted-Due-To-Unsupported-Feature', + _) -> + <<0, 0, 0, 0>>; +empty_value('Alert-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Notification-To-UE-User', _) -> + <<0, 0, 0, 0>>; +empty_value('GMLC-Restriction', _) -> <<0, 0, 0, 0>>; +empty_value('PLMN-Client', _) -> <<0, 0, 0, 0>>; +empty_value('ICS-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Voice-Over-PS-Sessions-Supported', + _) -> + <<0, 0, 0, 0>>; +empty_value('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + _) -> + <<0, 0, 0, 0>>; +empty_value('User-State', _) -> <<0, 0, 0, 0>>; +empty_value('Current-Location-Retrieved', _) -> + <<0, 0, 0, 0>>; +empty_value('Error-Diagnostic', _) -> <<0, 0, 0, 0>>; +empty_value('UE-SRVCC-Capability', _) -> <<0, 0, 0, 0>>; +empty_value('VPLMN-LIPA-Allowed', _) -> <<0, 0, 0, 0>>; +empty_value('LIPA-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('SIPTO-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('Relay-Node-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MDT-User-Consent', _) -> <<0, 0, 0, 0>>; +empty_value('Subscribed-VSRVCC', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Register-Request', _) -> + <<0, 0, 0, 0>>; +empty_value('Daylight-Saving-Time', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PS-Data-Off-Status', _) -> + <<0, 0, 0, 0>>; +empty_value('Access-Transfer-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Adaptations', _) -> <<0, 0, 0, 0>>; +empty_value('Additional-Exception-Reports', _) -> + <<0, 0, 0, 0>>; +empty_value('Address-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Addressee-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Format', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Service-Obligatory-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('AoC-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Charge-Reason-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Characteristics-Selection-Mode', + _) -> + <<0, 0, 0, 0>>; +empty_value('Charging-Per-IP-CAN-Session-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Class-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('CN-Operator-Selection-Entity', _) -> + <<0, 0, 0, 0>>; +empty_value('Content-Class', _) -> <<0, 0, 0, 0>>; +empty_value('Coverage-Status', _) -> <<0, 0, 0, 0>>; +empty_value('CP-CIoT-EPS-Optimisation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('CSG-Membership-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Delivery-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('DRM-Content', _) -> <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag-Extension', _) -> + <<0, 0, 0, 0>>; +empty_value('Envelope-Reporting', _) -> <<0, 0, 0, 0>>; +empty_value('File-Repair-Supported', _) -> + <<0, 0, 0, 0>>; +empty_value('Forwarding-Pending', _) -> <<0, 0, 0, 0>>; +empty_value('Interface-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Inter-UE-Transfer', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Emergency-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('IMSI-Unauthenticated-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-Realm-Default-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('LCS-Client-Type', _) -> <<0, 0, 0, 0>>; +empty_value('LCS-Format-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Local-GW-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Location-Estimate-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Balance-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Priority-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MBMS-Charged-Party', _) -> <<0, 0, 0, 0>>; +empty_value('MBMS-User-Service-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Media-Initiator-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('MMBox-Storage-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('NNI-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Node-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('Online-Charging-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Originator', _) -> <<0, 0, 0, 0>>; +empty_value('Participant-Access-Priority', _) -> + <<0, 0, 0, 0>>; +empty_value('Participant-Action-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PC5-Radio-Technology', _) -> + <<0, 0, 0, 0>>; +empty_value('PDP-Context-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Play-Alternative', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Change-Condition', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Server-Role', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Session-Initiation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Session-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-User-Role-Info-Units', _) -> + <<0, 0, 0, 0>>; +empty_value('Priority', _) -> <<0, 0, 0, 0>>; +empty_value('Privacy-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Direct-Discovery-Model', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Range-Class', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Reason-For-Cancellation', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Role-Of-UE', _) -> <<0, 0, 0, 0>>; +empty_value('Proximity-Alert-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-Append-Free-Format-Data', _) -> + <<0, 0, 0, 0>>; +empty_value('Quota-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('Read-Reply-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Relationship-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Reply-Path-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Reporting-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-Node', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-ProSe-Function', _) -> + <<0, 0, 0, 0>>; +empty_value('SDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('Serving-Node-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SGi-PtP-Tunnelling-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('SGW-Change', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Device-Trigger-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('SM-Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Node', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Status-AS-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Role', _) -> <<0, 0, 0, 0>>; +empty_value('TAD-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('Time-Quota-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Transcoder-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Trigger-Type', _) -> <<0, 0, 0, 0>>; +empty_value('UNI-PDU-CP-Only-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Participating-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Variable-Part-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Session-Failover', _) -> <<0, 0, 0, 0>>; +empty_value('Check-Balance-Result', _) -> + <<0, 0, 0, 0>>; +empty_value('Credit-Control', _) -> <<0, 0, 0, 0>>; +empty_value('Credit-Control-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Direct-Debiting-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Tariff-Change-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Unit-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Final-Unit-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Address-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Multiple-Services-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Subscription-Id-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Equipment-Info-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('OC-Report-Type', _) -> <<0, 0, 0, 0>>; +empty_value('DRMP', _) -> <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"3GPP-AAA-Server-Name", + 318, + "DiameterIdentity", + "MV"}, + {"AAA-Failure-Indication", 1518, "Unsigned32", "V"}, + {"AAR-Flags", 1539, "Unsigned32", "V"}, + {"AN-Trusted", 1503, "Enumerated", "MV"}, + {"ANID", 1504, "UTF8String", "MV"}, + {"Access-Authorization-Flags", 1511, "Unsigned32", "V"}, + {"Access-Network-Info", 1526, "Grouped", "V"}, + {"Connectivity-Flags", 1529, "Unsigned32", "V"}, + {"DEA-Flags", 1521, "Unsigned32", "V"}, + {"DER-Flags", 1520, "Unsigned32", "V"}, + {"DER-S6b-Flags", 1523, "Unsigned32", "V"}, + {"ERP-Authorization", 1541, "Unsigned32", "V"}, + {"Emergency-Services", 1538, "Unsigned32", "V"}, + {"Full-Network-Name", 1516, "OctetString", "V"}, + {"HESSID", 1525, "UTF8String", "V"}, + {"IMEI-Check-In-VPLMN-Result", 1540, "Unsigned32", "V"}, + {"MIP-FA-RK", 1506, "OctetString", "MV"}, + {"MIP-FA-RK-SPI", 1507, "Unsigned32", "MV"}, + {"MIP6-Feature-Vector", 124, "Unsigned64", "M"}, + {"Maximum-Wait-Time", 1537, "Unsigned32", "V"}, + {"Mobile-Node-Identifier", 506, "UTF8String", "M"}, + {"Non-3GPP-IP-Access", 1501, "Enumerated", "MV"}, + {"Non-3GPP-IP-Access-APN", 1502, "Enumerated", "MV"}, + {"Non-3GPP-User-Data", 1500, "Grouped", "MV"}, + {"Origination-Time-Stamp", 1536, "Unsigned64", "V"}, + {"PPR-Flags", 1508, "Unsigned32", "V"}, + {"RAR-Flags", 1522, "Unsigned32", "V"}, + {"SM-Back-Off-Timer", 1534, "Unsigned32", "V"}, + {"SSID", 1524, "UTF8String", "V"}, + {"Short-Network-Name", 1517, "OctetString", "V"}, + {"TWAG-CP-Address", 1531, "Address", "V"}, + {"TWAG-UP-Address", 1532, "UTF8String", "V"}, + {"TWAN-Access-Info", 1510, "Grouped", "V"}, + {"TWAN-Connection-Mode", 1527, "Unsigned32", "V"}, + {"TWAN-Connectivity-Parameters", 1528, "Grouped", "V"}, + {"TWAN-Default-APN-Context-Id", + 1512, + "Unsigned32", + "V"}, + {"TWAN-PCO", 1530, "OctetString", "V"}, + {"TWAN-S2a-Failure-Cause", 1533, "Unsigned32", "V"}, + {"Trace-Info", 1505, "Grouped", "V"}, + {"Transport-Access-Type", 1519, "Enumerated", "V"}, + {"WLAN-Identifier", 1509, "Grouped", "V"}, + {"WLCP-Key", 1535, "OctetString", "V"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"AN-Trusted", [{"TRUSTED", 0}, {"UNTRUSTED", 1}]}, + {"Transport-Access-Type", [{"BBF", 0}]}, + {"Non-3GPP-IP-Access", + [{"NON_3GPP_SUBSCRIPTION_ALLOWED", 0}, + {"NON_3GPP_SUBSCRIPTION_BARRED", 1}]}, + {"Non-3GPP-IP-Access-APN", + [{"NON_3GPP_APNS_ENABLE", 0}, + {"NON_3GPP_APNS_DISABLE", 1}]}]}, + {grouped, + [{"WLAN-Identifier", + 1509, + [10415], + [["SSID"], ["HESSID"], {'*', ["AVP"]}]}, + {"Access-Network-Info", + 1526, + [10415], + [["SSID"], + ["BSSID"], + ["Location-Information"], + ["Location-Data"], + ["Operator-Name"], + ["Logical-Access-ID"], + {'*', ["AVP"]}]}, + {"TWAN-Connectivity-Parameters", + 1528, + [10415], + [["Connectivity-Flags"], + ["Service-Selection"], + ["PDN-Type"], + {{0, 2}, ["Served-Party-IP-Address"]}, + ["TWAN-PCO"], + ["TWAG-UP-Address"], + ["TWAN-S2a-Failure-Cause"], + ["SM-Back-Off-Timer"], + {'*', ["AVP"]}]}, + {"Non-3GPP-User-Data", + 1500, + [10415], + [["Subscription-Id"], + ["Non-3GPP-IP-Access"], + ["Non-3GPP-IP-Access-APN"], + {'*', ["RAT-Type"]}, + ["Session-Timeout"], + ["MIP6-Feature-Vector"], + ["AMBR"], + ["3GPP-Charging-Characteristics"], + ["Context-Identifier"], + ["APN-OI-Replacement"], + {'*', ["APN-Configuration"]}, + ["Trace-Info"], + ["TWAN-Default-APN-Context-Id"], + {'*', ["TWAN-Access-Info"]}, + ["UE-Usage-Type"], + ["Emergency-Info"], + ["ERP-Authorization"], + ["Core-Network-Restrictions"], + {'*', ["AVP"]}]}, + {"Trace-Info", + 1505, + [10415], + [["Trace-Data"], ["Trace-Reference"], {'*', ["AVP"]}]}, + {"TWAN-Access-Info", + 1510, + [10415], + [["Access-Authorization-Flags"], + ["WLAN-Identifier"], + {'*', ["AVP"]}]}]}, + {id, 0}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {diameter_3gpp_break_circles, + [{"APN-OI-Replacement", 1427, "UTF8String", "MV"}, + {"Emergency-Info", 1687, "Grouped", "V"}, + {"GMLC-Number", 1474, "OctetString", "MV"}, + {"SGSN-Number", 1489, "OctetString", "MV"}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Address", 1050, "Address", "V"}, + {"AN-GW-Status", 2811, "Enumerated", "V"}, + {"APN-Aggregate-Max-Bitrate-DL", + 1040, + "Unsigned32", + "V"}, + {"APN-Aggregate-Max-Bitrate-UL", + 1041, + "Unsigned32", + "V"}, + {"Access-Network-Charging-Identifier-Gx", + 1022, + "Grouped", + "MV"}, + {"Allocation-Retention-Priority", 1034, "Grouped", "V"}, + {"Application-Detection-Information", + 1098, + "Grouped", + "V"}, + {"Bearer-Control-Mode", 1023, "Enumerated", "MV"}, + {"Bearer-Identifier", 1020, "OctetString", "MV"}, + {"Bearer-Operation", 1021, "Enumerated", "MV"}, + {"Bearer-Usage", 1000, "Enumerated", "MV"}, + {"CSG-Information-Reporting", 1071, "Enumerated", "V"}, + {"Charging-Correlation-Indicator", + 1073, + "Enumerated", + "V"}, + {"Charging-Rule-Base-Name", 1004, "UTF8String", "MV"}, + {"Charging-Rule-Definition", 1003, "Grouped", "MV"}, + {"Charging-Rule-Install", 1001, "Grouped", "MV"}, + {"Charging-Rule-Name", 1005, "OctetString", "MV"}, + {"Charging-Rule-Remove", 1002, "Grouped", "MV"}, + {"Charging-Rule-Report", 1018, "Grouped", "MV"}, + {"CoA-IP-Address", 1035, "Address", "V"}, + {"CoA-Information", 1039, "Grouped", "V"}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + "Grouped", + "V"}, + {"Credit-Management-Status", 1082, "Unsigned32", "V"}, + {"Default-EPS-Bearer-QoS", 1049, "Grouped", "V"}, + {"Default-QoS-Information", 2816, "Grouped", "V"}, + {"Default-QoS-Name", 2817, "UTF8String", "V"}, + {"Event-Report-Indication", 1033, "Grouped", "V"}, + {"Event-Trigger", 1006, "Enumerated", "MV"}, + {"Fixed-User-Location-Info", 2825, "Grouped", "V"}, + {"Flow-Direction", 1080, "Enumerated", "V"}, + {"Flow-Information", 1058, "Grouped", "V"}, + {"Flow-Label", 1057, "OctetString", "V"}, + {"Guaranteed-Bitrate-DL", 1025, "Unsigned32", "MV"}, + {"Guaranteed-Bitrate-UL", 1026, "Unsigned32", "MV"}, + {"HeNB-Local-IP-Address", 2804, "Address", "V"}, + {"IP-CAN-Session-Charging-Scope", + 2827, + "Enumerated", + "V"}, + {"IP-CAN-Type", 1027, "Enumerated", "MV"}, + {"Metering-Method", 1007, "Enumerated", "MV"}, + {"Monitoring-Key", 1066, "OctetString", "V"}, + {"Monitoring-Time", 2810, "Time", "V"}, + {"Mute-Notification", 2809, "Enumerated", "V"}, + {"NetLoc-Access-Support", 2824, "Unsigned32", "V"}, + {"Network-Request-Support", 1024, "Enumerated", "MV"}, + {"Offline", 1008, "Enumerated", "MV"}, + {"Online", 1009, "Enumerated", "MV"}, + {"PCC-Rule-Status", 1019, "Enumerated", "MV"}, + {"PCSCF-Restoration-Indication", + 2826, + "Unsigned32", + "V"}, + {"PDN-Connection-ID", 1065, "OctetString", "V"}, + {"PS-to-CS-Session-Continuity", + 1099, + "Enumerated", + "V"}, + {"Packet-Filter-Content", 1059, "IPFilterRule", "V"}, + {"Packet-Filter-Identifier", 1060, "OctetString", "V"}, + {"Packet-Filter-Information", 1061, "Grouped", "V"}, + {"Packet-Filter-Operation", 1062, "Enumerated", "V"}, + {"Packet-Filter-Usage", 1072, "Enumerated", "V"}, + {"Pre-emption-Capability", 1047, "Enumerated", "V"}, + {"Pre-emption-Vulnerability", 1048, "Enumerated", "V"}, + {"Precedence", 1010, "Unsigned32", "MV"}, + {"Presence-Reporting-Area-Elements-List", + 2820, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Identifier", + 2821, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Information", + 2822, + "Grouped", + "V"}, + {"Presence-Reporting-Area-Status", + 2823, + "Unsigned32", + "V"}, + {"Priority-Level", 1046, "Unsigned32", "V"}, + {"QoS-Class-Identifier", 1028, "Enumerated", "MV"}, + {"QoS-Information", 1016, "Grouped", "MV"}, + {"QoS-Negotiation", 1029, "Enumerated", "MV"}, + {"QoS-Upgrade", 1030, "Enumerated", "MV"}, + {"RAN-NAS-Release-Cause", 2819, "OctetString", "V"}, + {"RAT-Type", 1032, "Enumerated", "V"}, + {"Redirect-Information", 1085, "Grouped", "V"}, + {"Redirect-Support", 1086, "Enumerated", "V"}, + {"Reporting-Level", 1011, "Enumerated", "MV"}, + {"Resource-Allocation-Notification", + 1063, + "Enumerated", + "V"}, + {"Revalidation-Time", 1042, "Time", "MV"}, + {"Routing-Filter", 1078, "Grouped", "V"}, + {"Routing-IP-Address", 1079, "Address", "V"}, + {"Routing-Rule-Definition", 1076, "Grouped", "V"}, + {"Routing-Rule-Identifier", 1077, "OctetString", "V"}, + {"Routing-Rule-Install", 1081, "Grouped", "V"}, + {"Routing-Rule-Remove", 1075, "Grouped", "V"}, + {"Rule-Activation-Time", 1043, "Time", "MV"}, + {"Rule-Deactivation-Time", 1044, "Time", "MV"}, + {"Rule-Failure-Code", 1031, "Enumerated", "MV"}, + {"Security-Parameter-Index", 1056, "OctetString", "V"}, + {"Session-Release-Cause", 1045, "Enumerated", "MV"}, + {"TDF-Application-Identifier", + 1088, + "OctetString", + "V"}, + {"TDF-Application-Instance-Identifier", + 2802, + "OctetString", + "V"}, + {"TDF-Destination-Host", 1089, "DiameterIdentity", "V"}, + {"TDF-Destination-Realm", + 1090, + "DiameterIdentity", + "V"}, + {"TDF-IP-Address", 1091, "Address", "V"}, + {"TDF-Information", 1087, "Grouped", "V"}, + {"TFT-Filter", 1012, "IPFilterRule", "MV"}, + {"TFT-Packet-Filter-Information", + 1013, + "Grouped", + "MV"}, + {"ToS-Traffic-Class", 1014, "OctetString", "MV"}, + {"Tunnel-Header-Filter", 1036, "IPFilterRule", "V"}, + {"Tunnel-Header-Length", 1037, "Unsigned32", "V"}, + {"Tunnel-Information", 1038, "Grouped", "V"}, + {"UDP-Source-Port", 2806, "Unsigned32", "V"}, + {"UE-Local-IP-Address", 2805, "Address", "V"}, + {"Usage-Monitoring-Information", 1067, "Grouped", "V"}, + {"Usage-Monitoring-Level", 1068, "Enumerated", "V"}, + {"Usage-Monitoring-Report", 1069, "Enumerated", "V"}, + {"Usage-Monitoring-Support", 1070, "Enumerated", "V"}, + {"User-Location-Info-Time", 2812, "Time", "V"}]}, + {diameter_3gpp_ts29_272, + [{"3GPP2-MEID", 1471, "OctetString", "MV"}, + {"A-MSISDN", 1643, "OctetString", "V"}, + {"AMBR", 1435, "Grouped", "MV"}, + {"APN-Configuration", 1430, "Grouped", "MV"}, + {"APN-Configuration-Profile", 1429, "Grouped", "MV"}, + {"AUTN", 1449, "OctetString", "MV"}, + {"Access-Restriction-Data", 1426, "Unsigned32", "MV"}, + {"Active-APN", 1612, "Grouped", "V"}, + {"Age-Of-Location-Information", + 1611, + "Unsigned32", + "V"}, + {"Alert-Reason", 1434, "Enumerated", "MV"}, + {"All-APN-Configurations-Included-Indicator", + 1428, + "Enumerated", + "MV"}, + {"Area-Scope", 1624, "Grouped", "V"}, + {"Authentication-Info", 1413, "Grouped", "MV"}, + {"CLR-Flags", 1638, "Unsigned32", "V"}, + {"CSG-Id", 1437, "Unsigned32", "MV"}, + {"CSG-Subscription-Data", 1436, "Grouped", "MV"}, + {"Call-Barring-Info", 1488, "Grouped", "MV"}, + {"Cancellation-Type", 1420, "Enumerated", "MV"}, + {"Cell-Global-Identity", 1604, "OctetString", "V"}, + {"Client-Identity", 1480, "OctetString", "MV"}, + {"Collection-Period-RRM-LTE", 1657, "Enumerated", "V"}, + {"Collection-Period-RRM-UMTS", 1658, "Enumerated", "V"}, + {"Complete-Data-List-Included-Indicator", + 1468, + "Enumerated", + "MV"}, + {"Context-Identifier", 1423, "Unsigned32", "MV"}, + {"Core-Network-Restrictions", 1704, "Unsigned32", "V"}, + {"Current-Location-Retrieved", 1610, "Enumerated", "V"}, + {"DSA-Flags", 1422, "Unsigned32", "MV"}, + {"DSR-Flags", 1421, "Unsigned32", "MV"}, + {"Daylight-Saving-Time", 1650, "Enumerated", "V"}, + {"E-UTRAN-Cell-Global-Identity", + 1602, + "OctetString", + "V"}, + {"E-UTRAN-Vector", 1414, "Grouped", "MV"}, + {"EPS-Location-Information", 1496, "Grouped", "V"}, + {"EPS-Subscribed-QoS-Profile", 1431, "Grouped", "MV"}, + {"EPS-User-State", 1495, "Grouped", "V"}, + {"Equipment-Status", 1445, "Enumerated", "MV"}, + {"Equivalent-PLMN-List", 1637, "Grouped", "V"}, + {"Error-Diagnostic", 1614, "Enumerated", "V"}, + {"Event-Threshold-Event-1F", 1661, "Integer32", "V"}, + {"Event-Threshold-Event-1I", 1662, "Integer32", "V"}, + {"Event-Threshold-RSRP", 1629, "Unsigned32", "V"}, + {"Event-Threshold-RSRQ", 1630, "Unsigned32", "V"}, + {"Expiration-Date", 1439, "Time", "MV"}, + {"Ext-PDP-Address", 1621, "Address", "V"}, + {"Ext-PDP-Type", 1620, "OctetString", "V"}, + {"External-Client", 1479, "Grouped", "MV"}, + {"GERAN-Vector", 1416, "Grouped", "MV"}, + {"GMLC-Restriction", 1481, "Enumerated", "MV"}, + {"GPRS-Subscription-Data", 1467, "Grouped", "MV"}, + {"Geodetic-Information", 1609, "OctetString", "V"}, + {"Geographical-Information", 1608, "OctetString", "V"}, + {"HPLMN-ODB", 1418, "Unsigned32", "MV"}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + 1493, + "Enumerated", + "V"}, + {"ICS-Indicator", 1491, "Enumerated", "V"}, + {"IDA-Flags", 1441, "Unsigned32", "MV"}, + {"IDR-Flags", 1490, "Unsigned32", "MV"}, + {"IMEI", 1402, "UTF8String", "MV"}, + {"IMS-Voice-Over-PS-Sessions-Supported", + 1492, + "Enumerated", + "V"}, + {"Immediate-Response-Preferred", + 1412, + "Unsigned32", + "MV"}, + {"Item-Number", 1419, "Unsigned32", "MV"}, + {"Job-Type", 1623, "Enumerated", "V"}, + {"KASME", 1450, "OctetString", "MV"}, + {"Kc", 1453, "OctetString", "MV"}, + {"LCS-Info", 1473, "Grouped", "MV"}, + {"LCS-PrivacyException", 1475, "Grouped", "MV"}, + {"LIPA-Permission", 1618, "Enumerated", "V"}, + {"Last-UE-Activity-Time", 1494, "Time", "V"}, + {"List-Of-Measurements", 1625, "Unsigned32", "V"}, + {"Local-Time-Zone", 1649, "Grouped", "V"}, + {"Location-Area-Identity", 1606, "OctetString", "V"}, + {"Logging-Duration", 1632, "Enumerated", "V"}, + {"Logging-Interval", 1631, "Enumerated", "V"}, + {"MDT-Configuration", 1622, "Grouped", "V"}, + {"MDT-User-Consent", 1634, "Enumerated", "V"}, + {"MME-Location-Information", 1600, "Grouped", "V"}, + {"MME-Number-for-MT-SMS", 1645, "OctetString", "V"}, + {"MME-User-State", 1497, "Grouped", "V"}, + {"MO-LR", 1485, "Grouped", "MV"}, + {"MPS-Priority", 1616, "Unsigned32", "V"}, + {"Measurement-Period-LTE", 1656, "Enumerated", "V"}, + {"Measurement-Period-UMTS", 1655, "Enumerated", "V"}, + {"Measurement-Quantity", 1660, "OctetString", "V"}, + {"NOR-Flags", 1443, "Unsigned32", "MV"}, + {"Network-Access-Mode", 1417, "Enumerated", "MV"}, + {"Notification-To-UE-User", 1478, "Enumerated", "MV"}, + {"Number-Of-Requested-Vectors", + 1410, + "Unsigned32", + "MV"}, + {"OMC-Id", 1466, "OctetString", "MV"}, + {"Operator-Determined-Barring", + 1425, + "Unsigned32", + "MV"}, + {"PDN-GW-Allocation-Type", 1438, "Enumerated", "MV"}, + {"PDN-Type", 1456, "Enumerated", "MV"}, + {"PDP-Context", 1469, "Grouped", "MV"}, + {"PDP-Type", 1470, "OctetString", "MV"}, + {"PLMN-Client", 1482, "Enumerated", "MV"}, + {"PUA-Flags", 1442, "Unsigned32", "MV"}, + {"PUR-Flags", 1635, "Unsigned32", "V"}, + {"Positioning-Method", 1659, "OctetString", "V"}, + {"QoS-Subscribed", 1404, "OctetString", "MV"}, + {"RAND", 1447, "OctetString", "MV"}, + {"RAT-Frequency-Selection-Priority-ID", + 1440, + "Unsigned32", + "MV"}, + {"Re-Synchronization-Info", 1411, "OctetString", "MV"}, + {"Regional-Subscription-Zone-Code", + 1446, + "OctetString", + "MV"}, + {"Relay-Node-Indicator", 1633, "Enumerated", "V"}, + {"Report-Amount", 1628, "Enumerated", "V"}, + {"Report-Interval", 1627, "Enumerated", "V"}, + {"Reporting-Trigger", 1626, "Unsigned32", "V"}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + "Grouped", + "MV"}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + "Grouped", + "MV"}, + {"Restoration-Priority", 1663, "Unsigned32", "V"}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + 1457, + "Enumerated", + "MV"}, + {"Routing-Area-Identity", 1605, "OctetString", "V"}, + {"SGSN-Location-Information", 1601, "Grouped", "V"}, + {"SGSN-User-State", 1498, "Grouped", "V"}, + {"SIPTO-Permission", 1613, "Enumerated", "V"}, + {"SMS-Register-Request", 1648, "Enumerated", "V"}, + {"SRES", 1454, "OctetString", "MV"}, + {"SS-Code", 1476, "OctetString", "MV"}, + {"SS-Status", 1477, "OctetString", "MV"}, + {"STN-SR", 1433, "OctetString", "MV"}, + {"Service-Area-Identity", 1607, "OctetString", "V"}, + {"Service-Type", 1483, "Grouped", "MV"}, + {"ServiceTypeIdentity", 1484, "Unsigned32", "MV"}, + {"Software-Version", 1403, "UTF8String", "MV"}, + {"Specific-APN-Info", 1472, "Grouped", "MV"}, + {"Subscribed-Periodic-RAU-TAU-Timer", + 1619, + "Unsigned32", + "V"}, + {"Subscribed-VSRVCC", 1636, "Enumerated", "V"}, + {"Subscriber-Status", 1424, "Enumerated", "MV"}, + {"Subscription-Data", 1400, "Grouped", "MV"}, + {"Subscription-Data-Flags", 1654, "Unsigned32", "V"}, + {"TS-Code", 1487, "OctetString", "MV"}, + {"Teleservice-List", 1486, "Grouped", "MV"}, + {"Terminal-Information", 1401, "Grouped", "MV"}, + {"Time-Zone", 1642, "UTF8String", "V"}, + {"Trace-Collection-Entity", 1452, "Address", "MV"}, + {"Trace-Data", 1458, "Grouped", "MV"}, + {"Trace-Depth", 1462, "Enumerated", "MV"}, + {"Trace-Event-List", 1465, "OctetString", "MV"}, + {"Trace-Interface-List", 1464, "OctetString", "MV"}, + {"Trace-NE-Type-List", 1463, "OctetString", "MV"}, + {"Trace-Reference", 1459, "OctetString", "MV"}, + {"Tracking-Area-Identity", 1603, "OctetString", "V"}, + {"UE-SRVCC-Capability", 1615, "Enumerated", "V"}, + {"UE-Usage-Type", 1680, "Unsigned32", "V"}, + {"ULA-Flags", 1406, "Unsigned32", "MV"}, + {"ULR-Flags", 1405, "Unsigned32", "MV"}, + {"UTRAN-Vector", 1415, "Grouped", "MV"}, + {"UVA-Flags", 1640, "Unsigned32", "MV"}, + {"UVR-Flags", 1639, "Unsigned32", "MV"}, + {"User-Id", 1444, "UTF8String", "V"}, + {"User-State", 1499, "Enumerated", "V"}, + {"VPLMN-CSG-Subscription-Data", 1641, "Grouped", "MV"}, + {"VPLMN-Dynamic-Address-Allowed", + 1432, + "Enumerated", + "MV"}, + {"VPLMN-LIPA-Allowed", 1617, "Enumerated", "V"}, + {"Visited-PLMN-Id", 1407, "OctetString", "MV"}, + {"XRES", 1448, "OctetString", "MV"}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", 4406, "Enumerated", "MV"}, + {"AF-Correlation-Information", 1276, "Grouped", "MV"}, + {"APN-Rate-Control", 3933, "Grouped", "MV"}, + {"APN-Rate-Control-Downlink", 3934, "Grouped", "MV"}, + {"APN-Rate-Control-Uplink", 3935, "Grouped", "MV"}, + {"Access-Network-Info-Change", 4401, "Grouped", "MV"}, + {"Access-Network-Information", + 1263, + "OctetString", + "MV"}, + {"Access-Transfer-Information", 2709, "Grouped", "MV"}, + {"Access-Transfer-Type", 2710, "Enumerated", "MV"}, + {"Account-Expiration", 2309, "Time", "MV"}, + {"Accumulated-Cost", 2052, "Grouped", "MV"}, + {"Adaptations", 1217, "Enumerated", "MV"}, + {"Additional-Content-Information", + 1207, + "Grouped", + "MV"}, + {"Additional-Exception-Reports", + 3936, + "Enumerated", + "MV"}, + {"Additional-Type-Information", + 1205, + "UTF8String", + "MV"}, + {"Address-Data", 897, "UTF8String", "MV"}, + {"Address-Domain", 898, "Grouped", "MV"}, + {"Address-Type", 899, "Enumerated", "MV"}, + {"Addressee-Type", 1208, "Enumerated", "MV"}, + {"Alternate-Charged-Party-Address", + 1280, + "UTF8String", + "MV"}, + {"Announcement-Identifier", 3905, "Unsigned32", "MV"}, + {"Announcement-Information", 3904, "Grouped", "MV"}, + {"Announcement-Order", 3906, "Unsigned32", "MV"}, + {"Announcing-PLMN-ID", 4408, "UTF8String", "MV"}, + {"Announcing-UE-HPLMN-Identifier", + 3426, + "UTF8String", + "MV"}, + {"Announcing-UE-VPLMN-Identifier", + 3427, + "UTF8String", + "MV"}, + {"AoC-Cost-Information", 2053, "Grouped", "MV"}, + {"AoC-Format", 2310, "Enumerated", "MV"}, + {"AoC-Information", 2054, "Grouped", "MV"}, + {"AoC-Request-Type", 2055, "Enumerated", "MV"}, + {"AoC-Service", 2311, "Grouped", "MV"}, + {"AoC-Service-Obligatory-Type", + 2312, + "Enumerated", + "MV"}, + {"AoC-Service-Type", 2313, "Enumerated", "MV"}, + {"AoC-Subscription-Information", 2314, "Grouped", "MV"}, + {"Applic-ID", 1218, "UTF8String", "MV"}, + {"Application-Provided-Called-Party-Address", + 837, + "UTF8String", + "MV"}, + {"Application-Server", 836, "UTF8String", "MV"}, + {"Application-Server-Information", + 850, + "Grouped", + "MV"}, + {"Application-Specific-Data", + 3458, + "OctetString", + "MV"}, + {"Associated-Party-Address", 2035, "UTF8String", "MV"}, + {"Associated-URI", 856, "UTF8String", "MV"}, + {"Authorised-QoS", 849, "UTF8String", "MV"}, + {"Aux-Applic-Info", 1219, "UTF8String", "MV"}, + {"BSSID", 2716, "UTF8String", "MV"}, + {"Base-Time-Interval", 1265, "Unsigned32", "MV"}, + {"Basic-Service-Code", 3411, "Grouped", "MV"}, + {"Bearer-Capability", 3412, "OctetString", "MV"}, + {"Bearer-Service", 854, "OctetString", "MV"}, + {"CG-Address", 846, "Address", "MV"}, + {"CN-Operator-Selection-Entity", + 3421, + "Enumerated", + "MV"}, + {"CP-CIoT-EPS-Optimisation-Indicator", + 3930, + "Enumerated", + "MV"}, + {"CPDT-Information", 3927, "Grouped", "MV"}, + {"CSG-Access-Mode", 2317, "Enumerated", "MV"}, + {"CSG-Membership-Indication", 2318, "Enumerated", "MV"}, + {"CUG-Information", 2304, "OctetString", "MV"}, + {"Called-Asserted-Identity", 1250, "UTF8String", "MV"}, + {"Called-Identity", 3916, "UTF8String", "MV"}, + {"Called-Identity-Change", 3917, "Grouped", "MV"}, + {"Called-Party-Address", 832, "UTF8String", "MV"}, + {"Calling-Party-Address", 831, "UTF8String", "MV"}, + {"Carrier-Select-Routing-Information", + 2023, + "UTF8String", + "MV"}, + {"Cause-Code", 861, "Integer32", "MV"}, + {"Cellular-Network-Information", + 3924, + "OctetString", + "MV"}, + {"Change-Condition", 2037, "Integer32", "MV"}, + {"Change-Time", 2038, "Time", "MV"}, + {"Charge-Reason-Code", 2118, "Enumerated", "MV"}, + {"Charged-Party", 857, "UTF8String", "MV"}, + {"Charging-Characteristics-Selection-Mode", + 2066, + "Enumerated", + "MV"}, + {"Charging-Per-IP-CAN-Session-Indicator", + 4400, + "Enumerated", + "MV"}, + {"Class-Identifier", 1214, "Enumerated", "MV"}, + {"Client-Address", 2018, "Address", "MV"}, + {"Content-Class", 1220, "Enumerated", "MV"}, + {"Content-Disposition", 828, "UTF8String", "MV"}, + {"Content-Length", 827, "Unsigned32", "MV"}, + {"Content-Size", 1206, "Unsigned32", "MV"}, + {"Content-Type", 826, "UTF8String", "MV"}, + {"Coverage-Info", 3459, "Grouped", "MV"}, + {"Coverage-Status", 3428, "Enumerated", "MV"}, + {"Current-Tariff", 2056, "Grouped", "MV"}, + {"DRM-Content", 1221, "Enumerated", "MV"}, + {"Data-Coding-Scheme", 2001, "Integer32", "MV"}, + {"Deferred-Location-Event-Type", + 1230, + "UTF8String", + "MV"}, + {"Delivery-Report-Requested", 1216, "Enumerated", "MV"}, + {"Destination-Interface", 2002, "Grouped", "MV"}, + {"Diagnostics", 2039, "Integer32", "MV"}, + {"Discoveree-UE-HPLMN-Identifier", + 4402, + "UTF8String", + "MV"}, + {"Discoveree-UE-VPLMN-Identifier", + 4403, + "UTF8String", + "MV"}, + {"Discoverer-UE-HPLMN-Identifier", + 4404, + "UTF8String", + "MV"}, + {"Discoverer-UE-VPLMN-Identifier", + 4405, + "UTF8String", + "MV"}, + {"Domain-Name", 1200, "UTF8String", "MV"}, + {"Dynamic-Address-Flag", 2051, "Enumerated", "MV"}, + {"Dynamic-Address-Flag-Extension", + 2068, + "Enumerated", + "MV"}, + {"EPDG-Address", 3425, "Address", "MV"}, + {"Early-Media-Description", 1272, "Grouped", "MV"}, + {"Enhanced-Diagnostics", 3901, "Grouped", "MV"}, + {"Envelope", 1266, "Grouped", "MV"}, + {"Envelope-End-Time", 1267, "Time", "MV"}, + {"Envelope-Reporting", 1268, "Enumerated", "MV"}, + {"Envelope-Start-Time", 1269, "Time", "MV"}, + {"Event", 825, "UTF8String", "MV"}, + {"Event-Charging-TimeStamp", 1258, "Time", "MV"}, + {"Event-Type", 823, "Grouped", "MV"}, + {"Expires", 888, "Unsigned32", "MV"}, + {"FE-Identifier-List", 4413, "UTF8String", "MV"}, + {"File-Repair-Supported", 1224, "Enumerated", "MV"}, + {"Forwarding-Pending", 3415, "Enumerated", "MV"}, + {"From-Address", 2708, "UTF8String", "MV"}, + {"GGSN-Address", 847, "Address", "MV"}, + {"IMS-Application-Reference-Identifier", + 2601, + "UTF8String", + "MV"}, + {"IMS-Charging-Identifier", 841, "UTF8String", "MV"}, + {"IMS-Communication-Service-Identifier", + 1281, + "UTF8String", + "MV"}, + {"IMS-Emergency-Indicator", 2322, "Enumerated", "MV"}, + {"IMS-Information", 876, "Grouped", "MV"}, + {"IMS-Visited-Network-Identifier", + 2713, + "UTF8String", + "MV"}, + {"IMSI-Unauthenticated-Flag", 2308, "Enumerated", "MV"}, + {"IP-Realm-Default-Indication", + 2603, + "Enumerated", + "MV"}, + {"ISUP-Cause", 3416, "Grouped", "MV"}, + {"ISUP-Cause-Diagnostics", 3422, "OctetString", "MV"}, + {"ISUP-Cause-Location", 3423, "Unsigned32", "MV"}, + {"ISUP-Cause-Value", 3424, "Unsigned32", "MV"}, + {"ISUP-Location-Number", 3414, "OctetString", "MV"}, + {"Incoming-Trunk-Group-Id", 852, "UTF8String", "MV"}, + {"Incremental-Cost", 2062, "Grouped", "MV"}, + {"Initial-IMS-Charging-Identifier", + 2321, + "UTF8String", + "MV"}, + {"Instance-Id", 3402, "UTF8String", "MV"}, + {"Inter-Operator-Identifier", 838, "Grouped", "MV"}, + {"Inter-UE-Transfer", 3902, "Enumerated", "MV"}, + {"Interface-Id", 2003, "UTF8String", "MV"}, + {"Interface-Port", 2004, "UTF8String", "MV"}, + {"Interface-Text", 2005, "UTF8String", "MV"}, + {"Interface-Type", 2006, "Enumerated", "MV"}, + {"LCS-APN", 1231, "UTF8String", "MV"}, + {"LCS-Client-Dialed-By-MS", 1233, "UTF8String", "MV"}, + {"LCS-Client-External-ID", 1234, "UTF8String", "MV"}, + {"LCS-Client-ID", 1232, "Grouped", "MV"}, + {"LCS-Client-Name", 1235, "Grouped", "MV"}, + {"LCS-Client-Type", 1241, "Enumerated", "MV"}, + {"LCS-Data-Coding-Scheme", 1236, "UTF8String", "MV"}, + {"LCS-Format-Indicator", 1237, "Enumerated", "MV"}, + {"LCS-Information", 878, "Grouped", "MV"}, + {"LCS-Name-String", 1238, "UTF8String", "MV"}, + {"LCS-Requestor-ID", 1239, "Grouped", "MV"}, + {"LCS-Requestor-ID-String", 1240, "UTF8String", "MV"}, + {"Language", 3914, "UTF8String", "MV"}, + {"Layer-2-Group-ID", 3429, "OctetString", "MV"}, + {"Local-GW-Inserted-Indication", + 2604, + "Enumerated", + "MV"}, + {"Local-Sequence-Number", 2063, "Unsigned32", "MV"}, + {"Location-Estimate", 1242, "OctetString", "MV"}, + {"Location-Estimate-Type", 1243, "Enumerated", "MV"}, + {"Location-Info", 3460, "Grouped", "MV"}, + {"Location-Type", 1244, "Grouped", "MV"}, + {"Low-Balance-Indication", 2020, "Enumerated", "MV"}, + {"Low-Priority-Indicator", 2602, "Enumerated", "MV"}, + {"MBMS-Charged-Party", 2323, "Enumerated", "MV"}, + {"MBMS-GW-Address", 2307, "Address", "MV"}, + {"MBMS-Information", 880, "Grouped", "MV"}, + {"MBMS-User-Service-Type", 1225, "Enumerated", "MV"}, + {"MM-Content-Type", 1203, "Grouped", "MV"}, + {"MMBox-Storage-Requested", 1248, "Enumerated", "MV"}, + {"MMS-Information", 877, "Grouped", "MV"}, + {"MMTel-Information", 2030, "Grouped", "MV"}, + {"MMTel-SService-Type", 2031, "Unsigned32", "MV"}, + {"MSC-Address", 3417, "OctetString", "MV"}, + {"MTC-IWF-Address", 3406, "Address", "MV"}, + {"Media-Initiator-Flag", 882, "Enumerated", "MV"}, + {"Media-Initiator-Party", 1288, "UTF8String", "MV"}, + {"Message-Body", 889, "Grouped", "MV"}, + {"Message-Class", 1213, "Grouped", "MV"}, + {"Message-ID", 1210, "UTF8String", "MV"}, + {"Message-Size", 1212, "Unsigned32", "MV"}, + {"Message-Type", 1211, "Enumerated", "MV"}, + {"Monitored-PLMN-Identifier", 3430, "UTF8String", "MV"}, + {"Monitoring-Event-Configuration-Activity", + 3919, + "Integer32", + "MV"}, + {"Monitoring-Event-Functionality", + 3922, + "Integer32", + "MV"}, + {"Monitoring-Event-Information", 3921, "Grouped", "MV"}, + {"Monitoring-Event-Report-Data", 3920, "Grouped", "MV"}, + {"Monitoring-Event-Report-Number", + 3923, + "Unsigned32", + "MV"}, + {"Monitoring-UE-HPLMN-Identifier", + 3431, + "UTF8String", + "MV"}, + {"Monitoring-UE-Identifier", 3432, "UTF8String", "MV"}, + {"Monitoring-UE-VPLMN-Identifier", + 3433, + "UTF8String", + "MV"}, + {"NIDD-Submission", 3928, "Grouped", "VM"}, + {"NNI-Information", 2703, "Grouped", "MV"}, + {"NNI-Type", 2704, "Enumerated", "MV"}, + {"Neighbour-Node-Address", 2705, "Address", "MV"}, + {"Network-Call-Reference-Number", + 3418, + "OctetString", + "MV"}, + {"Next-Tariff", 2057, "Grouped", "VM"}, + {"Node-Functionality", 862, "Enumerated", "MV"}, + {"Node-Id", 2064, "UTF8String", "MV"}, + {"Number-Of-Diversions", 2034, "Unsigned32", "MV"}, + {"Number-Of-Messages-Sent", 2019, "Unsigned32", "MV"}, + {"Number-Of-Participants", 885, "Unsigned32", "MV"}, + {"Number-Of-Received-Talk-Bursts", + 1282, + "Unsigned32", + "MV"}, + {"Number-Of-Talk-Bursts", 1283, "Unsigned32", "MV"}, + {"Number-Portability-Routing-Information", + 2024, + "UTF8String", + "MV"}, + {"Offline-Charging", 1278, "Grouped", "MV"}, + {"Online-Charging-Flag", 2303, "Enumerated", "MV"}, + {"Originating-IOI", 839, "UTF8String", "MV"}, + {"Originator", 864, "Enumerated", "MV"}, + {"Originator-Address", 886, "Grouped", "MV"}, + {"Originator-Interface", 2009, "Grouped", "MV"}, + {"Originator-Received-Address", 2027, "Grouped", "MV"}, + {"Originator-SCCP-Address", 2008, "Address", "MV"}, + {"Outgoing-Session-Id", 2320, "UTF8String", "MV"}, + {"Outgoing-Trunk-Group-Id", 853, "UTF8String", "MV"}, + {"PC3-Control-Protocol-Cause", 3434, "Integer32", "MV"}, + {"PC3-EPC-Control-Protocol-Cause", + 3435, + "Integer32", + "MV"}, + {"PC5-Radio-Technology", 1300, "Enumerated", "V"}, + {"PDN-Connection-Charging-ID", + 2050, + "Unsigned32", + "MV"}, + {"PDP-Address", 1227, "Address", "MV"}, + {"PDP-Address-Prefix-Length", 2606, "Unsigned32", "MV"}, + {"PDP-Context-Type", 1247, "Enumerated", "MV"}, + {"PS-Append-Free-Format-Data", 867, "Enumerated", "MV"}, + {"PS-Free-Format-Data", 866, "OctetString", "MV"}, + {"PS-Furnish-Charging-Information", + 865, + "Grouped", + "MV"}, + {"PS-Information", 874, "Grouped", "MV"}, + {"Participant-Access-Priority", + 1259, + "Enumerated", + "MV"}, + {"Participant-Action-Type", 2049, "Enumerated", "MV"}, + {"Participant-Group", 1260, "Grouped", "MV"}, + {"Participants-Involved", 887, "UTF8String", "MV"}, + {"Play-Alternative", 3913, "Enumerated", "MV"}, + {"PoC-Change-Condition", 1261, "Enumerated", "MV"}, + {"PoC-Change-Time", 1262, "Time", "MV"}, + {"PoC-Controlling-Address", 858, "UTF8String", "MV"}, + {"PoC-Event-Type", 2025, "Enumerated", "MV"}, + {"PoC-Group-Name", 859, "UTF8String", "MV"}, + {"PoC-Information", 879, "Grouped", "MV"}, + {"PoC-Server-Role", 883, "Enumerated", "MV"}, + {"PoC-Session-Id", 1229, "UTF8String", "MV"}, + {"PoC-Session-Initiation-Type", + 1277, + "Enumerated", + "MV"}, + {"PoC-Session-Type", 884, "Enumerated", "MV"}, + {"PoC-User-Role", 1252, "Grouped", "MV"}, + {"PoC-User-Role-IDs", 1253, "UTF8String", "MV"}, + {"PoC-User-Role-Info-Units", 1254, "Enumerated", "MV"}, + {"Positioning-Data", 1245, "UTF8String", "MV"}, + {"Preferred-AoC-Currency", 2315, "Unsigned32", "MV"}, + {"Priority", 1209, "Enumerated", "MV"}, + {"Privacy-Indicator", 3915, "Enumerated", "MV"}, + {"ProSe-3rd-Party-Application-ID", + 3440, + "UTF8String", + "MV"}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + "Grouped", + "MV"}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + "Grouped", + "MV"}, + {"ProSe-Direct-Discovery-Model", + 3442, + "Enumerated", + "MV"}, + {"ProSe-Event-Type", 3443, "Enumerated", "MV"}, + {"ProSe-Function-IP-Address", 3444, "Address", "MV"}, + {"ProSe-Function-PLMN-Identifier", + 3457, + "UTF8String", + "MV"}, + {"ProSe-Functionality", 3445, "Enumerated", "MV"}, + {"ProSe-Group-IP-Multicast-Address", + 3446, + "Address", + "MV"}, + {"ProSe-Information", 3447, "Grouped", "MV"}, + {"ProSe-Range-Class", 3448, "Enumerated", "MV"}, + {"ProSe-Reason-For-Cancellation", + 3449, + "Enumerated", + "MV"}, + {"ProSe-Request-Timestamp", 3450, "Time", "MV"}, + {"ProSe-Role-Of-UE", 3451, "Enumerated", "MV"}, + {"ProSe-Source-IP-Address", 3452, "Address", "MV"}, + {"ProSe-Target-Layer-2-ID", 4410, "OctetString", "MV"}, + {"ProSe-UE-ID", 3453, "OctetString", "MV"}, + {"ProSe-UE-to-Network-Relay-UE-ID", + 4409, + "OctetString", + "MV"}, + {"Proximity-Alert-Indication", + 3454, + "Enumerated", + "MV"}, + {"Proximity-Alert-Timestamp", 3455, "Time", "MV"}, + {"Proximity-Cancellation-Timestamp", + 3456, + "Time", + "MV"}, + {"Quota-Consumption-Time", 881, "Unsigned32", "MV"}, + {"Quota-Holding-Time", 871, "Unsigned32", "MV"}, + {"Quota-Indicator", 3912, "Enumerated", "MV"}, + {"RAN-End-Time", 1301, "Time", "V"}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + "Grouped", + "V"}, + {"RAN-Start-Time", 1303, "Time", "V"}, + {"Radio-Frequency", 3462, "OctetString", "MV"}, + {"Radio-Parameter-Set-Info", 3463, "Grouped", "MV"}, + {"Radio-Parameter-Set-Values", + 3464, + "OctetString", + "MV"}, + {"Radio-Resources-Indicator", 3465, "Integer32", "MV"}, + {"Rate-Control-Max-Message-Size", + 3937, + "Unsigned32", + "MV"}, + {"Rate-Control-Max-Rate", 3938, "Unsigned32", "MV"}, + {"Rate-Control-Time-Unit", 3939, "Unsigned32", "MV"}, + {"Rate-Element", 2058, "Grouped", "MV"}, + {"Read-Reply-Report-Requested", + 1222, + "Enumerated", + "MV"}, + {"Real-Time-Tariff-Information", 2305, "Grouped", "MV"}, + {"Reason-Header", 3401, "UTF8String", "MV"}, + {"Received-Talk-Burst-Time", 1284, "Unsigned32", "MV"}, + {"Received-Talk-Burst-Volume", + 1285, + "Unsigned32", + "MV"}, + {"Recipient-Address", 1201, "Grouped", "MV"}, + {"Recipient-Info", 2026, "Grouped", "MV"}, + {"Recipient-Received-Address", 2028, "Grouped", "MV"}, + {"Recipient-SCCP-Address", 2010, "Address", "MV"}, + {"Refund-Information", 2022, "OctetString", "MV"}, + {"Related-Change-Condition-Information", + 3925, + "Grouped", + "MV"}, + {"Related-IMS-Charging-Identifier", + 2711, + "UTF8String", + "MV"}, + {"Related-IMS-Charging-Identifier-Node", + 2712, + "Address", + "MV"}, + {"Related-Trigger", 3926, "Grouped", "MV"}, + {"Relationship-Mode", 2706, "Enumerated", "MV"}, + {"Relay-IP-address", 4411, "Address", "MV"}, + {"Remaining-Balance", 2021, "Grouped", "MV"}, + {"Reply-Applic-ID", 1223, "UTF8String", "MV"}, + {"Reply-Path-Requested", 2011, "Enumerated", "MV"}, + {"Reporting-Reason", 872, "Enumerated", "MV"}, + {"Requested-PLMN-Identifier", 3436, "UTF8String", "MV"}, + {"Requested-Party-Address", 1251, "UTF8String", "MV"}, + {"Requestor-PLMN-Identifier", 3437, "UTF8String", "MV"}, + {"Role-Of-Node", 829, "Enumerated", "MV"}, + {"Role-Of-ProSe-Function", 3438, "Enumerated", "MV"}, + {"Route-Header-Received", 3403, "UTF8String", "MV"}, + {"Route-Header-Transmitted", 3404, "UTF8String", "MV"}, + {"SCS-AS-Address", 3940, "Grouped", "MV"}, + {"SCS-Address", 3941, "Address", "MV"}, + {"SCS-Realm", 3942, "DiameterIdentity", "MV"}, + {"SDP-Answer-Timestamp", 1275, "Time", "MV"}, + {"SDP-Media-Component", 843, "Grouped", "MV"}, + {"SDP-Media-Description", 845, "UTF8String", "MV"}, + {"SDP-Media-Name", 844, "UTF8String", "MV"}, + {"SDP-Offer-Timestamp", 1274, "Time", "MV"}, + {"SDP-Session-Description", 842, "UTF8String", "MV"}, + {"SDP-TimeStamps", 1273, "Grouped", "MV"}, + {"SDP-Type", 2036, "Enumerated", "MV"}, + {"SGSN-Address", 1228, "Address", "MV"}, + {"SGW-Address", 2067, "Address", "MV"}, + {"SGW-Change", 2065, "Enumerated", "MV"}, + {"SGi-PtP-Tunnelling-Method", 3931, "Enumerated", "MV"}, + {"SIP-Method", 824, "UTF8String", "MV"}, + {"SIP-Request-Timestamp", 834, "Time", "MV"}, + {"SIP-Request-Timestamp-Fraction", + 2301, + "Unsigned32", + "MV"}, + {"SIP-Response-Timestamp", 835, "Time", "MV"}, + {"SIP-Response-Timestamp-Fraction", + 2302, + "Unsigned32", + "MV"}, + {"SM-Device-Trigger-Indicator", + 3407, + "Enumerated", + "MV"}, + {"SM-Device-Trigger-Information", + 3405, + "Grouped", + "MV"}, + {"SM-Discharge-Time", 2012, "Time", "MV"}, + {"SM-Message-Type", 2007, "Enumerated", "MV"}, + {"SM-Protocol-ID", 2013, "OctetString", "MV"}, + {"SM-Sequence-Number", 3408, "Unsigned32", "MV"}, + {"SM-Service-Type", 2029, "Enumerated", "MV"}, + {"SM-Status", 2014, "OctetString", "MV"}, + {"SM-User-Data-Header", 2015, "OctetString", "MV"}, + {"SMS-Information", 2000, "Grouped", "MV"}, + {"SMS-Node", 2016, "Enumerated", "MV"}, + {"SMS-Result", 3409, "Unsigned32", "MV"}, + {"SMSC-Address", 2017, "Address", "MV"}, + {"Scale-Factor", 2059, "Grouped", "MV"}, + {"Secondary-RAT-Type", 1304, "OctetString", "V"}, + {"Served-Party-IP-Address", 848, "Address", "MV"}, + {"Service-Data-Container", 2040, "Grouped", "MV"}, + {"Service-Id", 855, "UTF8String", "MV"}, + {"Service-Information", 873, "Grouped", "MV"}, + {"Service-Mode", 2032, "Unsigned32", "MV"}, + {"Service-Specific-Data", 863, "UTF8String", "MV"}, + {"Service-Specific-Info", 1249, "Grouped", "MV"}, + {"Service-Specific-Type", 1257, "Unsigned32", "MV"}, + {"Serving-Node-Identity", + 3929, + "DiameterIdentity", + "MV"}, + {"Serving-Node-Type", 2047, "Enumerated", "MV"}, + {"Session-Direction", 2707, "Enumerated", "MV"}, + {"Start-Time", 2041, "Time", "MV"}, + {"Start-of-Charging", 3419, "Time", "MV"}, + {"Status-AS-Code", 2702, "Enumerated", "MV"}, + {"Stop-Time", 2042, "Time", "MV"}, + {"Submission-Time", 1202, "Time", "MV"}, + {"Subscriber-Role", 2033, "Enumerated", "MV"}, + {"Supplementary-Service", 2048, "Grouped", "MV"}, + {"TAD-Identifier", 2717, "Enumerated", "MV"}, + {"TWAG-Address", 3903, "Address", "MV"}, + {"TWAN-User-Location-Info", 2714, "Grouped", "MV"}, + {"Talk-Burst-Exchange", 1255, "Grouped", "MV"}, + {"Talk-Burst-Time", 1286, "Unsigned32", "MV"}, + {"Talk-Burst-Volume", 1287, "Unsigned32", "MV"}, + {"Target-IP-Address", 4412, "Address", "MV"}, + {"Tariff-Information", 2060, "Grouped", "MV"}, + {"Tariff-XML", 2306, "UTF8String", "MV"}, + {"Teleservice", 3413, "OctetString", "MV"}, + {"Terminating-IOI", 840, "UTF8String", "MV"}, + {"Time-First-Reception", 3466, "Time", "MV"}, + {"Time-First-Transmission", 3467, "Time", "MV"}, + {"Time-First-Usage", 2043, "Time", "MV"}, + {"Time-Indicator", 3911, "Unsigned32", "MV"}, + {"Time-Last-Usage", 2044, "Time", "MV"}, + {"Time-Quota-Mechanism", 1270, "Grouped", "MV"}, + {"Time-Quota-Threshold", 868, "Unsigned32", "MV"}, + {"Time-Quota-Type", 1271, "Enumerated", "MV"}, + {"Time-Stamps", 833, "Grouped", "MV"}, + {"Time-Usage", 2045, "Unsigned32", "MV"}, + {"Token-Text", 1215, "UTF8String", "MV"}, + {"Traffic-Data-Volumes", 2046, "Grouped", "MV"}, + {"Transcoder-Inserted-Indication", + 2605, + "Enumerated", + "MV"}, + {"Transit-IOI-List", 2701, "UTF8String", "MV"}, + {"Transmitter-Info", 3468, "Grouped", "MV"}, + {"Trigger", 1264, "Grouped", "MV"}, + {"Trigger-Type", 870, "Enumerated", "MV"}, + {"Trunk-Group-Id", 851, "Grouped", "MV"}, + {"Type-Number", 1204, "Enumerated", "MV"}, + {"UNI-PDU-CP-Only-Flag", 3932, "Enumerated", "MV"}, + {"UWAN-User-Location-Info", 3918, "Grouped", "MV"}, + {"Unit-Cost", 2061, "Grouped", "MV"}, + {"Unit-Quota-Threshold", 1226, "Unsigned32", "MV"}, + {"Unused-Quota-Timer", 4407, "Unsigned32", "MV"}, + {"Usage-Information-Report-Sequence-Number", + 3439, + "Integer32", + "MV"}, + {"User-CSG-Information", 2319, "Grouped", "MV"}, + {"User-Participating-Type", 1279, "Enumerated", "MV"}, + {"User-Session-Id", 830, "UTF8String", "MV"}, + {"VCS-Information", 3410, "Grouped", "MV"}, + {"VLR-Number", 3420, "OctetString", "MV"}, + {"Variable-Part", 3907, "Grouped", "MV"}, + {"Variable-Part-Order", 3908, "Unsigned32", "MV"}, + {"Variable-Part-Type", 3909, "Enumerated", "MV"}, + {"Variable-Part-Value", 3910, "UTF8String", "MV"}, + {"Volume-Quota-Threshold", 869, "Unsigned32", "MV"}]}, + {diameter_etsi_es283_034, + [{"Address-Realm", 301, "OctetString", "MV"}, + {"Aggregation-Network-Type", 307, "Enumerated", "V"}, + {"Application-Class-ID", 312, "UTF8String", "V"}, + {"IP-Connectivity-Status", 305, "Enumerated", "V"}, + {"Initial-Gate-Setting-ID", 314, "Unsigned32", "V"}, + {"Logical-Access-ID", 302, "OctetString", "V"}, + {"Maximum-Allowed-Bandwidth-DL", + 309, + "Unsigned32", + "V"}, + {"Maximum-Allowed-Bandwidth-UL", + 308, + "Unsigned32", + "V"}, + {"Physical-Access-ID", 313, "UTF8String", "V"}, + {"QoS-Profile-ID", 315, "Unsigned32", "V"}, + {"Transport-Class", 311, "Unsigned32", "V"}]}, + {diameter_rfc4006_cc, + [{"CC-Correlation-Id", 411, "OctetString", []}, + {"CC-Input-Octets", 412, "Unsigned64", "M"}, + {"CC-Money", 413, "Grouped", "M"}, + {"CC-Output-Octets", 414, "Unsigned64", "M"}, + {"CC-Request-Number", 415, "Unsigned32", "M"}, + {"CC-Request-Type", 416, "Enumerated", "M"}, + {"CC-Service-Specific-Units", 417, "Unsigned64", "M"}, + {"CC-Session-Failover", 418, "Enumerated", "M"}, + {"CC-Sub-Session-Id", 419, "Unsigned64", "M"}, + {"CC-Time", 420, "Unsigned32", "M"}, + {"CC-Total-Octets", 421, "Unsigned64", "M"}, + {"CC-Unit-Type", 454, "Enumerated", "M"}, + {"Check-Balance-Result", 422, "Enumerated", "M"}, + {"Cost-Information", 423, "Grouped", "M"}, + {"Cost-Unit", 424, "UTF8String", "M"}, + {"Credit-Control", 426, "Enumerated", "M"}, + {"Credit-Control-Failure-Handling", + 427, + "Enumerated", + "M"}, + {"Currency-Code", 425, "Unsigned32", "M"}, + {"Direct-Debiting-Failure-Handling", + 428, + "Enumerated", + "M"}, + {"Exponent", 429, "Integer32", "M"}, + {"Final-Unit-Action", 449, "Enumerated", "M"}, + {"Final-Unit-Indication", 430, "Grouped", "M"}, + {"G-S-U-Pool-Identifier", 453, "Unsigned32", "M"}, + {"G-S-U-Pool-Reference", 457, "Grouped", "M"}, + {"Granted-Service-Unit", 431, "Grouped", "M"}, + {"Multiple-Services-Credit-Control", + 456, + "Grouped", + "M"}, + {"Multiple-Services-Indicator", 455, "Enumerated", "M"}, + {"Rating-Group", 432, "Unsigned32", "M"}, + {"Redirect-Address-Type", 433, "Enumerated", "M"}, + {"Redirect-Server", 434, "Grouped", "M"}, + {"Redirect-Server-Address", 435, "UTF8String", "M"}, + {"Requested-Action", 436, "Enumerated", "M"}, + {"Requested-Service-Unit", 437, "Grouped", "M"}, + {"Restriction-Filter-Rule", 438, "IPFilterRule", "M"}, + {"Service-Context-Id", 461, "UTF8String", "M"}, + {"Service-Identifier", 439, "Unsigned32", "M"}, + {"Service-Parameter-Info", 440, "Grouped", []}, + {"Service-Parameter-Type", 441, "Unsigned32", []}, + {"Service-Parameter-Value", 442, "OctetString", []}, + {"Subscription-Id", 443, "Grouped", "M"}, + {"Subscription-Id-Data", 444, "UTF8String", "M"}, + {"Subscription-Id-Type", 450, "Enumerated", "M"}, + {"Tariff-Change-Usage", 452, "Enumerated", "M"}, + {"Tariff-Time-Change", 451, "Time", "M"}, + {"Unit-Value", 445, "Grouped", "M"}, + {"Used-Service-Unit", 446, "Grouped", "M"}, + {"User-Equipment-Info", 458, "Grouped", []}, + {"User-Equipment-Info-Type", 459, "Enumerated", []}, + {"User-Equipment-Info-Value", 460, "OctetString", []}, + {"Validity-Time", 448, "Unsigned32", "M"}, + {"Value-Digits", 447, "Integer64", "M"}]}, + {diameter_rfc5580, + [{"Location-Data", 128, "OctetString", []}, + {"Location-Information", 127, "OctetString", []}, + {"Operator-Name", 126, "OctetString", []}]}, + {diameter_rfc5778, + [{"Service-Selection", 493, "UTF8String", "M"}]}, + {diameter_rfc7683, + [{"OC-Feature-Vector", 622, "Unsigned64", []}, + {"OC-OLR", 623, "Grouped", []}, + {"OC-Reduction-Percentage", 627, "Unsigned32", []}, + {"OC-Report-Type", 626, "Enumerated", []}, + {"OC-Sequence-Number", 624, "Unsigned64", []}, + {"OC-Supported-Features", 621, "Grouped", []}, + {"OC-Validity-Duration", 625, "Unsigned32", []}]}, + {diameter_rfc7944, [{"DRMP", 301, "Enumerated", []}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Status", [{"AN_GW_FAILED", 0}]}, + {"Bearer-Control-Mode", + [{"UE_ONLY", 0}, {"RESERVED", 1}, {"UE_NW", 2}]}, + {"Bearer-Operation", + [{"TERMINATION", 0}, + {"ESTABLISHMENT", 1}, + {"MODIFICATION", 2}]}, + {"Bearer-Usage", + [{"GENERAL", 0}, {"IMS_SIGNALLING", 1}]}, + {"Charging-Correlation-Indicator", + [{"CHARGING_IDENTIFIER_REQUIRED", 0}]}, + {"CSG-Information-Reporting", + [{"CHANGE_CSG_CELL", 0}, + {"CHANGE_CSG_SUBSCRIBED_HYBRID_CELL", 1}, + {"CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL", 2}]}, + {"Event-Trigger", + [{"SGSN_CHANGE", 0}, + {"QOS_CHANGE", 1}, + {"RAT_CHANGE", 2}, + {"TFT_CHANGE", 3}, + {"PLMN_CHANGE", 4}, + {"LOSS_OF_BEARER", 5}, + {"RECOVERY_OF_BEARER", 6}, + {"IP-CAN_CHANGE", 7}, + {"QOS_CHANGE_EXCEEDING_AUTHORIZATION", 11}, + {"RAI_CHANGE", 12}, + {"USER_LOCATION_CHANGE", 13}, + {"NO_EVENT_TRIGGERS", 14}, + {"OUT_OF_CREDIT", 15}, + {"REALLOCATION_OF_CREDIT", 16}, + {"REVALIDATION_TIMEOUT", 17}, + {"UE_IP_ADDRESS_ALLOCATE", 18}, + {"UE_IP_ADDRESS_RELEASE", 19}, + {"DEFAULT_EPS_BEARER_QOS_CHANGE", 20}, + {"AN_GW_CHANGE", 21}, + {"SUCCESSFUL_RESOURCE_ALLOCATION", 22}, + {"RESOURCE_MODIFICATION_REQUEST", 23}, + {"PGW_TRACE_CONTROL", 24}, + {"UE_TIME_ZONE_CHANGE", 25}, + {"TAI_CHANGE", 26}, + {"ECGI_CHANGE", 27}, + {"CHARGING_CORRELATION_EXCHANGE", 28}, + {"APN-AMBR_MODIFICATION_FAILURE", 29}, + {"USER_CSG_INFORMATION_CHANGE", 30}, + {"USAGE_REPORT", 33}, + {"DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE", 34}, + {"USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE", 35}, + {"USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE", 36}, + {"ROUTING_RULE_CHANGE", 37}, + {"APPLICATION_START", 39}, + {"APPLICATION_STOP", 40}, + {"CS_TO_PS_HANDOVER", 42}, + {"UE_LOCAL_IP_ADDRESS_CHANGE", 43}, + {"HNB_LOCAL_IP_ADDRESS_CHANGE", 44}, + {"ACCESS_NETWORK_INFO_REPORT", 45}, + {"CREDIT_MANAGEMENT_SESSION_FAILURE", 46}, + {"DEFAULT_QOS_CHANGE", 47}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_A" + "REA_REPORT", + 48}]}, + {"Flow-Direction", + [{"UNSPECIFIED", 0}, + {"DOWNLINK", 1}, + {"UPLINK", 2}, + {"BIDIRECTIONAL", 3}]}, + {"IP-CAN-Session-Charging-Scope", + [{"IP-CAN_SESSION_SCOPE", 0}]}, + {"IP-CAN-Type", + [{"3GPP-GPRS", 0}, + {"DOCSIS", 1}, + {"xDSL", 2}, + {"WiMAX", 3}, + {"3GPP2", 4}, + {"3GPP-EPS", 5}, + {"Non-3GPP-EPS", 6}, + {"FBA", 7}]}, + {"Metering-Method", + [{"DURATION", 0}, + {"VOLUME", 1}, + {"DURATION_VOLUME", 2}, + {"EVENT", 3}]}, + {"Mute-Notification", [{"MUTE_REQUIRED", 0}]}, + {"Network-Request-Support", + [{"NETWORK_REQUEST_NOT_SUPPORTED", 0}, + {"NETWORK_REQUEST_SUPPORTED", 1}]}, + {"Offline", + [{"DISABLE_OFFLINE", 0}, {"ENABLE_OFFLINE", 1}]}, + {"Online", + [{"DISABLE_ONLINE", 0}, {"ENABLE_ONLINE", 1}]}, + {"Packet-Filter-Operation", + [{"DELETION", 0}, + {"ADDITION", 1}, + {"MODIFICATION", 2}]}, + {"Packet-Filter-Usage", [{"SEND_TO_UE", 1}]}, + {"PCC-Rule-Status", + [{"ACTIVE", 0}, + {"INACTIVE", 1}, + {"TEMPORARILY_INACTIVE", 2}]}, + {"Pre-emption-Capability", + [{"PRE-EMPTION_CAPABILITY_ENABLED", 0}, + {"PRE-EMPTION_CAPABILITY_DISABLED", 1}]}, + {"Pre-emption-Vulnerability", + [{"PRE-EMPTION_VULNERABILITY_ENABLED", 0}, + {"PRE-EMPTION_VULNERABILITY_DISABLED", 1}]}, + {"PS-to-CS-Session-Continuity", + [{"VIDEO_PS2CS_CONT_CANDIDATE", 0}]}, + {"QoS-Class-Identifier", + [{"QCI_1", 1}, + {"QCI_2", 2}, + {"QCI_3", 3}, + {"QCI_4", 4}, + {"QCI_5", 5}, + {"QCI_6", 6}, + {"QCI_7", 7}, + {"QCI_8", 8}, + {"QCI_9", 9}, + {"QCI_65", 65}, + {"QCI_66", 66}, + {"QCI_69", 69}, + {"QCI_70", 70}]}, + {"QoS-Negotiation", + [{"NO_QoS_NEGOTIATION", 0}, + {"QoS_NEGOTIATION_SUPPORTED", 1}]}, + {"QoS-Upgrade", + [{"QoS_UPGRADE_NOT_SUPPORTED", 0}, + {"QoS_UPGRADE_SUPPORTED", 1}]}, + {"RAT-Type", + [{"WLAN", 0}, + {"VIRTUAL", 1}, + {"UTRAN", 1000}, + {"GERAN", 1001}, + {"GAN", 1002}, + {"HSPA_EVOLUTION", 1003}, + {"EUTRAN", 1004}, + {"CDMA2000_1X", 2000}, + {"HRPD", 2001}, + {"UMB", 2002}, + {"EHRPD", 2003}]}, + {"Redirect-Support", + [{"REDIRECTION_DISABLED", 0}, + {"REDIRECTION_ENABLED", 1}]}, + {"Reporting-Level", + [{"SERVICE_IDENTIFIER_LEVEL", 0}, + {"RATING_GROUP_LEVEL", 1}, + {"SPONSORED_CONNECTIVITY_LEVEL", 2}]}, + {"Resource-Allocation-Notification", + [{"ENABLE_NOTIFICATION", 0}]}, + {"Rule-Failure-Code", + [{"UNKNOWN_RULE_NAME", 1}, + {"RATING_GROUP_ERROR", 2}, + {"SERVICE_IDENTIFIER_ERROR", 3}, + {"GW_PCEF_MALFUNCTION", 4}, + {"RESOURCES_LIMITATION", 5}, + {"MAX_NR_BEARERS_REACHED", 6}, + {"UNKNOWN_BEARER_ID", 7}, + {"MISSING_BEARER_ID", 8}, + {"MISSING_FLOW_INFORMATION", 9}, + {"RESOURCE_ALLOCATION_FAILURE", 10}, + {"UNSUCCESSFUL_QOS_VALIDATION", 11}, + {"INCORRECT_FLOW_INFORMATION", 12}, + {"PS_TO_CS_HANDOVER", 13}, + {"TDF_APPLICATION_IDENTIFIER_ERROR", 14}, + {"NO_BEARER_BOUND", 15}, + {"FILTER_RESTRICTIONS", 16}, + {"AN_GW_FAILED", 17}, + {"MISSING_REDIRECT_SERVER_ADDRESS", 18}, + {"CM_END_USER_SERVICE_DENIED", 19}, + {"CM_CREDIT_CONTROL_NOT_APPLICABLE", 20}, + {"CM_AUTHORIZATION_REJECTED", 21}, + {"CM_USER_UNKNOWN", 22}, + {"CM_RATING_FAILED", 23}]}, + {"Session-Release-Cause", + [{"UNSPECIFIED_REASON", 0}, + {"UE_SUBSCRIPTION_REASON", 1}, + {"INSUFFICIENT_SERVER_RESOURCES", 2}, + {"IP_CAN_SESSION_TERMINATION", 3}, + {"UE_IP_ADDRESS_RELEASE", 4}]}, + {"Usage-Monitoring-Level", + [{"SESSION_LEVEL", 0}, + {"PCC_RULE_LEVEL", 1}, + {"ADC_RULE_LEVEL", 2}]}, + {"Usage-Monitoring-Report", + [{"USAGE_MONITORING_REPORT_REQUIRED", 0}]}, + {"Usage-Monitoring-Support", + [{"USAGE_MONITORING_DISABLED", 0}]}]}, + {diameter_3gpp_ts29_272, + [{"Network-Access-Mode", + [{"PACKET_AND_CIRCUIT", 0}, + {"RESERVED", 1}, + {"ONLY_PACKET", 2}]}, + {"Cancellation-Type", + [{"MME_UPDATE_PROCEDURE", 0}, + {"SGSN_UPDATE_PROCEDURE", 1}, + {"SUBSCRIPTION_WITHDRAWAL", 2}, + {"UPDATE_PROCEDURE_IWF", 3}, + {"INITIAL_ATTACH_PROCEDURE", 4}]}, + {"Subscriber-Status", + [{"SERVICE_GRANTED", 0}, + {"OPERATOR_DETERMINED_BARRING", 1}]}, + {"All-APN-Configurations-Included-Indicator", + [{"All_APN_CONFIGURATIONS_INCLUDED", 0}, + {"MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED", 1}]}, + {"VPLMN-Dynamic-Address-Allowed", + [{"NOTALLOWED", 0}, {"ALLOWED", 1}]}, + {"PDN-GW-Allocation-Type", + [{"STATIC", 0}, {"DYNAMIC", 1}]}, + {"Equipment-Status", + [{"WHITELISTED", 0}, + {"BLACKLISTED", 1}, + {"GREYLISTED", 2}]}, + {"PDN-Type", + [{"IPv4", 0}, + {"IPv6", 1}, + {"IPv4v6", 2}, + {"IPv4_OR_IPv6", 3}]}, + {"Complete-Data-List-Included-Indicator", + [{"All_PDP_CONTEXTS_INCLUDED", 0}, + {"MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED", 1}]}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + [{"ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE", 0}]}, + {"Alert-Reason", + [{"UE_PRESENT", 0}, {"UE_MEMORY_AVAILABLE", 1}]}, + {"Notification-To-UE-User", + [{"NOTIFY_LOCATION_ALLOWED", 0}, + {"NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE", 1}, + {"NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RE" + "SPONSE", + 2}, + {"LOCATION_NOT_ALLOWED", 3}]}, + {"GMLC-Restriction", + [{"GMLC_LIST", 0}, {"HOME_COUNTRY", 1}]}, + {"PLMN-Client", + [{"BROADCAST_SERVICE", 0}, + {"O_AND_M_HPLMN", 1}, + {"O_AND_M_VPLMN", 2}, + {"ANONYMOUS_LOCATION", 3}, + {"TARGET_UE_SUBSCRIBED_SERVICE", 4}]}, + {"ICS-Indicator", [{"FALSE", 0}, {"TRUE", 1}]}, + {"IMS-Voice-Over-PS-Sessions-Supported", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"User-State", + [{"DETACHED", 0}, + {"ATTACHED_NOT_REACHABLE_FOR_PAGING", 1}, + {"ATTACHED_REACHABLE_FOR_PAGING", 2}, + {"CONNECTED_NOT_REACHABLE_FOR_PAGING", 3}, + {"CONNECTED_REACHABLE_FOR_PAGING", 4}, + {"NETWORK_DETERMINED_NOT_REACHABLE", 5}]}, + {"Current-Location-Retrieved", + [{"ACTIVE-LOCATION-RETRIEVAL", 0}]}, + {"Error-Diagnostic", + [{"GPRS_DATA_SUBSCRIBED", 0}, + {"NO_GPRS_DATA_SUBSCRIBED", 1}, + {"ODB-ALL-APN", 2}, + {"ODB-HPLMN-APN", 3}, + {"ODB-VPLMN-APN", 4}]}, + {"UE-SRVCC-Capability", + [{"UE-SRVCC-NOT-SUPPORTED", 0}, + {"UE-SRVCC-SUPPORTED", 1}]}, + {"VPLMN-LIPA-Allowed", + [{"LIPA-NOTALLOWED", 0}, {"LIPA-ALLOWED", 1}]}, + {"LIPA-Permission", + [{"LIPA-PROHIBITED", 0}, + {"LIPA-ONLY", 1}, + {"LIPA-CONDITIONAL", 2}]}, + {"SIPTO-Permission", + [{"SIPTO_ALLOWED", 0}, {"SIPTO_NOTALLOWED", 1}]}, + {"Relay-Node-Indicator", + [{"NOT_RELAY_NODE", 0}, {"RELAY_NODE", 1}]}, + {"MDT-User-Consent", + [{"CONSENT_NOT_GIVEN", 0}, {"CONSENT_GIVEN", 1}]}, + {"Subscribed-VSRVCC", [{"VSRVCC_SUBSCRIBED", 0}]}, + {"SMS-Register-Request", + [{"SMS_REGISTRATION_REQUIRED", 0}, + {"SMS_REGISTRATION_NOT_PREFERRED", 1}, + {"NO_PREFERENCE", 2}]}, + {"Daylight-Saving-Time", + [{"NO_ADJUSTMENT", 0}, + {"PLUS_ONE_HOUR_ADJUSTMENT", 1}, + {"PLUS_TWO_HOURS_ADJUSTMENT", 2}]}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", + [{"Active", 0}, {"Inactive", 1}]}, + {"Access-Transfer-Type", + [{"PS-to-CS-Transfer", 0}, + {"CS-to-PS-Transfer", 1}, + {"PS-to-PS-Transfer", 2}, + {"CS-to-CS-Transfer", 3}]}, + {"Adaptations", [{"Yes", 0}, {"No", 1}]}, + {"Additional-Exception-Reports", + [{"Not-allowed", 0}, {"Allowed", 1}]}, + {"Address-Type", + [{"e-mail-address", 0}, + {"MSISDN", 1}, + {"IPv4-Address", 2}, + {"IPv6-Address", 3}, + {"Numeric-Shortcode", 4}, + {"Alphanumeric-Shortcode", 5}, + {"Other", 6}, + {"IMSI", 7}]}, + {"Addressee-Type", [{"TO", 0}, {"CC", 1}, {"BCC", 2}]}, + {"AoC-Format", + [{"MONETARY", 0}, {"NON_MONETARY", 1}, {"CAI", 2}]}, + {"AoC-Request-Type", + [{"AoC_NOT_REQUESTED", 0}, + {"AoC_FULL", 1}, + {"AoC_COST_ONLY", 2}, + {"AoC_TARIFF_ONLY", 3}]}, + {"AoC-Service-Obligatory-Type", + [{"NON_BINDING", 0}, {"BINDING", 1}]}, + {"AoC-Service-Type", + [{"NONE", 0}, + {"AOC-S", 1}, + {"AOC-D", 2}, + {"AOC-E", 3}]}, + {"Charge-Reason-Code", + [{"UNKNOWN", 0}, + {"USAGE", 1}, + {"COMMUNICATION-ATTEMPT-CHARGE", 2}, + {"SETUP-CHARGE", 3}, + {"ADD-ON-CHARGE", 4}]}, + {"Charging-Characteristics-Selection-Mode", + [{"Serving-Node-Supplied", 0}, + {"Subscription-specific", 1}, + {"APN-specific", 2}, + {"Home-Default", 3}, + {"Roaming-Default", 4}, + {"Visiting-Default", 5}]}, + {"Charging-Per-IP-CAN-Session-Indicator", + [{"Inactive", 0}, {"Active", 1}]}, + {"Class-Identifier", + [{"Personal", 0}, + {"Advertisement", 1}, + {"Informational", 2}, + {"Auto", 3}]}, + {"CN-Operator-Selection-Entity", + [{"The-Serving-Network-has-been-selected-by-the-UE", 0}, + {"The-Serving-Network-has-been-selected-by-the-" + "network", + 1}]}, + {"Content-Class", + [{"text", 0}, + {"image-basic", 1}, + {"image-rich", 2}, + {"video-basic", 3}, + {"video-rich", 4}, + {"megapixel", 5}, + {"content-basic", 6}, + {"content-rich", 7}]}, + {"Coverage-Status", + [{"Out-of-coverage", 0}, {"In-coverage", 1}]}, + {"CP-CIoT-EPS-Optimisation-Indicator", + [{"Not-Apply", 0}, {"Apply", 1}]}, + {"CSG-Access-Mode", + [{"Closed-mode", 0}, {"Hybrid-Mode", 1}]}, + {"CSG-Membership-Indication", + [{"Not-CSG-member", 0}, {"CSG-Member", 1}]}, + {"Delivery-Report-Requested", [{"No", 0}, {"Yes", 1}]}, + {"DRM-Content", [{"No", 0}, {"Yes", 1}]}, + {"Dynamic-Address-Flag", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Dynamic-Address-Flag-Extension", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Envelope-Reporting", + [{"DO_NOT_REPORT_ENVELOPES", 0}, + {"REPORT_ENVELOPES", 1}, + {"REPORT_ENVELOPES_WITH_VOLUME", 2}, + {"REPORT_ENVELOPES_WITH_EVENTS", 3}, + {"REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", 4}]}, + {"File-Repair-Supported", + [{"SUPPORTED", 1}, {"NOT_SUPPORTED", 2}]}, + {"Forwarding-Pending", + [{"Forwarding-not-pending", 0}, + {"Forwarding-pending", 1}]}, + {"Interface-Type", + [{"Unknown", 0}, + {"MOBILE_ORIGINATING", 1}, + {"MOBILE_TERMINATING", 2}, + {"APPLICATION_ORIGINATING", 3}, + {"APPLICATION_TERMINATION", 4}]}, + {"Inter-UE-Transfer", + [{"Intra-UE-transfer", 0}, {"Inter-UE-transfer", 1}]}, + {"IMS-Emergency-Indicator", + [{"Non-Emergency", 0}, {"Emergency", 1}]}, + {"IMSI-Unauthenticated-Flag", + [{"Authenticated", 0}, {"Unauthenticated", 1}]}, + {"IP-Realm-Default-Indication", + [{"Default-IP-Realm-Not-used", 0}, + {"Default-IP-realm-used", 1}]}, + {"LCS-Client-Type", + [{"EMERGENCY_SERVICES", 0}, + {"VALUE_ADDED_SERVICES", 1}, + {"PLMN_OPERATOR_SERVICES", 2}, + {"LAWFUL_INTERCEPT_SERVICES", 3}]}, + {"LCS-Format-Indicator", + [{"LOGICAL_NAME", 0}, + {"EMAIL_ADDRESS", 1}, + {"MSISDN", 2}, + {"URL", 3}, + {"SIP_URL", 4}]}, + {"Local-GW-Inserted-Indication", + [{"Local-GW-Not-Inserted", 0}, + {"Local-GW-Inserted", 1}]}, + {"Location-Estimate-Type", + [{"CURRENT_LOCATION", 0}, + {"CURRENT_LAST_KNOWN_LOCATION", 1}, + {"INITIAL_LOCATION", 2}, + {"ACTIVATE_DEFERRED_LOCATION", 3}, + {"CANCEL_DEFERRED_LOCATION", 4}]}, + {"Low-Balance-Indication", + [{"NOT-APPLICABLE", 0}, {"YES", 1}]}, + {"Low-Priority-Indicator", [{"NO", 0}, {"YES", 1}]}, + {"MBMS-Charged-Party", + [{"Content-Provider", 0}, {"Subscriber", 1}]}, + {"MBMS-User-Service-Type", + [{"DOWNLOAD", 1}, {"STREAMING", 2}]}, + {"Media-Initiator-Flag", + [{"called-party", 0}, + {"calling-party", 1}, + {"unknown", 2}]}, + {"Message-Type", + [{"m-send-req", 1}, + {"m-send-conf", 2}, + {"m-notification-ind", 3}, + {"m-notifyresp-ind", 4}, + {"m-retrieve-conf", 5}, + {"m-acknowledge-ind", 6}, + {"m-delivery-ind", 7}, + {"m-read-rec-ind", 8}, + {"m-read-orig-ind", 9}, + {"m-forward-req", 10}, + {"m-forward-conf", 11}, + {"m-mbox-store-conf", 12}, + {"m-mbox-view-conf", 13}, + {"m-mbox-upload-conf", 14}, + {"m-mbox-delete-conf", 15}]}, + {"MMBox-Storage-Requested", [{"No", 0}, {"Yes", 1}]}, + {"NNI-Type", + [{"non-roaming", 0}, + {"roaming-without-loopback", 1}, + {"roaming-with-loopback", 2}]}, + {"Node-Functionality", + [{"S-CSCF", 0}, + {"P-CSCF", 1}, + {"I-CSCF", 2}, + {"MRFC", 3}, + {"MGCF", 4}, + {"BGCF", 5}, + {"AS", 6}, + {"IBCF", 7}, + {"S-GW", 8}, + {"P-GW", 9}, + {"HSGW", 10}, + {"E-CSCF", 11}, + {"MME", 12}, + {"TRF", 13}, + {"TF", 14}, + {"ATCF", 15}, + {"Proxy-Function", 16}, + {"ePDG", 17}, + {"TDF", 18}, + {"TWAG", 19}, + {"SCEF", 20}, + {"IWK-SCEF", 21}]}, + {"Online-Charging-Flag", + [{"ECF-address-not-provided", 0}, + {"ECF-address-provided", 1}]}, + {"Originator", + [{"Calling-Party", 0}, {"Called-Party", 1}]}, + {"Participant-Access-Priority", + [{"Pre-emptive-priority", 1}, + {"High-priority", 2}, + {"Normal-priority", 3}, + {"Low-priority", 4}]}, + {"Participant-Action-Type", + [{"CREATE_CONF", 0}, + {"JOIN_CONF", 1}, + {"INVITE_INTO_CONF", 2}, + {"QUIT_CONF", 3}]}, + {"PC5-Radio-Technology", + [{"EUTRA", 0}, + {"WLAN", 1}, + {"Both-EUTRA-and-WLAN", 2}]}, + {"PDP-Context-Type", + [{"Primary", 0}, {"Secondary", 1}]}, + {"Play-Alternative", + [{"served-party", 0}, {"remote-party", 1}]}, + {"PoC-Change-Condition", + [{"ServiceChange", 0}, + {"VolumeLimit", 1}, + {"TimeLimit", 2}, + {"NumberofTalkBurstLimit", 3}, + {"NumberofActiveParticipants", 4}, + {"TariffTime", 5}]}, + {"PoC-Event-Type", + [{"Normal", 0}, + {"Instant-Personal-Alert-event", 1}, + {"PoC-Group-Advertisement-event", 2}, + {"Early-Ssession-Setting-up-event", 3}, + {"PoC-Talk-Burst", 4}]}, + {"PoC-Server-Role", + [{"Participating-PoC-Server", 0}, + {"Controlling-PoC-Server", 1}, + {"Interworking-function", 2}, + {"Interworking-selection-function", 3}]}, + {"PoC-Session-Initiation-Type", + [{"Pre-established", 0}, {"On-demand", 1}]}, + {"PoC-Session-Type", + [{"1-to-1-PoC-session", 0}, + {"Chat-PoC-group-session", 1}, + {"Pre-arranged-PoC-group-session", 2}, + {"Ad-hoc-PoC-group-session", 3}]}, + {"PoC-User-Role-Info-Units", + [{"Moderator", 1}, + {"Dispatcher", 2}, + {"Session-Owner", 3}, + {"Session-Participant", 4}]}, + {"Priority", [{"Low", 0}, {"Normal", 1}, {"High", 2}]}, + {"Privacy-Indicator", + [{"NOT_PRIVATE", 0}, {"PRIVATE", 1}]}, + {"ProSe-Direct-Discovery-Model", + [{"Model-A", 0}, {"Model-B", 1}]}, + {"ProSe-Event-Type", + [{"Annoucing", 0}, + {"Monitoring", 1}, + {"Match-Report", 2}]}, + {"ProSe-Functionality", + [{"Direct-discovery", 0}, + {"EPC-level-discovery", 1}, + {"Direct-communication", 2}]}, + {"ProSe-Range-Class", + [{"Reserved", 0}, + {"50m", 1}, + {"100m", 2}, + {"200m", 3}, + {"500m", 4}, + {"1000m", 5}]}, + {"ProSe-Reason-For-Cancellation", + [{"Proximity-Alert-sent", 0}, + {"Time-expired-with-no-renewal", 1}, + {"Requestor-cancellation", 2}]}, + {"ProSe-Role-Of-UE", + [{"Announcing-UE", 0}, + {"Monitoring-UE", 1}, + {"Requestor-UE", 2}, + {"Requested-UE", 3}]}, + {"Proximity-Alert-Indication", + [{"Alert", 0}, {"No-Alert", 1}]}, + {"PS-Append-Free-Format-Data", + [{"Append", 0}, {"Overwrite", 1}]}, + {"Quota-Indicator", + [{"QUOTA_IS_NOT_USED_DURING_PLAYBACK", 0}, + {"QUOTA_IS_USED_DURING_PLAYBACK", 1}]}, + {"Read-Reply-Report-Requested", + [{"No", 0}, {"Yes", 1}]}, + {"Relationship-Mode", + [{"trusted", 0}, {"non-trusted", 1}]}, + {"Reply-Path-Requested", + [{"No-Reply-Path-Set", 0}, {"Reply-path-Set", 1}]}, + {"Reporting-Reason", + [{"THRESHOLD", 0}, + {"QHT", 1}, + {"FINAL", 2}, + {"QUOTA_EXHAUSTED", 3}, + {"VALIDITY_TIME", 4}, + {"OTHER_QUOTA_TYPE", 5}, + {"RATING_CONDITION_CHANGE", 6}, + {"FORCED_REAUTHORISATION", 7}, + {"POOL_EXHAUSTED", 8}, + {"UNUSED_QUOTA_TIMER", 9}]}, + {"Role-Of-Node", + [{"ORIGINATING_ROLE", 0}, + {"TERMINATING_ROLE", 1}, + {"FORWARDING_ROLE", 2}]}, + {"Role-Of-ProSe-Function", + [{"HPLMN", 0}, {"VPLMN", 1}, {"Local-PLMN", 2}]}, + {"SDP-Type", [{"SDP-Offer", 0}, {"SDP-Answer", 1}]}, + {"Session-Direction", + [{"inbound", 0}, {"outbound", 1}]}, + {"Serving-Node-Type", + [{"SGSN", 0}, + {"PMIPSGW", 1}, + {"GTPSGW", 2}, + {"ePDG", 3}, + {"hSGW", 4}, + {"MME", 5}, + {"TWAN", 6}]}, + {"SGi-PtP-Tunnelling-Method", + [{"UDP_IP_based", 0}, {"Others", 1}]}, + {"SGW-Change", + [{"ACR_Start_NOT_due_to_SGW_Change", 0}, + {"ACR_Start_due_to_SGW_Change", 1}]}, + {"SM-Device-Trigger-Indicator", + [{"Not-DeviceTrigger", 0}, + {"Device-Trigger-request", 1}, + {"Device-Trigger-replace", 2}, + {"Device-Trigger-recall", 3}]}, + {"SM-Message-Type", + [{"SUBMISSION", 0}, + {"DELIVERY_REPORT", 1}, + {"SM-Service-Request", 2}, + {"T4-Device-Trigger", 3}, + {"SM-Device-Trigger", 4}, + {"MO-SMS-T4-submission", 5}]}, + {"SMS-Node", + [{"SMS-Router", 0}, + {"IP-SM-GW", 1}, + {"SMS-Router-and-IP-SM-GW", 2}, + {"SMS-SC", 3}]}, + {"SM-Service-Type", + [{"VAS4SMS-Short-Message-content-processing", 0}, + {"VAS4SMS-Short-Message-forwarding", 1}, + {"VAS4SMS-Short-Message-Forwarding-multiple-sub" + "scriptions", + 2}, + {"VAS4SMS-Short-Message-filtering", 3}, + {"VAS4SMS-Short-Message-receipt", 4}, + {"VAS4SMS-Short-Message-Network-Storage", 5}, + {"VAS4SMS-Short-Message-to-multiple-destinations", 6}, + {"VAS4SMS-Short-Message-Virtual-Private-Network", 7}, + {"VAS4SMS-Short-Message-Auto-Reply", 8}, + {"VAS4SMS-Short-Message-Personal-Signature", 9}, + {"VAS4SMS-Short-Message-Deferred-Delivery", 10}]}, + {"Status-AS-Code", + [{"4xx", 0}, {"5xx", 1}, {"Timeout", 2}]}, + {"Subscriber-Role", + [{"Originating", 0}, {"Terminating", 1}]}, + {"TAD-Identifier", [{"CS", 0}, {"PS", 1}]}, + {"Time-Quota-Type", + [{"DISCRETE_TIME_PERIOD", 0}, + {"CONTINUOUS_TIME_PERIOD", 1}]}, + {"Transcoder-Inserted-Indication", + [{"Transcoder-Not-Inserted", 0}, + {"Transcoder-Inserted", 1}]}, + {"Trigger-Type", + [{"CHANGE_IN_SGSN_IP_ADDRESS", 1}, + {"CHANGE_IN_QOS", 2}, + {"CHANGE_IN_LOCATION", 3}, + {"CHANGE_IN_RAT", 4}, + {"CHANGE_IN_UE_TIMEZONE", 5}, + {"CHANGEINQOS_TRAFFIC_CLASS", 10}, + {"CHANGEINQOS_RELIABILITY_CLASS", 11}, + {"CHANGEINQOS_DELAY_CLASS", 12}, + {"CHANGEINQOS_PEAK_THROUGHPUT", 13}, + {"CHANGEINQOS_PRECEDENCE_CLASS", 14}, + {"CHANGEINQOS_MEAN_THROUGHPUT", 15}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", 16}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", 17}, + {"CHANGEINQOS_RESIDUAL_BER", 18}, + {"CHANGEINQOS_SDU_ERROR_RATIO", 19}, + {"CHANGEINQOS_TRANSFER_DELAY", 20}, + {"CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", 21}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", 22}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", 23}, + {"CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", 24}, + {"CHANGEINLOCATION_MCC", 30}, + {"CHANGEINLOCATION_MNC", 31}, + {"CHANGEINLOCATION_RAC", 32}, + {"CHANGEINLOCATION_LAC", 33}, + {"CHANGEINLOCATION_CellId", 34}, + {"CHANGEINLOCATION_TAC", 35}, + {"CHANGEINLOCATION_ECGI", 36}, + {"CHANGE_IN_MEDIA_COMPOSITION", 40}, + {"CHANGE_IN_PARTICIPANTS_NMB", 50}, + {"CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB", 51}, + {"CHANGE_IN_USER_PARTICIPATING_TYPE", 52}, + {"CHANGE_IN_SERVICE_CONDITION", 60}, + {"CHANGE_IN_SERVING_NODE", 61}, + {"CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW", 62}, + {"CHANGE_IN_USER_CSG_INFORMATION", 70}, + {"CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", + 71}, + {"CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORM" + "ATION", + 72}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", + 73}, + {"CHANGE_IN_APN_RATE_CONTROL", 75}, + {"CHANGE_IN_3GPP_PS_DATA_OFF", 76}]}, + {"UNI-PDU-CP-Only-Flag", + [{"UNI-PDU-both-UP-CP", 0}, {"UNI-PDU-CP-Only", 1}]}, + {"User-Participating-Type", + [{"Normal", 0}, {"NW-PoC-Box", 1}, {"UE-PoC-Box", 2}]}, + {"Variable-Part-Type", + [{"Integer", 0}, + {"Number", 1}, + {"Time", 2}, + {"Date", 3}, + {"Currency", 4}]}]}, + {diameter_rfc4006_cc, + [{"CC-Request-Type", + [{"INITIAL_REQUEST", 1}, + {"UPDATE_REQUEST", 2}, + {"TERMINATION_REQUEST", 3}, + {"EVENT_REQUEST", 4}]}, + {"CC-Session-Failover", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Check-Balance-Result", + [{"ENOUGH_CREDIT", 0}, {"NO_CREDIT", 1}]}, + {"Credit-Control", + [{"AUTHORIZATION", 0}, {"RE_AUTHORIZATION", 1}]}, + {"Credit-Control-Failure-Handling", + [{"TERMINATE", 0}, + {"CONTINUE", 1}, + {"RETRY_AND_TERMINATE", 2}]}, + {"Direct-Debiting-Failure-Handling", + [{"TERMINATE_OR_BUFFER", 0}, {"CONTINUE", 1}]}, + {"Tariff-Change-Usage", + [{"UNIT_BEFORE_TARIFF_CHANGE", 0}, + {"UNIT_AFTER_TARIFF_CHANGE", 1}, + {"UNIT_INDETERMINATE", 2}]}, + {"CC-Unit-Type", + [{"TIME", 0}, + {"MONEY", 1}, + {"TOTAL-OCTETS", 2}, + {"INPUT-OCTETS", 3}, + {"OUTPUT-OCTETS", 4}, + {"SERVICE-SPECIFIC-UNITS", 5}]}, + {"Final-Unit-Action", + [{"TERMINATE", 0}, + {"REDIRECT", 1}, + {"RESTRICT_ACCESS", 2}]}, + {"Redirect-Address-Type", + [{"IPV4", 0}, {"IPV6", 1}, {"URL", 2}, {"SIP_URI", 3}]}, + {"Multiple-Services-Indicator", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Requested-Action", + [{"DIRECT_DEBITING", 0}, + {"REFUND_ACCOUNT", 1}, + {"CHECK_BALANCE", 2}, + {"PRICE_ENQUIRY", 3}]}, + {"Subscription-Id-Type", + [{"END_USER_E164", 0}, + {"END_USER_IMSI", 1}, + {"END_USER_SIP_URI", 2}, + {"END_USER_NAI", 3}, + {"END_USER_PRIVATE", 4}]}, + {"User-Equipment-Info-Type", + [{"IMEISV", 0}, + {"MAC", 1}, + {"EUI64", 2}, + {"MODIFIED_EUI64", 3}]}]}, + {diameter_rfc7683, + [{"OC-Report-Type", + [{"HOST_REPORT", 0}, {"REALM_REPORT", 1}]}]}, + {diameter_rfc7944, + [{"DRMP", + [{"PRIORITY_15", 15}, + {"PRIORITY_14", 14}, + {"PRIORITY_13", 13}, + {"PRIORITY_12", 12}, + {"PRIORITY_11", 11}, + {"PRIORITY_10", 10}, + {"PRIORITY_9", 9}, + {"PRIORITY_8", 8}, + {"PRIORITY_7", 7}, + {"PRIORITY_6", 6}, + {"PRIORITY_5", 5}, + {"PRIORITY_4", 4}, + {"PRIORITY_3", 3}, + {"PRIORITY_2", 2}, + {"PRIORITY_1", 1}, + {"PRIORITY_0", 0}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_3gpp_break_circles, + [{"Emergency-Info", + 1687, + [10415], + [["MIP6-Agent-Info"], {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_212, + [{"Access-Network-Charging-Identifier-Gx", + 1022, + [], + [{"Access-Network-Charging-Identifier-Value"}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Charging-Rule-Name"]}, + ["IP-CAN-Session-Charging-Scope"], + {'*', ["AVP"]}]}, + {"Allocation-Retention-Priority", + 1034, + [], + [{"Priority-Level"}, + ["Pre-emption-Capability"], + ["Pre-emption-Vulnerability"]]}, + {"Application-Detection-Information", + 1098, + [], + [{"TDF-Application-Identifier"}, + ["TDF-Application-Instance-Identifier"], + {'*', ["Flow-Information"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Definition", + 1003, + [], + [{"Charging-Rule-Name"}, + ["Service-Identifier"], + ["Rating-Group"], + {'*', ["Flow-Information"]}, + ["TDF-Application-Identifier"], + ["Flow-Status"], + ["QoS-Information"], + ["PS-to-CS-Session-Continuity"], + ["Reporting-Level"], + ["Online"], + ["Offline"], + ["Metering-Method"], + ["Precedence"], + ["AF-Charging-Identifier"], + {'*', ["Flows"]}, + ["Monitoring-Key"], + ["Redirect-Information"], + ["Mute-Notification"], + ["AF-Signalling-Protocol"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Install", + 1001, + [], + [{'*', ["Charging-Rule-Definition"]}, + {'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["Rule-Activation-Time"], + ["Rule-Deactivation-Time"], + ["Resource-Allocation-Notification"], + ["Charging-Correlation-Indicator"], + {'*', ["AVP"]}]}, + {"Charging-Rule-Remove", + 1002, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Report", + 1018, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["PCC-Rule-Status"], + ["Rule-Failure-Code"], + ["Final-Unit-Indication"], + {'*', ["RAN-NAS-Release-Cause"]}, + {'*', ["AVP"]}]}, + {"CoA-Information", + 1039, + [], + [{"Tunnel-Information"}, + {"CoA-IP-Address"}, + {'*', ["AVP"]}]}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + [], + [["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["IP-CAN-Type"]}, + {'*', ["RAT-Type"]}, + {'*', ["AVP"]}]}, + {"Default-EPS-Bearer-QoS", + 1049, + [], + [["QoS-Class-Identifier"], + ["Allocation-Retention-Priority"], + {'*', ["AVP"]}]}, + {"Default-QoS-Information", + 2816, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Default-QoS-Name"], + {'*', ["AVP"]}]}, + {"Event-Report-Indication", + 1033, + [], + [{'*', ["Event-Trigger"]}, + ["IP-CAN-Type"], + {{0, 2}, ["AN-GW-Address"]}, + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["3GPP-SGSN-MCC-MNC"], + ["Framed-IP-Address"], + ["RAT-Type"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["3GPP-MS-TimeZone"], + ["Routing-IP-Address"], + ["UE-Local-IP-Address"], + ["HeNB-Local-IP-Address"], + ["UDP-Source-Port"], + ["Presence-Reporting-Area-Information"], + {'*', ["AVP"]}]}, + {"Fixed-User-Location-Info", + 2825, + [], + [["Logical-Access-ID"], + ["Physical-Access-ID"], + {'*', ["AVP"]}]}, + {"Flow-Information", + 1058, + [], + [["Flow-Description"], + ["Packet-Filter-Identifier"], + ["Packet-Filter-Usage"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Packet-Filter-Information", + 1061, + [], + [["Packet-Filter-Identifier"], + ["Precedence"], + ["Packet-Filter-Content"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Presence-Reporting-Area-Information", + 2822, + [], + [["Presence-Reporting-Area-Identifier"], + ["Presence-Reporting-Area-Status"], + ["Presence-Reporting-Area-Elements-List"], + {'*', ["AVP"]}]}, + {"QoS-Information", + 1016, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Guaranteed-Bitrate-UL"], + ["Guaranteed-Bitrate-DL"], + ["Bearer-Identifier"], + ["Allocation-Retention-Priority"], + ["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["Conditional-APN-Aggregate-Max-Bitrate"]}, + {'*', ["AVP"]}]}, + {"Redirect-Information", + 1085, + [], + [["Redirect-Support"], + ["Redirect-Address-Type"], + ["Redirect-Server-Address"], + {'*', ["AVP"]}]}, + {"Routing-Filter", + 1078, + [], + [{"Flow-Description"}, + {"Flow-Direction"}, + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Definition", + 1076, + [], + [{"Routing-Rule-Identifier"}, + {'*', ["Routing-Filter"]}, + ["Precedence"], + ["Routing-IP-Address"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Install", + 1081, + [], + [{'*', ["Routing-Rule-Definition"]}, {'*', ["AVP"]}]}, + {"Routing-Rule-Remove", + 1075, + [], + [{'*', ["Routing-Rule-Identifier"]}, {'*', ["AVP"]}]}, + {"TDF-Information", + 1087, + [], + [["TDF-Destination-Realm"], + ["TDF-Destination-Host"], + ["TDF-IP-Address"]]}, + {"Tunnel-Information", + 1038, + [], + [["Tunnel-Header-Length"], + {{0, 2}, ["Tunnel-Header-Filter"]}, + {'*', ["AVP"]}]}, + {"TFT-Packet-Filter-Information", + 1013, + [], + [["Precedence"], + ["TFT-Filter"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Usage-Monitoring-Information", + 1067, + [], + [["Monitoring-Key"], + {{0, 2}, ["Granted-Service-Unit"]}, + {{0, 2}, ["Used-Service-Unit"]}, + ["Usage-Monitoring-Level"], + ["Usage-Monitoring-Report"], + ["Usage-Monitoring-Support"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_272, + [{"Subscription-Data", + 1400, + [10415], + [["Subscriber-Status"], + ["MSISDN"], + ["A-MSISDN"], + ["STN-SR"], + ["ICS-Indicator"], + ["Network-Access-Mode"], + ["Operator-Determined-Barring"], + ["HPLMN-ODB"], + {{0, 10}, ["Regional-Subscription-Zone-Code"]}, + ["Access-Restriction-Data"], + ["APN-OI-Replacement"], + ["LCS-Info"], + ["Teleservice-List"], + {'*', ["Call-Barring-Info"]}, + ["3GPP-Charging-Characteristics"], + ["AMBR"], + ["APN-Configuration-Profile"], + ["RAT-Frequency-Selection-Priority-ID"], + ["Trace-Data"], + ["GPRS-Subscription-Data"], + {'*', ["CSG-Subscription-Data"]}, + ["Roaming-Restricted-Due-To-Unsupported-Feature"], + ["Subscribed-Periodic-RAU-TAU-Timer"], + ["MPS-Priority"], + ["VPLMN-LIPA-Allowed"], + ["Relay-Node-Indicator"], + ["MDT-User-Consent"], + ["Subscribed-VSRVCC"], + ["Subscription-Data-Flags"], + {'*', ["AVP"]}]}, + {"Terminal-Information", + 1401, + [10415], + [["IMEI"], + ["3GPP2-MEID"], + ["Software-Version"], + {'*', ["AVP"]}]}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Authentication-Info", + 1413, + [10415], + [{'*', ["E-UTRAN-Vector"]}, + {'*', ["UTRAN-Vector"]}, + {'*', ["GERAN-Vector"]}, + {'*', ["AVP"]}]}, + {"E-UTRAN-Vector", + 1414, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"KASME"}, + {'*', ["AVP"]}]}, + {"UTRAN-Vector", + 1415, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"Confidentiality-Key"}, + {"Integrity-Key"}, + {'*', ["AVP"]}]}, + {"GERAN-Vector", + 1416, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"SRES"}, + {"Kc"}, + {'*', ["AVP"]}]}, + {"APN-Configuration-Profile", + 1429, + [10415], + [{"Context-Identifier"}, + {"All-APN-Configurations-Included-Indicator"}, + {'*', {"APN-Configuration"}}, + {'*', ["AVP"]}]}, + {"APN-Configuration", + 1430, + [10415], + [{"Context-Identifier"}, + {"PDN-Type"}, + {"Service-Selection"}, + {{0, 2}, ["Served-Party-IP-Address"]}, + ["EPS-Subscribed-QoS-Profile"], + ["VPLMN-Dynamic-Address-Allowed"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + ["PDN-GW-Allocation-Type"], + ["3GPP-Charging-Characteristics"], + ["AMBR"], + {'*', ["Specific-APN-Info"]}, + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"EPS-Subscribed-QoS-Profile", + 1431, + [10415], + [{"QoS-Class-Identifier"}, + {"Allocation-Retention-Priority"}, + {'*', ["AVP"]}]}, + {"AMBR", + 1435, + [10415], + [{"Max-Requested-Bandwidth-UL"}, + {"Max-Requested-Bandwidth-DL"}, + {'*', ["AVP"]}]}, + {"Trace-Data", + 1458, + [10415], + [{"Trace-Reference"}, + {"Trace-Depth"}, + {"Trace-NE-Type-List"}, + {"Trace-Event-List"}, + {"Trace-Collection-Entity"}, + ["Trace-Interface-List"], + ["OMC-Id"], + ["MDT-Configuration"], + {'*', ["AVP"]}]}, + {"GPRS-Subscription-Data", + 1467, + [10415], + [{"Complete-Data-List-Included-Indicator"}, + {{1, 50}, {"PDP-Context"}}, + {'*', ["AVP"]}]}, + {"PDP-Context", + 1469, + [10415], + [{"Context-Identifier"}, + {"PDP-Type"}, + {"QoS-Subscribed"}, + {"Service-Selection"}, + ["PDP-Address"], + ["VPLMN-Dynamic-Address-Allowed"], + ["3GPP-Charging-Characteristics"], + ["Ext-PDP-Type"], + ["Ext-PDP-Address"], + ["AMBR"], + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"CSG-Subscription-Data", + 1436, + [10415], + [{"CSG-Id"}, + ["Expiration-Date"], + {'*', ["Service-Selection"]}, + ["Visited-PLMN-Id"], + {'*', ["AVP"]}]}, + {"Specific-APN-Info", + 1472, + [10415], + [{"Service-Selection"}, + {"MIP6-Agent-Info"}, + ["Visited-Network-Identifier"], + {'*', ["AVP"]}]}, + {"LCS-Info", + 1473, + [10415], + [{'*', ["GMLC-Number"]}, + {'*', ["LCS-PrivacyException"]}, + {'*', ["MO-LR"]}, + {'*', ["AVP"]}]}, + {"LCS-PrivacyException", + 1475, + [10415], + [{"SS-Code"}, + {"SS-Status"}, + ["Notification-To-UE-User"], + {'*', ["External-Client"]}, + {'*', ["PLMN-Client"]}, + {'*', ["Service-Type"]}, + {'*', ["AVP"]}]}, + {"External-Client", + 1479, + [10415], + [{"Client-Identity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"Service-Type", + 1483, + [10415], + [{"ServiceTypeIdentity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"MO-LR", + 1485, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"Teleservice-List", + 1486, + [10415], + [{'*', {"TS-Code"}}, {'*', ["AVP"]}]}, + {"Call-Barring-Info", + 1488, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"EPS-User-State", + 1495, + [10415], + [["MME-User-State"], + ["SGSN-User-State"], + {'*', ["AVP"]}]}, + {"EPS-Location-Information", + 1496, + [10415], + [["MME-Location-Information"], + ["SGSN-Location-Information"], + {'*', ["AVP"]}]}, + {"MME-User-State", + 1497, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"SGSN-User-State", + 1498, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"MME-Location-Information", + 1600, + [10415], + [["E-UTRAN-Cell-Global-Identity"], + ["Tracking-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"SGSN-Location-Information", + 1601, + [10415], + [["Cell-Global-Identity"], + ["Location-Area-Identity"], + ["Service-Area-Identity"], + ["Routing-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"Active-APN", + 1612, + [10415], + [{"Context-Identifier"}, + ["Service-Selection"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + {'*', ["Specific-APN-Info"]}, + {'*', ["AVP"]}]}, + {"MDT-Configuration", + 1622, + [10415], + [{"Job-Type"}, + ["Area-Scope"], + ["List-Of-Measurements"], + ["Reporting-Trigger"], + ["Report-Interval"], + ["Report-Amount"], + ["Event-Threshold-RSRP"], + ["Event-Threshold-RSRQ"], + ["Logging-Interval"], + ["Logging-Duration"], + ["Measurement-Period-LTE"], + ["Measurement-Period-UMTS"], + ["Positioning-Method"], + ["Measurement-Quantity"], + ["Event-Threshold-Event-1F"], + ["Event-Threshold-Event-1I"], + {'*', ["AVP"]}]}, + {"Area-Scope", + 1624, + [10415], + [{'*', ["Cell-Global-Identity"]}, + {'*', ["E-UTRAN-Cell-Global-Identity"]}, + {'*', ["Routing-Area-Identity"]}, + {'*', ["Location-Area-Identity"]}, + {'*', ["Tracking-Area-Identity"]}, + {'*', ["AVP"]}]}, + {"Equivalent-PLMN-List", + 1637, + [10415], + [{'*', {"Visited-PLMN-Id"}}, {'*', ["AVP"]}]}, + {"VPLMN-CSG-Subscription-Data", + 1641, + [10415], + [{"CSG-Id"}, ["Expiration-Date"], {'*', ["AVP"]}]}, + {"Local-Time-Zone", + 1649, + [10415], + [{"Time-Zone"}, + {"Daylight-Saving-Time"}, + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts32_299, + [{"Access-Network-Info-Change", + 4401, + [], + [{'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Change-Time"]]}, + {"Access-Transfer-Information", + 2709, + [], + [["Access-Transfer-Type"], + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Inter-UE-Transfer"], + ["User-Equipment-Info"], + ["Instance-Id"], + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Change-Time"]]}, + {"Accumulated-Cost", + 2052, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Additional-Content-Information", + 1207, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"]]}, + {"Address-Domain", + 898, + [], + [["Domain-Name"], ["3GPP-IMSI-MCC-MNC"]]}, + {"AF-Correlation-Information", + 1276, + [], + [{"AF-Charging-Identifier"}, {'*', ["Flows"]}]}, + {"Announcement-Information", + 3904, + [], + [{"Announcement-Identifier"}, + {'*', ["Variable-Part"]}, + ["Time-Indicator"], + ["Quota-Indicator"], + ["Announcement-Order"], + ["Play-Alternative"], + ["Privacy-Indicator"], + ["Language"]]}, + {"AoC-Cost-Information", + 2053, + [], + [["Accumulated-Cost"], + {'*', ["Incremental-Cost"]}, + ["Currency-Code"]]}, + {"AoC-Information", + 2054, + [], + [["AoC-Cost-Information"], + ["Tariff-Information"], + ["AoC-Subscription-Information"]]}, + {"AoC-Service", + 2311, + [], + [["AoC-Service-Obligatory-Type"], + ["AoC-Service-Type"]]}, + {"AoC-Subscription-Information", + 2314, + [], + [{'*', ["AoC-Service"]}, + ["AoC-Format"], + ["Preferred-AoC-Currency"]]}, + {"APN-Rate-Control", + 3933, + [], + [["APN-Rate-Control-Uplink"], + ["APN-Rate-Control-Downlink"]]}, + {"APN-Rate-Control-Downlink", + 3934, + [], + [["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"], + ["Rate-Control-Max-Message-Size"]]}, + {"APN-Rate-Control-Uplink", + 3935, + [], + [["Additional-Exception-Reports"], + ["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"]]}, + {"Application-Server-Information", + 850, + [], + [["Application-Server"], + {'*', ["Application-Provided-Called-Party-Address"]}, + ["Status-AS-Code"]]}, + {"Basic-Service-Code", + 3411, + [], + [["Bearer-Service"], ["Teleservice"]]}, + {"Called-Identity-Change", + 3917, + [], + [["Called-Identity"], ["Change-Time"]]}, + {"Coverage-Info", + 3459, + [], + [["Coverage-Status"], + ["Change-Time"], + {'*', ["Location-Info"]}]}, + {"CPDT-Information", + 3927, + [], + [["Serving-Node-Identity"], + ["SGW-Change"], + ["NIDD-Submission"]]}, + {"Current-Tariff", + 2056, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"Destination-Interface", + 2002, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Early-Media-Description", + 1272, + [], + [["SDP-TimeStamps"], + {'*', ["SDP-Media-Component"]}, + {'*', ["SDP-Session-Description"]}]}, + {"Enhanced-Diagnostics", + 3901, + [], + [{'*', ["RAN-NAS-Release-Cause"]}]}, + {"Envelope", + 1266, + [], + [{"Envelope-Start-Time"}, + ["Envelope-End-Time"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"]]}, + {"Event-Type", + 823, + [], + [["SIP-Method"], ["Event"], ["Expires"]]}, + {"Incremental-Cost", + 2062, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"IMS-Information", + 876, + [], + [{"Node-Functionality"}, + ["Event-Type"], + ["Role-Of-Node"], + ["User-Session-Id"], + ["Outgoing-Session-Id"], + ["Session-Priority"], + {'*', ["Calling-Party-Address"]}, + ["Called-Party-Address"], + {'*', ["Called-Asserted-Identity"]}, + ["Called-Identity-Change"], + ["Number-Portability-Routing-Information"], + ["Carrier-Select-Routing-Information"], + ["Alternate-Charged-Party-Address"], + {'*', ["Requested-Party-Address"]}, + {'*', ["Associated-URI"]}, + ["Time-Stamps"], + {'*', ["Application-Server-Information"]}, + {'*', ["Inter-Operator-Identifier"]}, + {'*', ["Transit-IOI-List"]}, + ["IMS-Charging-Identifier"], + {'*', ["SDP-Session-Description"]}, + {'*', ["SDP-Media-Component"]}, + ["Served-Party-IP-Address"], + ["Trunk-Group-Id"], + ["Bearer-Service"], + ["Service-Id"], + {'*', ["Service-Specific-Info"]}, + {'*', ["Message-Body"]}, + ["Cause-Code"], + {'*', ["Reason-Header"]}, + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + {'*', ["Early-Media-Description"]}, + ["IMS-Communication-Service-Identifier"], + ["IMS-Application-Reference-Identifier"], + ["Online-Charging-Flag"], + ["Real-Time-Tariff-Information"], + ["Account-Expiration"], + ["Initial-IMS-Charging-Identifier"], + {'*', ["NNI-Information"]}, + ["From-Address"], + ["IMS-Emergency-Indicator"], + ["IMS-Visited-Network-Identifier"], + {'*', ["Access-Network-Info-Change"]}, + {'*', ["Access-Transfer-Information"]}, + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Route-Header-Received"], + ["Route-Header-Transmitted"], + ["Instance-Id"], + ["TAD-Identifier"], + ["FE-Identifier-List"]]}, + {"Inter-Operator-Identifier", + 838, + [], + [["Originating-IOI"], ["Terminating-IOI"]]}, + {"ISUP-Cause", + 3416, + [], + [["ISUP-Cause-Location"], + ["ISUP-Cause-Value"], + ["ISUP-Cause-Diagnostics"]]}, + {"LCS-Client-ID", + 1232, + [], + [["LCS-Client-Type"], + ["LCS-Client-External-ID"], + ["LCS-Client-Dialed-By-MS"], + ["LCS-Client-Name"], + ["LCS-APN"], + ["LCS-Requestor-ID"]]}, + {"LCS-Client-Name", + 1235, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Name-String"], + ["LCS-Format-Indicator"]]}, + {"LCS-Information", + 878, + [], + [["LCS-Client-ID"], + ["Location-Type"], + ["Location-Estimate"], + ["Positioning-Data"], + ["3GPP-IMSI"], + ["MSISDN"]]}, + {"LCS-Requestor-ID", + 1239, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Requestor-ID-String"]]}, + {"Location-Info", + 3460, + [], + [["3GPP-User-Location-Info"], ["Change-Time"]]}, + {"Location-Type", + 1244, + [], + [["Location-Estimate-Type"], + ["Deferred-Location-Event-Type"]]}, + {"MBMS-Information", + 880, + [], + [["TMGI"], + ["MBMS-User-Service-Type"], + ["File-Repair-Supported"], + ["MBMS-2G-3G-Indicator"], + {'*', ["MBMS-Service-Area"]}, + ["MBMS-Session-Identity"], + ["CN-IP-Multicast-Distribution"], + ["MBMS-GW-Address"], + ["MBMS-Charged-Party"], + {'*', ["MSISDN"]}]}, + {"Message-Body", + 889, + [], + [{"Content-Type"}, + {"Content-Length"}, + ["Content-Disposition"], + ["Originator"]]}, + {"Message-Class", + 1213, + [], + [["Class-Identifier"], ["Token-Text"]]}, + {"MM-Content-Type", + 1203, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"], + {'*', ["Additional-Content-Information"]}]}, + {"MMS-Information", + 877, + [], + [["Originator-Address"], + {'*', ["Recipient-Address"]}, + ["Submission-Time"], + ["MM-Content-Type"], + ["Priority"], + ["Message-ID"], + ["Message-Type"], + ["Message-Size"], + ["Message-Class"], + ["Delivery-Report-Requested"], + ["Read-Reply-Report-Requested"], + ["MMBox-Storage-Requested"], + ["Applic-ID"], + ["Reply-Applic-ID"], + ["Aux-Applic-Info"], + ["Content-Class"], + ["DRM-Content"], + ["Adaptations"]]}, + {"MMTel-Information", + 2030, + [], + [{'*', ["Supplementary-Service"]}]}, + {"Monitoring-Event-Information", + 3921, + [], + [["Monitoring-Event-Functionality"], + ["Event-Timestamp"], + ["Monitoring-Event-Configuration-Activity"], + ["Charged-Party"], + {'*', ["Monitoring-Event-Report-Data"]}]}, + {"Monitoring-Event-Report-Data", + 3920, + [], + [["Event-Timestamp"], + ["Monitoring-Event-Report-Number"], + ["Charged-Party"], + ["Subscription-Id"]]}, + {"Next-Tariff", + 2057, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"NIDD-Submission", + 3928, + [], + [["Submission-Time"], + ["Event-Timestamp"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"]]}, + {"NNI-Information", + 2703, + [], + [["Session-Direction"], + ["NNI-Type"], + ["Relationship-Mode"], + ["Neighbour-Node-Address"]]}, + {"Offline-Charging", + 1278, + [], + [["Quota-Consumption-Time"], + ["Time-Quota-Mechanism"], + ["Envelope-Reporting"], + {'*', ["Multiple-Services-Credit-Control"]}, + {'*', ["AVP"]}]}, + {"Originator-Address", + 886, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Originator-Interface", + 2009, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Originator-Received-Address", + 2027, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Participant-Group", + 1260, + [], + [["Called-Party-Address"], + ["Participant-Access-Priority"], + ["User-Participating-Type"]]}, + {"PoC-Information", + 879, + [], + [["PoC-Server-Role"], + ["PoC-Session-Type"], + ["PoC-User-Role"], + ["PoC-Session-Initiation-Type"], + ["PoC-Event-Type"], + ["Number-Of-Participants"], + {'*', ["Participants-Involved"]}, + {'*', ["Participant-Group"]}, + {'*', ["Talk-Burst-Exchange"]}, + ["PoC-Controlling-Address"], + ["PoC-Group-Name"], + ["PoC-Session-Id"], + ["Charged-Party"]]}, + {"PoC-User-Role", + 1252, + [], + [["PoC-User-Role-IDs"], ["PoC-User-Role-Info-Units"]]}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Input-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Output-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Information", + 3447, + [], + [["Announcing-UE-HPLMN-Identifier"], + ["Announcing-UE-VPLMN-Identifier"], + ["Monitoring-UE-HPLMN-Identifier"], + ["Monitoring-UE-VPLMN-Identifier"], + ["Role-Of-ProSe-Function"], + ["ProSe-3rd-Party-Application-ID"], + ["Application-Specific-Data"], + ["ProSe-Event-Type"], + ["ProSe-Direct-Discovery-Model"], + ["ProSe-Function-IP-Address"], + ["ProSe-Role-Of-UE"], + ["ProSe-Request-Timestamp"], + ["PC3-Control-Protocol-Cause"], + ["Monitoring-UE-Identifier"], + ["Requestor-PLMN-Identifier"], + ["Requested-PLMN-Identifier"], + ["ProSe-Range-Class"], + ["Proximity-Alert-Indication"], + ["Proximity-Alert-Timestamp"], + ["Proximity-Cancellation-Timestamp"], + ["ProSe-Reason-For-Cancellation"], + ["PC3-EPC-Control-Protocol-Cause"], + ["ProSe-UE-ID"], + ["ProSe-Source-IP-Address"], + ["Layer-2-Group-ID"], + ["ProSe-Group-IP-Multicast-Address"], + {'*', ["Coverage-Info"]}, + {'*', ["Radio-Parameter-Set-Info"]}, + {'*', ["Transmitter-Info"]}, + ["Time-First-Transmission"], + ["Time-First-Reception"], + {'*', + ["ProSe-Direct-Communication-Transmission-Data-" + "Container"]}, + {'*', + ["ProSe-Direct-Communication-Reception-Data-Con" + "tainer"]}, + ["Announcing-PLMN-ID"], + ["ProSe-Target-Layer-2-ID"], + ["Relay-IP-address"], + ["ProSe-UE-to-Network-Relay-UE-ID"], + ["Target-IP-Address"], + ["PC5-Radio-Technology"]]}, + {"PS-Furnish-Charging-Information", + 865, + [], + [{"3GPP-Charging-Id"}, + {"PS-Free-Format-Data"}, + ["PS-Append-Free-Format-Data"]]}, + {"PS-Information", + 874, + [], + [["3GPP-Charging-Id"], + ["PDN-Connection-Charging-ID"], + ["Node-Id"], + ["3GPP-PDP-Type"], + {'*', ["PDP-Address"]}, + ["PDP-Address-Prefix-Length"], + ["Dynamic-Address-Flag"], + ["Dynamic-Address-Flag-Extension"], + ["QoS-Information"], + {'*', ["SGSN-Address"]}, + {'*', ["GGSN-Address"]}, + {'*', ["TDF-IP-Address"]}, + {'*', ["SGW-Address"]}, + {'*', ["TWAG-Address"]}, + ["CG-Address"], + ["Serving-Node-Type"], + ["SGW-Change"], + ["3GPP-IMSI-MCC-MNC"], + ["IMSI-Unauthenticated-Flag"], + ["3GPP-GGSN-MCC-MNC"], + ["3GPP-NSAPI"], + ["Called-Station-Id"], + ["3GPP-Session-Stop-Indicator"], + ["3GPP-Selection-Mode"], + ["3GPP-Charging-Characteristics"], + ["Charging-Characteristics-Selection-Mode"], + ["3GPP-SGSN-MCC-MNC"], + ["3GPP-MS-TimeZone"], + ["Charging-Rule-Base-Name"], + ["3GPP-User-Location-Info"], + ["User-Location-Info-Time"], + ["User-CSG-Information"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["TWAN-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-RAT-Type"], + ["PS-Furnish-Charging-Information"], + ["PDP-Context-Type"], + ["Offline-Charging"], + {'*', ["Traffic-Data-Volumes"]}, + {'*', ["Service-Data-Container"]}, + ["User-Equipment-Info"], + ["Start-Time"], + ["Stop-Time"], + ["Change-Condition"], + ["Diagnostics"], + ["Low-Priority-Indicator"], + ["Logical-Access-ID"], + ["Physical-Access-ID"], + ["Fixed-User-Location-Info"], + ["CN-Operator-Selection-Entity"], + ["Enhanced-Diagnostics"], + ["SGi-PtP-Tunnelling-Method"], + ["CP-CIoT-EPS-Optimisation-Indicator"], + ["UNI-PDU-CP-Only-Flag"], + ["APN-Rate-Control"], + ["Charging-Per-IP-CAN-Session-Indicator"], + ["3GPP-PS-Data-Off-Status"], + ["SCS-AS-Address"], + ["Unused-Quota-Timer"], + {'*', ["RAN-Secondary-RAT-Usage-Report"]}, + {'*', ["AVP"]}]}, + {"Radio-Parameter-Set-Info", + 3463, + [], + [["Radio-Parameter-Set-Values"], ["Change-Time"]]}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + [], + [["Secondary-RAT-Type"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"]]}, + {"Rate-Element", + 2058, + [], + [{"CC-Unit-Type"}, + ["Charge-Reason-Code"], + ["Unit-Value"], + ["Unit-Cost"], + ["Unit-Quota-Threshold"]]}, + {"Real-Time-Tariff-Information", + 2305, + [], + [["Tariff-Information"], ["Tariff-XML"]]}, + {"Recipient-Address", + 1201, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"], + ["Addressee-Type"]]}, + {"Recipient-Info", + 2026, + [], + [["Destination-Interface"], + {'*', ["Recipient-Address"]}, + {'*', ["Recipient-Received-Address"]}, + ["Recipient-SCCP-Address"], + ["SM-Protocol-ID"]]}, + {"Recipient-Received-Address", + 2028, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Related-Change-Condition-Information", + 3925, + [], + [["SGSN-Address"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"]]}, + {"Related-Trigger", + 3926, + [], + [{'*', ["Trigger-Type"]}]}, + {"Remaining-Balance", + 2021, + [], + [{"Unit-Value"}, {"Currency-Code"}]}, + {"Scale-Factor", + 2059, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"SCS-AS-Address", + 3940, + [], + [["SCS-Realm"], ["SCS-Address"]]}, + {"SDP-Media-Component", + 843, + [], + [["SDP-Media-Name"], + {'*', ["SDP-Media-Description"]}, + ["Local-GW-Inserted-Indication"], + ["IP-Realm-Default-Indication"], + ["Transcoder-Inserted-Indication"], + ["Media-Initiator-Flag"], + ["Media-Initiator-Party"], + ["3GPP-Charging-Id"], + ["Access-Network-Charging-Identifier-Value"], + ["SDP-Type"]]}, + {"SDP-TimeStamps", + 1273, + [], + [["SDP-Offer-Timestamp"], ["SDP-Answer-Timestamp"]]}, + {"Service-Data-Container", + 2040, + [], + [["AF-Correlation-Information"], + ["Charging-Rule-Base-Name"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Local-Sequence-Number"], + ["QoS-Information"], + ["Rating-Group"], + ["Change-Time"], + ["Service-Identifier"], + ["Service-Specific-Info"], + ["SGSN-Address"], + ["Time-First-Usage"], + ["Time-Last-Usage"], + ["Time-Usage"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["APN-Rate-Control"], + ["3GPP-PS-Data-Off-Status"]]}, + {"Service-Information", + 873, + [], + [{'*', ["Subscription-Id"]}, + ["AoC-Information"], + ["PS-Information"], + ["IMS-Information"], + ["MMS-Information"], + ["LCS-Information"], + ["PoC-Information"], + ["MBMS-Information"], + ["SMS-Information"], + ["VCS-Information"], + ["MMTel-Information"], + ["ProSe-Information"], + ["CPDT-Information"]]}, + {"Service-Specific-Info", + 1249, + [], + [["Service-Specific-Data"], ["Service-Specific-Type"]]}, + {"SM-Device-Trigger-Information", + 3405, + [], + [["MTC-IWF-Address"], ["Validity-Time"]]}, + {"SMS-Information", + 2000, + [], + [["SMS-Node"], + ["Client-Address"], + ["Originator-SCCP-Address"], + ["SMSC-Address"], + ["Data-Coding-Scheme"], + ["SM-Discharge-Time"], + ["SM-Message-Type"], + ["Originator-Interface"], + ["SM-Protocol-ID"], + ["Reply-Path-Requested"], + ["SM-Status"], + ["SM-User-Data-Header"], + ["Number-Of-Messages-Sent"], + ["SM-Sequence-Number"], + {'*', ["Recipient-Info"]}, + ["Originator-Received-Address"], + ["SM-Service-Type"], + ["SMS-Result"], + ["SM-Device-Trigger-Indicator"], + ["SM-Device-Trigger-Information"], + ["MTC-IWF-Address"]]}, + {"Supplementary-Service", + 2048, + [], + [["MMTel-SService-Type"], + ["Service-Mode"], + ["Number-Of-Diversions"], + ["Associated-Party-Address"], + ["Service-Id"], + ["Change-Time"], + ["Number-Of-Participants"], + ["Participant-Action-Type"], + ["CUG-Information"], + ["AoC-Information"]]}, + {"Talk-Burst-Exchange", + 1255, + [], + [{"PoC-Change-Time"}, + ["Number-Of-Talk-Bursts"], + ["Talk-Burst-Volume"], + ["Talk-Burst-Time"], + ["Number-Of-Received-Talk-Bursts"], + ["Received-Talk-Burst-Volume"], + ["Received-Talk-Burst-Time"], + ["Number-Of-Participants"], + ["PoC-Change-Condition"]]}, + {"Tariff-Information", + 2060, + [], + [{"Current-Tariff"}, + ["Tariff-Time-Change"], + ["Next-Tariff"]]}, + {"Time-Quota-Mechanism", + 1270, + [], + [{"Time-Quota-Type"}, {"Base-Time-Interval"}]}, + {"Time-Stamps", + 833, + [], + [["SIP-Request-Timestamp"], + ["SIP-Response-Timestamp"], + ["SIP-Request-Timestamp-Fraction"], + ["SIP-Response-Timestamp-Fraction"]]}, + {"Traffic-Data-Volumes", + 2046, + [], + [["QoS-Information"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"], + ["Change-Time"], + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-Charging-Id"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["Diagnostics"], + ["Enhanced-Diagnostics"], + ["CP-CIoT-EPS-Optimisation-Indicator"]]}, + {"Transmitter-Info", + 3468, + [], + [["ProSe-Source-IP-Address"], ["ProSe-UE-ID"]]}, + {"Trigger", 1264, [], [{'*', ["Trigger-Type"]}]}, + {"Trunk-Group-Id", + 851, + [], + [["Incoming-Trunk-Group-Id"], + ["Outgoing-Trunk-Group-Id"]]}, + {"TWAN-User-Location-Info", 2714, [], [["BSSID"]]}, + {"Unit-Cost", + 2061, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"User-CSG-Information", + 2319, + [], + [{"CSG-Access-Mode"}, ["CSG-Membership-Indication"]]}, + {"UWAN-User-Location-Info", + 3918, + [], + [{"UE-Local-IP-Address"}, + ["UDP-Source-Port"], + ["BSSID"]]}, + {"Variable-Part", + 3907, + [], + [{"Variable-Part-Type"}, + {"Variable-Part-Value"}, + ["Variable-Part-Order"]]}, + {"VCS-Information", + 3410, + [], + [["Bearer-Capability"], + ["Network-Call-Reference-Number"], + ["MSC-Address"], + ["Basic-Service-Code"], + ["ISUP-Location-Number"], + ["VLR-Number"], + ["Forwarding-Pending"], + ["ISUP-Cause"], + ["Start-Time"], + ["Start-of-Charging"], + ["Stop-Time"], + ["PS-Free-Format-Data"]]}]}, + {diameter_rfc4006_cc, + [{"Cost-Information", + 423, + [], + [{"Unit-Value"}, {"Currency-Code"}, ["Cost-Unit"]]}, + {"Unit-Value", + 445, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Multiple-Services-Credit-Control", + 456, + [], + [["Granted-Service-Unit"], + ["Requested-Service-Unit"], + {'*', ["Used-Service-Unit"]}, + ["Tariff-Change-Usage"], + {'*', ["Service-Identifier"]}, + ["Rating-Group"], + {'*', ["G-S-U-Pool-Reference"]}, + ["Validity-Time"], + ["Result-Code"], + ["Final-Unit-Indication"], + {'*', ["AVP"]}]}, + {"Granted-Service-Unit", + 431, + [], + [["Tariff-Time-Change"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Requested-Service-Unit", + 437, + [], + [["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Used-Service-Unit", + 446, + [], + [["Tariff-Change-Usage"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"CC-Money", + 413, + [], + [{"Unit-Value"}, ["Currency-Code"]]}, + {"G-S-U-Pool-Reference", + 457, + [], + [{"G-S-U-Pool-Identifier"}, + {"CC-Unit-Type"}, + {"Unit-Value"}]}, + {"Final-Unit-Indication", + 430, + [], + [{"Final-Unit-Action"}, + {'*', ["Restriction-Filter-Rule"]}, + {'*', ["Filter-Id"]}, + ["Redirect-Server"]]}, + {"Redirect-Server", + 434, + [], + [{"Redirect-Address-Type"}, + {"Redirect-Server-Address"}]}, + {"Service-Parameter-Info", + 440, + [], + [{"Service-Parameter-Type"}, + {"Service-Parameter-Value"}]}, + {"Subscription-Id", + 443, + [], + [{"Subscription-Id-Type"}, {"Subscription-Id-Data"}]}, + {"User-Equipment-Info", + 458, + [], + [{"User-Equipment-Info-Type"}, + {"User-Equipment-Info-Value"}]}]}, + {diameter_rfc7683, + [{"OC-Supported-Features", + 621, + [], + [["OC-Feature-Vector"], {'*', ["AVP"]}]}, + {"OC-OLR", + 623, + [], + [{{"OC-Sequence-Number"}}, + {{"OC-Report-Type"}}, + ["OC-Reduction-Percentage"], + ["OC-Validity-Duration"], + {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_rfc7944", []}, + {"diameter_rfc7683", []}, + {"diameter_rfc5778", []}, + {"diameter_rfc5580", []}, + {"diameter_rfc4006_cc", []}, + {"diameter_etsi_es283_034", []}, + {"diameter_3gpp_ts32_299", []}, + {"diameter_3gpp_ts29_272", []}, + {"diameter_3gpp_ts29_212", []}, + {"diameter_3gpp_break_circles", []}, + {"diameter_3gpp_base", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_3gpp_ts29_273"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_273_s6b.erl b/src/diameter_3gpp_ts29_273_s6b.erl new file mode 100644 index 0000000..e56912c --- /dev/null +++ b/src/diameter_3gpp_ts29_273_s6b.erl @@ -0,0 +1,20624 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_273_s6b). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['AAR', + 'AAA', + 'STR', + 'STA', + 'ASR', + 'ASA', + 'RAR', + 'RAA', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id', + 'Emergency-Info', + 'Access-Network-Charging-Identifier-Gx', + 'Allocation-Retention-Priority', + 'Application-Detection-Information', + 'Charging-Rule-Definition', + 'Charging-Rule-Install', + 'Charging-Rule-Remove', + 'Charging-Rule-Report', + 'CoA-Information', + 'Conditional-APN-Aggregate-Max-Bitrate', + 'Default-EPS-Bearer-QoS', + 'Default-QoS-Information', + 'Event-Report-Indication', + 'Fixed-User-Location-Info', + 'Flow-Information', + 'Packet-Filter-Information', + 'Presence-Reporting-Area-Information', + 'QoS-Information', + 'Redirect-Information', + 'Routing-Filter', + 'Routing-Rule-Definition', + 'Routing-Rule-Install', + 'Routing-Rule-Remove', + 'TDF-Information', + 'Tunnel-Information', + 'TFT-Packet-Filter-Information', + 'Usage-Monitoring-Information', + 'Flows', + 'Charging-Information', + 'Supported-Features', + 'Supported-Applications', + 'SIP-Auth-Data-Item', + 'Deregistration-Reason', + 'SIP-Digest-Authenticate', + 'Subscription-Data', + 'Terminal-Information', + 'Requested-EUTRAN-Authentication-Info', + 'Requested-UTRAN-GERAN-Authentication-Info', + 'Authentication-Info', + 'E-UTRAN-Vector', + 'UTRAN-Vector', + 'GERAN-Vector', + 'APN-Configuration-Profile', + 'APN-Configuration', + 'EPS-Subscribed-QoS-Profile', + 'AMBR', + 'Trace-Data', + 'GPRS-Subscription-Data', + 'PDP-Context', + 'CSG-Subscription-Data', + 'Specific-APN-Info', + 'LCS-Info', + 'LCS-PrivacyException', + 'External-Client', + 'Service-Type', + 'MO-LR', + 'Teleservice-List', + 'Call-Barring-Info', + 'EPS-User-State', + 'EPS-Location-Information', + 'MME-User-State', + 'SGSN-User-State', + 'MME-Location-Information', + 'SGSN-Location-Information', + 'Active-APN', + 'MDT-Configuration', + 'Area-Scope', + 'Equivalent-PLMN-List', + 'VPLMN-CSG-Subscription-Data', + 'Local-Time-Zone', + 'WLAN-Identifier', + 'Access-Network-Info', + 'TWAN-Connectivity-Parameters', + 'Non-3GPP-User-Data', + 'Trace-Info', + 'TWAN-Access-Info', + 'Access-Network-Info-Change', + 'Access-Transfer-Information', + 'Accumulated-Cost', + 'Additional-Content-Information', + 'Address-Domain', + 'AF-Correlation-Information', + 'Announcement-Information', + 'AoC-Cost-Information', + 'AoC-Information', + 'AoC-Service', + 'AoC-Subscription-Information', + 'APN-Rate-Control', + 'APN-Rate-Control-Downlink', + 'APN-Rate-Control-Uplink', + 'Application-Server-Information', + 'Basic-Service-Code', + 'Called-Identity-Change', + 'Coverage-Info', + 'CPDT-Information', + 'Current-Tariff', + 'Destination-Interface', + 'Early-Media-Description', + 'Enhanced-Diagnostics', + 'Envelope', + 'Event-Type', + 'Incremental-Cost', + 'IMS-Information', + 'Inter-Operator-Identifier', + 'ISUP-Cause', + 'LCS-Client-ID', + 'LCS-Client-Name', + 'LCS-Information', + 'LCS-Requestor-ID', + 'Location-Info', + 'Location-Type', + 'MBMS-Information', + 'Message-Body', + 'Message-Class', + 'MM-Content-Type', + 'MMS-Information', + 'MMTel-Information', + 'Monitoring-Event-Information', + 'Monitoring-Event-Report-Data', + 'Next-Tariff', + 'NIDD-Submission', + 'NNI-Information', + 'Offline-Charging', + 'Originator-Address', + 'Originator-Interface', + 'Originator-Received-Address', + 'Participant-Group', + 'PoC-Information', + 'PoC-User-Role', + 'ProSe-Direct-Communication-Reception-Data-Container', + 'ProSe-Direct-Communication-Transmission-Data-Container', + 'ProSe-Information', + 'PS-Furnish-Charging-Information', + 'PS-Information', + 'Radio-Parameter-Set-Info', + 'RAN-Secondary-RAT-Usage-Report', + 'Rate-Element', + 'Real-Time-Tariff-Information', + 'Recipient-Address', + 'Recipient-Info', + 'Recipient-Received-Address', + 'Related-Change-Condition-Information', + 'Related-Trigger', + 'Remaining-Balance', + 'Scale-Factor', + 'SCS-AS-Address', + 'SDP-Media-Component', + 'SDP-TimeStamps', + 'Service-Data-Container', + 'Service-Information', + 'Service-Specific-Info', + 'SM-Device-Trigger-Information', + 'SMS-Information', + 'Supplementary-Service', + 'Talk-Burst-Exchange', + 'Tariff-Information', + 'Time-Quota-Mechanism', + 'Time-Stamps', + 'Traffic-Data-Volumes', + 'Transmitter-Info', + 'Trigger', + 'Trunk-Group-Id', + 'TWAN-User-Location-Info', + 'Unit-Cost', + 'User-CSG-Information', + 'UWAN-User-Location-Info', + 'Variable-Part', + 'VCS-Information', + 'MIP-MN-AAA-Auth', + 'MIP-MN-to-FA-MSA', + 'MIP-FA-to-MN-MSA', + 'MIP-MN-to-HA-MSA', + 'MIP-HA-to-MN-MSA', + 'MIP-FA-to-HA-MSA', + 'MIP-HA-to-FA-MSA', + 'MIP-Originating-Foreign-AAA', + 'MIP-Home-Agent-Host', + 'Cost-Information', + 'Unit-Value', + 'Multiple-Services-Credit-Control', + 'Granted-Service-Unit', + 'Requested-Service-Unit', + 'Used-Service-Unit', + 'CC-Money', + 'G-S-U-Pool-Reference', + 'Final-Unit-Indication', + 'Redirect-Server', + 'Service-Parameter-Info', + 'Subscription-Id', + 'User-Equipment-Info', + 'MIP6-Agent-Info', + 'QoS-Resources', + 'Filter-Rule', + 'Classifier', + 'From-Spec', + 'To-Spec', + 'IP-Address-Range', + 'IP-Address-Mask', + 'MAC-Address-Mask', + 'EUI64-Address-Mask', + 'Port-Range', + 'IP-Option', + 'TCP-Option', + 'TCP-Flags', + 'ICMP-Type', + 'ETH-Option', + 'ETH-Proto-Type', + 'VLAN-ID-Range', + 'User-Priority-Range', + 'Time-Of-Day-Condition', + 'QoS-Profile-Template', + 'QoS-Parameters', + 'Excess-Treatment', + 'QoS-Capability', + 'OC-Supported-Features', + 'OC-OLR', + 'Load']). + +-record('AAR', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Request-Type', + 'User-Name' = [], + 'MIP6-Agent-Info' = [], + 'MIP6-Feature-Vector' = [], + 'Visited-Network-Identifier' = [], + 'QoS-Capability' = [], + 'Service-Selection' = [], + 'OC-Supported-Features' = [], + 'Origination-Time-Stamp' = [], + 'Maximum-Wait-Time' = [], + 'Supported-Features' = [], + 'Emergency-Services' = [], + 'AVP' = []}). + +-record('AAA', + {'Session-Id', + 'Auth-Application-Id', + 'Auth-Request-Type', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'MIP6-Feature-Vector' = [], + 'Session-Timeout' = [], + 'APN-Configuration' = [], + 'QoS-Resources' = [], + 'AN-Trusted' = [], + 'Redirect-Host' = [], + 'Trace-Info' = [], + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'AVP' = []}). + +-record('STR', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Termination-Cause', + 'User-Name' = [], + 'OC-Supported-Features' = [], + 'AVP' = []}). + +-record('STA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'AVP' = []}). + +-record('ASR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'User-Name' = [], + 'Auth-Session-State' = [], + 'AVP' = []}). + +-record('ASA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'AVP' = []}). + +-record('RAR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'Re-Auth-Request-Type', + 'User-Name' = [], + 'RAR-Flags' = [], + 'AVP' = []}). + +-record('RAA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + +-record('Flows', + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + +-record('WLAN-Identifier', + {'SSID' = [], 'HESSID' = [], 'AVP' = []}). + +-record('Access-Network-Info', + {'SSID' = [], + 'BSSID' = [], + 'Location-Information' = [], + 'Location-Data' = [], + 'Operator-Name' = [], + 'Logical-Access-ID' = [], + 'AVP' = []}). + +-record('TWAN-Connectivity-Parameters', + {'Connectivity-Flags' = [], + 'Service-Selection' = [], + 'PDN-Type' = [], + 'Served-Party-IP-Address' = [], + 'TWAN-PCO' = [], + 'TWAG-UP-Address' = [], + 'TWAN-S2a-Failure-Cause' = [], + 'SM-Back-Off-Timer' = [], + 'AVP' = []}). + +-record('Non-3GPP-User-Data', + {'Subscription-Id' = [], + 'Non-3GPP-IP-Access' = [], + 'Non-3GPP-IP-Access-APN' = [], + 'RAT-Type' = [], + 'Session-Timeout' = [], + 'MIP6-Feature-Vector' = [], + 'AMBR' = [], + '3GPP-Charging-Characteristics' = [], + 'Context-Identifier' = [], + 'APN-OI-Replacement' = [], + 'APN-Configuration' = [], + 'Trace-Info' = [], + 'TWAN-Default-APN-Context-Id' = [], + 'TWAN-Access-Info' = [], + 'UE-Usage-Type' = [], + 'Emergency-Info' = [], + 'ERP-Authorization' = [], + 'Core-Network-Restrictions' = [], + 'AVP' = []}). + +-record('Trace-Info', + {'Trace-Data' = [], + 'Trace-Reference' = [], + 'AVP' = []}). + +-record('TWAN-Access-Info', + {'Access-Authorization-Flags' = [], + 'WLAN-Identifier' = [], + 'AVP' = []}). + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + +-record('MIP-MN-AAA-Auth', + {'MIP-MN-AAA-SPI', + 'MIP-Auth-Input-Data-Length', + 'MIP-Authenticator-Length', + 'MIP-Authenticator-Offset', + 'AVP' = []}). + +-record('MIP-MN-to-FA-MSA', + {'MIP-Algorithm-Type', 'MIP-Nonce', 'AVP' = []}). + +-record('MIP-FA-to-MN-MSA', + {'MIP-FA-to-MN-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-MN-to-HA-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Nonce', + 'AVP' = []}). + +-record('MIP-HA-to-MN-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-FA-to-HA-MSA', + {'MIP-FA-to-HA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-HA-to-FA-MSA', + {'MIP-HA-to-FA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-Originating-Foreign-AAA', + {'Origin-Realm', 'Origin-Host', 'AVP' = []}). + +-record('MIP-Home-Agent-Host', + {'Destination-Realm', 'Destination-Host', 'AVP' = []}). + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + +-record('QoS-Resources', + {'Filter-Rule' = [], 'AVP' = []}). + +-record('Filter-Rule', + {'Filter-Rule-Precedence' = [], + 'Classifier' = [], + 'Time-Of-Day-Condition' = [], + 'Treatment-Action' = [], + 'QoS-Semantics' = [], + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'Excess-Treatment' = [], + 'AVP' = []}). + +-record('Classifier', + {'Classifier-ID', + 'Protocol' = [], + 'Direction' = [], + 'From-Spec' = [], + 'To-Spec' = [], + 'Diffserv-Code-Point' = [], + 'Fragmentation-Flag' = [], + 'IP-Option' = [], + 'TCP-Option' = [], + 'TCP-Flags' = [], + 'ICMP-Type' = [], + 'ETH-Option' = [], + 'AVP' = []}). + +-record('From-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('To-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('IP-Address-Range', + {'IP-Address-Start' = [], + 'IP-Address-End' = [], + 'AVP' = []}). + +-record('IP-Address-Mask', + {'IP-Address', 'IP-Mask-Bit-Mask-Width', 'AVP' = []}). + +-record('MAC-Address-Mask', + {'MAC-Address', + 'MAC-Address-Mask-Pattern', + 'AVP' = []}). + +-record('EUI64-Address-Mask', + {'EUI64-Address', + 'EUI64-Address-Mask-Pattern', + 'AVP' = []}). + +-record('Port-Range', + {'Port-Start' = [], 'Port-End' = [], 'AVP' = []}). + +-record('IP-Option', + {'IP-Option-Type', + 'IP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Option', + {'TCP-Option-Type', + 'TCP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Flags', + {'TCP-Flag-Type', 'Negated' = [], 'AVP' = []}). + +-record('ICMP-Type', + {'ICMP-Type-Number', + 'ICMP-Code' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('ETH-Option', + {'ETH-Proto-Type', + 'VLAN-ID-Range' = [], + 'User-Priority-Range' = [], + 'AVP' = []}). + +-record('ETH-Proto-Type', + {'ETH-Ether-Type' = [], 'ETH-SAP' = [], 'AVP' = []}). + +-record('VLAN-ID-Range', + {'S-VID-Start' = [], + 'S-VID-End' = [], + 'C-VID-Start' = [], + 'C-VID-End' = [], + 'AVP' = []}). + +-record('User-Priority-Range', + {'Low-User-Priority' = [], + 'High-User-Priority' = [], + 'AVP' = []}). + +-record('Time-Of-Day-Condition', + {'Time-Of-Day-Start' = [], + 'Time-Of-Day-End' = [], + 'Day-Of-Week-Mask' = [], + 'Day-Of-Month-Mask' = [], + 'Month-Of-Year-Mask' = [], + 'Absolute-Start-Time' = [], + 'Absolute-End-Time' = [], + 'Timezone-Flag' = [], + 'AVP' = []}). + +-record('QoS-Profile-Template', + {'Vendor-Id', 'QoS-Profile-Id', 'AVP' = []}). + +-record('QoS-Parameters', {'AVP' = []}). + +-record('Excess-Treatment', + {'Treatment-Action', + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'AVP' = []}). + +-record('QoS-Capability', + {'QoS-Profile-Template' = [], 'AVP' = []}). + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + +-record('Load', + {'Load-Type' = [], + 'Load-Value' = [], + 'SourceID' = [], + 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_273_s6b. + +id() -> 16777272. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(258, true) -> 'RAR'; +msg_name(258, false) -> 'RAA'; +msg_name(274, true) -> 'ASR'; +msg_name(274, false) -> 'ASA'; +msg_name(275, true) -> 'STR'; +msg_name(275, false) -> 'STA'; +msg_name(265, true) -> 'AAR'; +msg_name(265, false) -> 'AAA'; +msg_name(_, _) -> ''. + +msg_header('AAR') -> {265, 192, 16777272}; +msg_header('AAA') -> {265, 64, 16777272}; +msg_header('STR') -> {275, 192, 16777272}; +msg_header('STA') -> {275, 64, 16777272}; +msg_header('ASR') -> {274, 192, 16777272}; +msg_header('ASA') -> {274, 64, 16777272}; +msg_header('RAR') -> {258, 192, 16777272}; +msg_header('RAA') -> {258, 64, 16777272}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('AAR') -> 'AAR'; +rec2msg('AAA') -> 'AAA'; +rec2msg('STR') -> 'STR'; +rec2msg('STA') -> 'STA'; +rec2msg('ASR') -> 'ASR'; +rec2msg('ASA') -> 'ASA'; +rec2msg('RAR') -> 'RAR'; +rec2msg('RAA') -> 'RAA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('AAR') -> 'AAR'; +msg2rec('AAA') -> 'AAA'; +msg2rec('STR') -> 'STR'; +msg2rec('STA') -> 'STA'; +msg2rec('ASR') -> 'ASR'; +msg2rec('ASA') -> 'ASA'; +msg2rec('RAR') -> 'RAR'; +msg2rec('RAA') -> 'RAA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec('Emergency-Info') -> 'Emergency-Info'; +name2rec('Access-Network-Charging-Identifier-Gx') -> + 'Access-Network-Charging-Identifier-Gx'; +name2rec('Allocation-Retention-Priority') -> + 'Allocation-Retention-Priority'; +name2rec('Application-Detection-Information') -> + 'Application-Detection-Information'; +name2rec('Charging-Rule-Definition') -> + 'Charging-Rule-Definition'; +name2rec('Charging-Rule-Install') -> + 'Charging-Rule-Install'; +name2rec('Charging-Rule-Remove') -> + 'Charging-Rule-Remove'; +name2rec('Charging-Rule-Report') -> + 'Charging-Rule-Report'; +name2rec('CoA-Information') -> 'CoA-Information'; +name2rec('Conditional-APN-Aggregate-Max-Bitrate') -> + 'Conditional-APN-Aggregate-Max-Bitrate'; +name2rec('Default-EPS-Bearer-QoS') -> + 'Default-EPS-Bearer-QoS'; +name2rec('Default-QoS-Information') -> + 'Default-QoS-Information'; +name2rec('Event-Report-Indication') -> + 'Event-Report-Indication'; +name2rec('Fixed-User-Location-Info') -> + 'Fixed-User-Location-Info'; +name2rec('Flow-Information') -> 'Flow-Information'; +name2rec('Packet-Filter-Information') -> + 'Packet-Filter-Information'; +name2rec('Presence-Reporting-Area-Information') -> + 'Presence-Reporting-Area-Information'; +name2rec('QoS-Information') -> 'QoS-Information'; +name2rec('Redirect-Information') -> + 'Redirect-Information'; +name2rec('Routing-Filter') -> 'Routing-Filter'; +name2rec('Routing-Rule-Definition') -> + 'Routing-Rule-Definition'; +name2rec('Routing-Rule-Install') -> + 'Routing-Rule-Install'; +name2rec('Routing-Rule-Remove') -> + 'Routing-Rule-Remove'; +name2rec('TDF-Information') -> 'TDF-Information'; +name2rec('Tunnel-Information') -> 'Tunnel-Information'; +name2rec('TFT-Packet-Filter-Information') -> + 'TFT-Packet-Filter-Information'; +name2rec('Usage-Monitoring-Information') -> + 'Usage-Monitoring-Information'; +name2rec('Flows') -> 'Flows'; +name2rec('Charging-Information') -> + 'Charging-Information'; +name2rec('Supported-Features') -> 'Supported-Features'; +name2rec('Supported-Applications') -> + 'Supported-Applications'; +name2rec('SIP-Auth-Data-Item') -> 'SIP-Auth-Data-Item'; +name2rec('Deregistration-Reason') -> + 'Deregistration-Reason'; +name2rec('SIP-Digest-Authenticate') -> + 'SIP-Digest-Authenticate'; +name2rec('Subscription-Data') -> 'Subscription-Data'; +name2rec('Terminal-Information') -> + 'Terminal-Information'; +name2rec('Requested-EUTRAN-Authentication-Info') -> + 'Requested-EUTRAN-Authentication-Info'; +name2rec('Requested-UTRAN-GERAN-Authentication-Info') -> + 'Requested-UTRAN-GERAN-Authentication-Info'; +name2rec('Authentication-Info') -> + 'Authentication-Info'; +name2rec('E-UTRAN-Vector') -> 'E-UTRAN-Vector'; +name2rec('UTRAN-Vector') -> 'UTRAN-Vector'; +name2rec('GERAN-Vector') -> 'GERAN-Vector'; +name2rec('APN-Configuration-Profile') -> + 'APN-Configuration-Profile'; +name2rec('APN-Configuration') -> 'APN-Configuration'; +name2rec('EPS-Subscribed-QoS-Profile') -> + 'EPS-Subscribed-QoS-Profile'; +name2rec('AMBR') -> 'AMBR'; +name2rec('Trace-Data') -> 'Trace-Data'; +name2rec('GPRS-Subscription-Data') -> + 'GPRS-Subscription-Data'; +name2rec('PDP-Context') -> 'PDP-Context'; +name2rec('CSG-Subscription-Data') -> + 'CSG-Subscription-Data'; +name2rec('Specific-APN-Info') -> 'Specific-APN-Info'; +name2rec('LCS-Info') -> 'LCS-Info'; +name2rec('LCS-PrivacyException') -> + 'LCS-PrivacyException'; +name2rec('External-Client') -> 'External-Client'; +name2rec('Service-Type') -> 'Service-Type'; +name2rec('MO-LR') -> 'MO-LR'; +name2rec('Teleservice-List') -> 'Teleservice-List'; +name2rec('Call-Barring-Info') -> 'Call-Barring-Info'; +name2rec('EPS-User-State') -> 'EPS-User-State'; +name2rec('EPS-Location-Information') -> + 'EPS-Location-Information'; +name2rec('MME-User-State') -> 'MME-User-State'; +name2rec('SGSN-User-State') -> 'SGSN-User-State'; +name2rec('MME-Location-Information') -> + 'MME-Location-Information'; +name2rec('SGSN-Location-Information') -> + 'SGSN-Location-Information'; +name2rec('Active-APN') -> 'Active-APN'; +name2rec('MDT-Configuration') -> 'MDT-Configuration'; +name2rec('Area-Scope') -> 'Area-Scope'; +name2rec('Equivalent-PLMN-List') -> + 'Equivalent-PLMN-List'; +name2rec('VPLMN-CSG-Subscription-Data') -> + 'VPLMN-CSG-Subscription-Data'; +name2rec('Local-Time-Zone') -> 'Local-Time-Zone'; +name2rec('WLAN-Identifier') -> 'WLAN-Identifier'; +name2rec('Access-Network-Info') -> + 'Access-Network-Info'; +name2rec('TWAN-Connectivity-Parameters') -> + 'TWAN-Connectivity-Parameters'; +name2rec('Non-3GPP-User-Data') -> 'Non-3GPP-User-Data'; +name2rec('Trace-Info') -> 'Trace-Info'; +name2rec('TWAN-Access-Info') -> 'TWAN-Access-Info'; +name2rec('Access-Network-Info-Change') -> + 'Access-Network-Info-Change'; +name2rec('Access-Transfer-Information') -> + 'Access-Transfer-Information'; +name2rec('Accumulated-Cost') -> 'Accumulated-Cost'; +name2rec('Additional-Content-Information') -> + 'Additional-Content-Information'; +name2rec('Address-Domain') -> 'Address-Domain'; +name2rec('AF-Correlation-Information') -> + 'AF-Correlation-Information'; +name2rec('Announcement-Information') -> + 'Announcement-Information'; +name2rec('AoC-Cost-Information') -> + 'AoC-Cost-Information'; +name2rec('AoC-Information') -> 'AoC-Information'; +name2rec('AoC-Service') -> 'AoC-Service'; +name2rec('AoC-Subscription-Information') -> + 'AoC-Subscription-Information'; +name2rec('APN-Rate-Control') -> 'APN-Rate-Control'; +name2rec('APN-Rate-Control-Downlink') -> + 'APN-Rate-Control-Downlink'; +name2rec('APN-Rate-Control-Uplink') -> + 'APN-Rate-Control-Uplink'; +name2rec('Application-Server-Information') -> + 'Application-Server-Information'; +name2rec('Basic-Service-Code') -> 'Basic-Service-Code'; +name2rec('Called-Identity-Change') -> + 'Called-Identity-Change'; +name2rec('Coverage-Info') -> 'Coverage-Info'; +name2rec('CPDT-Information') -> 'CPDT-Information'; +name2rec('Current-Tariff') -> 'Current-Tariff'; +name2rec('Destination-Interface') -> + 'Destination-Interface'; +name2rec('Early-Media-Description') -> + 'Early-Media-Description'; +name2rec('Enhanced-Diagnostics') -> + 'Enhanced-Diagnostics'; +name2rec('Envelope') -> 'Envelope'; +name2rec('Event-Type') -> 'Event-Type'; +name2rec('Incremental-Cost') -> 'Incremental-Cost'; +name2rec('IMS-Information') -> 'IMS-Information'; +name2rec('Inter-Operator-Identifier') -> + 'Inter-Operator-Identifier'; +name2rec('ISUP-Cause') -> 'ISUP-Cause'; +name2rec('LCS-Client-ID') -> 'LCS-Client-ID'; +name2rec('LCS-Client-Name') -> 'LCS-Client-Name'; +name2rec('LCS-Information') -> 'LCS-Information'; +name2rec('LCS-Requestor-ID') -> 'LCS-Requestor-ID'; +name2rec('Location-Info') -> 'Location-Info'; +name2rec('Location-Type') -> 'Location-Type'; +name2rec('MBMS-Information') -> 'MBMS-Information'; +name2rec('Message-Body') -> 'Message-Body'; +name2rec('Message-Class') -> 'Message-Class'; +name2rec('MM-Content-Type') -> 'MM-Content-Type'; +name2rec('MMS-Information') -> 'MMS-Information'; +name2rec('MMTel-Information') -> 'MMTel-Information'; +name2rec('Monitoring-Event-Information') -> + 'Monitoring-Event-Information'; +name2rec('Monitoring-Event-Report-Data') -> + 'Monitoring-Event-Report-Data'; +name2rec('Next-Tariff') -> 'Next-Tariff'; +name2rec('NIDD-Submission') -> 'NIDD-Submission'; +name2rec('NNI-Information') -> 'NNI-Information'; +name2rec('Offline-Charging') -> 'Offline-Charging'; +name2rec('Originator-Address') -> 'Originator-Address'; +name2rec('Originator-Interface') -> + 'Originator-Interface'; +name2rec('Originator-Received-Address') -> + 'Originator-Received-Address'; +name2rec('Participant-Group') -> 'Participant-Group'; +name2rec('PoC-Information') -> 'PoC-Information'; +name2rec('PoC-User-Role') -> 'PoC-User-Role'; +name2rec('ProSe-Direct-Communication-Reception-Data-Container') -> + 'ProSe-Direct-Communication-Reception-Data-Container'; +name2rec('ProSe-Direct-Communication-Transmission-Data-Container') -> + 'ProSe-Direct-Communication-Transmission-Data-Container'; +name2rec('ProSe-Information') -> 'ProSe-Information'; +name2rec('PS-Furnish-Charging-Information') -> + 'PS-Furnish-Charging-Information'; +name2rec('PS-Information') -> 'PS-Information'; +name2rec('Radio-Parameter-Set-Info') -> + 'Radio-Parameter-Set-Info'; +name2rec('RAN-Secondary-RAT-Usage-Report') -> + 'RAN-Secondary-RAT-Usage-Report'; +name2rec('Rate-Element') -> 'Rate-Element'; +name2rec('Real-Time-Tariff-Information') -> + 'Real-Time-Tariff-Information'; +name2rec('Recipient-Address') -> 'Recipient-Address'; +name2rec('Recipient-Info') -> 'Recipient-Info'; +name2rec('Recipient-Received-Address') -> + 'Recipient-Received-Address'; +name2rec('Related-Change-Condition-Information') -> + 'Related-Change-Condition-Information'; +name2rec('Related-Trigger') -> 'Related-Trigger'; +name2rec('Remaining-Balance') -> 'Remaining-Balance'; +name2rec('Scale-Factor') -> 'Scale-Factor'; +name2rec('SCS-AS-Address') -> 'SCS-AS-Address'; +name2rec('SDP-Media-Component') -> + 'SDP-Media-Component'; +name2rec('SDP-TimeStamps') -> 'SDP-TimeStamps'; +name2rec('Service-Data-Container') -> + 'Service-Data-Container'; +name2rec('Service-Information') -> + 'Service-Information'; +name2rec('Service-Specific-Info') -> + 'Service-Specific-Info'; +name2rec('SM-Device-Trigger-Information') -> + 'SM-Device-Trigger-Information'; +name2rec('SMS-Information') -> 'SMS-Information'; +name2rec('Supplementary-Service') -> + 'Supplementary-Service'; +name2rec('Talk-Burst-Exchange') -> + 'Talk-Burst-Exchange'; +name2rec('Tariff-Information') -> 'Tariff-Information'; +name2rec('Time-Quota-Mechanism') -> + 'Time-Quota-Mechanism'; +name2rec('Time-Stamps') -> 'Time-Stamps'; +name2rec('Traffic-Data-Volumes') -> + 'Traffic-Data-Volumes'; +name2rec('Transmitter-Info') -> 'Transmitter-Info'; +name2rec('Trigger') -> 'Trigger'; +name2rec('Trunk-Group-Id') -> 'Trunk-Group-Id'; +name2rec('TWAN-User-Location-Info') -> + 'TWAN-User-Location-Info'; +name2rec('Unit-Cost') -> 'Unit-Cost'; +name2rec('User-CSG-Information') -> + 'User-CSG-Information'; +name2rec('UWAN-User-Location-Info') -> + 'UWAN-User-Location-Info'; +name2rec('Variable-Part') -> 'Variable-Part'; +name2rec('VCS-Information') -> 'VCS-Information'; +name2rec('MIP-MN-AAA-Auth') -> 'MIP-MN-AAA-Auth'; +name2rec('MIP-MN-to-FA-MSA') -> 'MIP-MN-to-FA-MSA'; +name2rec('MIP-FA-to-MN-MSA') -> 'MIP-FA-to-MN-MSA'; +name2rec('MIP-MN-to-HA-MSA') -> 'MIP-MN-to-HA-MSA'; +name2rec('MIP-HA-to-MN-MSA') -> 'MIP-HA-to-MN-MSA'; +name2rec('MIP-FA-to-HA-MSA') -> 'MIP-FA-to-HA-MSA'; +name2rec('MIP-HA-to-FA-MSA') -> 'MIP-HA-to-FA-MSA'; +name2rec('MIP-Originating-Foreign-AAA') -> + 'MIP-Originating-Foreign-AAA'; +name2rec('MIP-Home-Agent-Host') -> + 'MIP-Home-Agent-Host'; +name2rec('Cost-Information') -> 'Cost-Information'; +name2rec('Unit-Value') -> 'Unit-Value'; +name2rec('Multiple-Services-Credit-Control') -> + 'Multiple-Services-Credit-Control'; +name2rec('Granted-Service-Unit') -> + 'Granted-Service-Unit'; +name2rec('Requested-Service-Unit') -> + 'Requested-Service-Unit'; +name2rec('Used-Service-Unit') -> 'Used-Service-Unit'; +name2rec('CC-Money') -> 'CC-Money'; +name2rec('G-S-U-Pool-Reference') -> + 'G-S-U-Pool-Reference'; +name2rec('Final-Unit-Indication') -> + 'Final-Unit-Indication'; +name2rec('Redirect-Server') -> 'Redirect-Server'; +name2rec('Service-Parameter-Info') -> + 'Service-Parameter-Info'; +name2rec('Subscription-Id') -> 'Subscription-Id'; +name2rec('User-Equipment-Info') -> + 'User-Equipment-Info'; +name2rec('MIP6-Agent-Info') -> 'MIP6-Agent-Info'; +name2rec('QoS-Resources') -> 'QoS-Resources'; +name2rec('Filter-Rule') -> 'Filter-Rule'; +name2rec('Classifier') -> 'Classifier'; +name2rec('From-Spec') -> 'From-Spec'; +name2rec('To-Spec') -> 'To-Spec'; +name2rec('IP-Address-Range') -> 'IP-Address-Range'; +name2rec('IP-Address-Mask') -> 'IP-Address-Mask'; +name2rec('MAC-Address-Mask') -> 'MAC-Address-Mask'; +name2rec('EUI64-Address-Mask') -> 'EUI64-Address-Mask'; +name2rec('Port-Range') -> 'Port-Range'; +name2rec('IP-Option') -> 'IP-Option'; +name2rec('TCP-Option') -> 'TCP-Option'; +name2rec('TCP-Flags') -> 'TCP-Flags'; +name2rec('ICMP-Type') -> 'ICMP-Type'; +name2rec('ETH-Option') -> 'ETH-Option'; +name2rec('ETH-Proto-Type') -> 'ETH-Proto-Type'; +name2rec('VLAN-ID-Range') -> 'VLAN-ID-Range'; +name2rec('User-Priority-Range') -> + 'User-Priority-Range'; +name2rec('Time-Of-Day-Condition') -> + 'Time-Of-Day-Condition'; +name2rec('QoS-Profile-Template') -> + 'QoS-Profile-Template'; +name2rec('QoS-Parameters') -> 'QoS-Parameters'; +name2rec('Excess-Treatment') -> 'Excess-Treatment'; +name2rec('QoS-Capability') -> 'QoS-Capability'; +name2rec('OC-Supported-Features') -> + 'OC-Supported-Features'; +name2rec('OC-OLR') -> 'OC-OLR'; +name2rec('Load') -> 'Load'; +name2rec(T) -> msg2rec(T). + +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(1427, 10415) -> + {'APN-OI-Replacement', 'UTF8String'}; +avp_name(1687, 10415) -> {'Emergency-Info', 'Grouped'}; +avp_name(1474, 10415) -> {'GMLC-Number', 'OctetString'}; +avp_name(1489, 10415) -> {'SGSN-Number', 'OctetString'}; +avp_name(1050, 10415) -> {'AN-GW-Address', 'Address'}; +avp_name(2811, 10415) -> {'AN-GW-Status', 'Enumerated'}; +avp_name(1040, 10415) -> + {'APN-Aggregate-Max-Bitrate-DL', 'Unsigned32'}; +avp_name(1041, 10415) -> + {'APN-Aggregate-Max-Bitrate-UL', 'Unsigned32'}; +avp_name(1022, 10415) -> + {'Access-Network-Charging-Identifier-Gx', 'Grouped'}; +avp_name(1034, 10415) -> + {'Allocation-Retention-Priority', 'Grouped'}; +avp_name(1098, 10415) -> + {'Application-Detection-Information', 'Grouped'}; +avp_name(1023, 10415) -> + {'Bearer-Control-Mode', 'Enumerated'}; +avp_name(1020, 10415) -> + {'Bearer-Identifier', 'OctetString'}; +avp_name(1021, 10415) -> + {'Bearer-Operation', 'Enumerated'}; +avp_name(1000, 10415) -> {'Bearer-Usage', 'Enumerated'}; +avp_name(1071, 10415) -> + {'CSG-Information-Reporting', 'Enumerated'}; +avp_name(1073, 10415) -> + {'Charging-Correlation-Indicator', 'Enumerated'}; +avp_name(1004, 10415) -> + {'Charging-Rule-Base-Name', 'UTF8String'}; +avp_name(1003, 10415) -> + {'Charging-Rule-Definition', 'Grouped'}; +avp_name(1001, 10415) -> + {'Charging-Rule-Install', 'Grouped'}; +avp_name(1005, 10415) -> + {'Charging-Rule-Name', 'OctetString'}; +avp_name(1002, 10415) -> + {'Charging-Rule-Remove', 'Grouped'}; +avp_name(1018, 10415) -> + {'Charging-Rule-Report', 'Grouped'}; +avp_name(1035, 10415) -> {'CoA-IP-Address', 'Address'}; +avp_name(1039, 10415) -> {'CoA-Information', 'Grouped'}; +avp_name(2818, 10415) -> + {'Conditional-APN-Aggregate-Max-Bitrate', 'Grouped'}; +avp_name(1082, 10415) -> + {'Credit-Management-Status', 'Unsigned32'}; +avp_name(1049, 10415) -> + {'Default-EPS-Bearer-QoS', 'Grouped'}; +avp_name(2816, 10415) -> + {'Default-QoS-Information', 'Grouped'}; +avp_name(2817, 10415) -> + {'Default-QoS-Name', 'UTF8String'}; +avp_name(1033, 10415) -> + {'Event-Report-Indication', 'Grouped'}; +avp_name(1006, 10415) -> + {'Event-Trigger', 'Enumerated'}; +avp_name(2825, 10415) -> + {'Fixed-User-Location-Info', 'Grouped'}; +avp_name(1080, 10415) -> + {'Flow-Direction', 'Enumerated'}; +avp_name(1058, 10415) -> + {'Flow-Information', 'Grouped'}; +avp_name(1057, 10415) -> {'Flow-Label', 'OctetString'}; +avp_name(1025, 10415) -> + {'Guaranteed-Bitrate-DL', 'Unsigned32'}; +avp_name(1026, 10415) -> + {'Guaranteed-Bitrate-UL', 'Unsigned32'}; +avp_name(2804, 10415) -> + {'HeNB-Local-IP-Address', 'Address'}; +avp_name(2827, 10415) -> + {'IP-CAN-Session-Charging-Scope', 'Enumerated'}; +avp_name(1027, 10415) -> {'IP-CAN-Type', 'Enumerated'}; +avp_name(1007, 10415) -> + {'Metering-Method', 'Enumerated'}; +avp_name(1066, 10415) -> + {'Monitoring-Key', 'OctetString'}; +avp_name(2810, 10415) -> {'Monitoring-Time', 'Time'}; +avp_name(2809, 10415) -> + {'Mute-Notification', 'Enumerated'}; +avp_name(2824, 10415) -> + {'NetLoc-Access-Support', 'Unsigned32'}; +avp_name(1024, 10415) -> + {'Network-Request-Support', 'Enumerated'}; +avp_name(1008, 10415) -> {'Offline', 'Enumerated'}; +avp_name(1009, 10415) -> {'Online', 'Enumerated'}; +avp_name(1019, 10415) -> + {'PCC-Rule-Status', 'Enumerated'}; +avp_name(2826, 10415) -> + {'PCSCF-Restoration-Indication', 'Unsigned32'}; +avp_name(1065, 10415) -> + {'PDN-Connection-ID', 'OctetString'}; +avp_name(1099, 10415) -> + {'PS-to-CS-Session-Continuity', 'Enumerated'}; +avp_name(1059, 10415) -> + {'Packet-Filter-Content', 'IPFilterRule'}; +avp_name(1060, 10415) -> + {'Packet-Filter-Identifier', 'OctetString'}; +avp_name(1061, 10415) -> + {'Packet-Filter-Information', 'Grouped'}; +avp_name(1062, 10415) -> + {'Packet-Filter-Operation', 'Enumerated'}; +avp_name(1072, 10415) -> + {'Packet-Filter-Usage', 'Enumerated'}; +avp_name(1047, 10415) -> + {'Pre-emption-Capability', 'Enumerated'}; +avp_name(1048, 10415) -> + {'Pre-emption-Vulnerability', 'Enumerated'}; +avp_name(1010, 10415) -> {'Precedence', 'Unsigned32'}; +avp_name(2820, 10415) -> + {'Presence-Reporting-Area-Elements-List', + 'OctetString'}; +avp_name(2821, 10415) -> + {'Presence-Reporting-Area-Identifier', 'OctetString'}; +avp_name(2822, 10415) -> + {'Presence-Reporting-Area-Information', 'Grouped'}; +avp_name(2823, 10415) -> + {'Presence-Reporting-Area-Status', 'Unsigned32'}; +avp_name(1046, 10415) -> + {'Priority-Level', 'Unsigned32'}; +avp_name(1028, 10415) -> + {'QoS-Class-Identifier', 'Enumerated'}; +avp_name(1016, 10415) -> {'QoS-Information', 'Grouped'}; +avp_name(1029, 10415) -> + {'QoS-Negotiation', 'Enumerated'}; +avp_name(1030, 10415) -> {'QoS-Upgrade', 'Enumerated'}; +avp_name(2819, 10415) -> + {'RAN-NAS-Release-Cause', 'OctetString'}; +avp_name(1032, 10415) -> {'RAT-Type', 'Enumerated'}; +avp_name(1085, 10415) -> + {'Redirect-Information', 'Grouped'}; +avp_name(1086, 10415) -> + {'Redirect-Support', 'Enumerated'}; +avp_name(1011, 10415) -> + {'Reporting-Level', 'Enumerated'}; +avp_name(1063, 10415) -> + {'Resource-Allocation-Notification', 'Enumerated'}; +avp_name(1042, 10415) -> {'Revalidation-Time', 'Time'}; +avp_name(1078, 10415) -> {'Routing-Filter', 'Grouped'}; +avp_name(1079, 10415) -> + {'Routing-IP-Address', 'Address'}; +avp_name(1076, 10415) -> + {'Routing-Rule-Definition', 'Grouped'}; +avp_name(1077, 10415) -> + {'Routing-Rule-Identifier', 'OctetString'}; +avp_name(1081, 10415) -> + {'Routing-Rule-Install', 'Grouped'}; +avp_name(1075, 10415) -> + {'Routing-Rule-Remove', 'Grouped'}; +avp_name(1043, 10415) -> + {'Rule-Activation-Time', 'Time'}; +avp_name(1044, 10415) -> + {'Rule-Deactivation-Time', 'Time'}; +avp_name(1031, 10415) -> + {'Rule-Failure-Code', 'Enumerated'}; +avp_name(1056, 10415) -> + {'Security-Parameter-Index', 'OctetString'}; +avp_name(1045, 10415) -> + {'Session-Release-Cause', 'Enumerated'}; +avp_name(1088, 10415) -> + {'TDF-Application-Identifier', 'OctetString'}; +avp_name(2802, 10415) -> + {'TDF-Application-Instance-Identifier', 'OctetString'}; +avp_name(1089, 10415) -> + {'TDF-Destination-Host', 'DiameterIdentity'}; +avp_name(1090, 10415) -> + {'TDF-Destination-Realm', 'DiameterIdentity'}; +avp_name(1091, 10415) -> {'TDF-IP-Address', 'Address'}; +avp_name(1087, 10415) -> {'TDF-Information', 'Grouped'}; +avp_name(1012, 10415) -> {'TFT-Filter', 'IPFilterRule'}; +avp_name(1013, 10415) -> + {'TFT-Packet-Filter-Information', 'Grouped'}; +avp_name(1014, 10415) -> + {'ToS-Traffic-Class', 'OctetString'}; +avp_name(1036, 10415) -> + {'Tunnel-Header-Filter', 'IPFilterRule'}; +avp_name(1037, 10415) -> + {'Tunnel-Header-Length', 'Unsigned32'}; +avp_name(1038, 10415) -> + {'Tunnel-Information', 'Grouped'}; +avp_name(2806, 10415) -> + {'UDP-Source-Port', 'Unsigned32'}; +avp_name(2805, 10415) -> + {'UE-Local-IP-Address', 'Address'}; +avp_name(1067, 10415) -> + {'Usage-Monitoring-Information', 'Grouped'}; +avp_name(1068, 10415) -> + {'Usage-Monitoring-Level', 'Enumerated'}; +avp_name(1069, 10415) -> + {'Usage-Monitoring-Report', 'Enumerated'}; +avp_name(1070, 10415) -> + {'Usage-Monitoring-Support', 'Enumerated'}; +avp_name(2812, 10415) -> + {'User-Location-Info-Time', 'Time'}; +avp_name(504, 10415) -> + {'AF-Application-Identifier', 'OctetString'}; +avp_name(505, 10415) -> + {'AF-Charging-Identifier', 'OctetString'}; +avp_name(529, 10415) -> + {'AF-Signalling-Protocol', 'Enumerated'}; +avp_name(500, 10415) -> {'Abort-Cause', 'Enumerated'}; +avp_name(501, 10415) -> + {'Access-Network-Charging-Address', 'Address'}; +avp_name(503, 10415) -> + {'Access-Network-Charging-Identifier-Value', + 'OctetString'}; +avp_name(532, 10415) -> + {'Application-Service-Provider-Identity', 'UTF8String'}; +avp_name(524, 10415) -> {'Codec-Data', 'OctetString'}; +avp_name(507, 10415) -> + {'Flow-Description', 'IPFilterRule'}; +avp_name(509, 10415) -> {'Flow-Number', 'Unsigned32'}; +avp_name(511, 10415) -> {'Flow-Status', 'Enumerated'}; +avp_name(512, 10415) -> {'Flow-Usage', 'Enumerated'}; +avp_name(510, 10415) -> {'Flows', 'Grouped'}; +avp_name(538, 10415) -> + {'GCS-Identifier', 'OctetString'}; +avp_name(537, 10415) -> {'IP-Domain-Id', 'OctetString'}; +avp_name(528, 10415) -> + {'MPS-Identifier', 'OctetString'}; +avp_name(515, 10415) -> + {'Max-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(516, 10415) -> + {'Max-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(518, 10415) -> + {'Media-Component-Number', 'Unsigned32'}; +avp_name(520, 10415) -> {'Media-Type', 'Enumerated'}; +avp_name(534, 10415) -> + {'Min-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(535, 10415) -> + {'Min-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(521, 10415) -> {'RR-Bandwidth', 'Unsigned32'}; +avp_name(522, 10415) -> {'RS-Bandwidth', 'Unsigned32'}; +avp_name(536, 10415) -> + {'Required-Access-Info', 'Enumerated'}; +avp_name(533, 10415) -> + {'Rx-Request-Type', 'Enumerated'}; +avp_name(523, 10415) -> + {'SIP-Forking-Indication', 'Enumerated'}; +avp_name(527, 10415) -> + {'Service-Info-Status', 'Enumerated'}; +avp_name(525, 10415) -> {'Service-URN', 'OctetString'}; +avp_name(513, 10415) -> + {'Specific-Action', 'Enumerated'}; +avp_name(531, 10415) -> + {'Sponsor-Identity', 'UTF8String'}; +avp_name(643, 10415) -> + {'Call-ID-SIP-Header', 'OctetString'}; +avp_name(618, 10415) -> + {'Charging-Information', 'Grouped'}; +avp_name(625, 10415) -> + {'Confidentiality-Key', 'OctetString'}; +avp_name(641, 10415) -> {'Contact', 'OctetString'}; +avp_name(615, 10415) -> + {'Deregistration-Reason', 'Grouped'}; +avp_name(111, undefined) -> + {'Digest-Algorithm', 'UTF8String'}; +avp_name(121, undefined) -> + {'Digest-HA1', 'UTF8String'}; +avp_name(110, undefined) -> + {'Digest-QoP', 'UTF8String'}; +avp_name(104, undefined) -> + {'Digest-Realm', 'UTF8String'}; +avp_name(630, 10415) -> {'Feature-List', 'Unsigned32'}; +avp_name(629, 10415) -> + {'Feature-List-ID', 'Unsigned32'}; +avp_name(644, 10415) -> + {'From-SIP-Header', 'OctetString'}; +avp_name(654, 10415) -> + {'Initial-CSeq-Sequence-Number', 'Unsigned32'}; +avp_name(626, 10415) -> + {'Integrity-Key', 'OctetString'}; +avp_name(653, 10415) -> {'LIA-Flags', 'Unsigned32'}; +avp_name(638, 10415) -> + {'Loose-Route-Indication', 'Enumerated'}; +avp_name(604, 10415) -> + {'Mandatory-Capability', 'Unsigned32'}; +avp_name(648, 10415) -> + {'Multiple-Registration-Indication', 'Enumerated'}; +avp_name(605, 10415) -> + {'Optional-Capability', 'Unsigned32'}; +avp_name(633, 10415) -> + {'Originating-Request', 'Enumerated'}; +avp_name(640, 10415) -> {'Path', 'OctetString'}; +avp_name(621, 10415) -> + {'Primary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(619, 10415) -> + {'Primary-Event-Charging-Function-Name', 'DiameterURI'}; +avp_name(652, 10415) -> + {'Priviledged-Sender-Indication', 'Enumerated'}; +avp_name(601, 10415) -> + {'Public-Identity', 'UTF8String'}; +avp_name(616, 10415) -> {'Reason-Code', 'Enumerated'}; +avp_name(617, 10415) -> {'Reason-Info', 'UTF8String'}; +avp_name(646, 10415) -> {'Record-Route', 'OctetString'}; +avp_name(655, 10415) -> {'SAR-Flags', 'Unsigned32'}; +avp_name(612, 10415) -> + {'SIP-Auth-Data-Item', 'Grouped'}; +avp_name(609, 10415) -> + {'SIP-Authenticate', 'OctetString'}; +avp_name(611, 10415) -> + {'SIP-Authentication-Context', 'OctetString'}; +avp_name(608, 10415) -> + {'SIP-Authentication-Scheme', 'UTF8String'}; +avp_name(610, 10415) -> + {'SIP-Authorization', 'OctetString'}; +avp_name(635, 10415) -> + {'SIP-Digest-Authenticate', 'Grouped'}; +avp_name(613, 10415) -> + {'SIP-Item-Number', 'Unsigned32'}; +avp_name(607, 10415) -> + {'SIP-Number-Auth-Items', 'Unsigned32'}; +avp_name(622, 10415) -> + {'Secondary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(620, 10415) -> + {'Secondary-Event-Charging-Function-Name', + 'DiameterURI'}; +avp_name(614, 10415) -> + {'Server-Assignment-Type', 'Enumerated'}; +avp_name(602, 10415) -> {'Server-Name', 'UTF8String'}; +avp_name(650, 10415) -> + {'Session-Priority', 'Enumerated'}; +avp_name(631, 10415) -> + {'Supported-Applications', 'Grouped'}; +avp_name(628, 10415) -> + {'Supported-Features', 'Grouped'}; +avp_name(645, 10415) -> + {'To-SIP-Header', 'OctetString'}; +avp_name(637, 10415) -> {'UAR-Flags', 'Unsigned32'}; +avp_name(623, 10415) -> + {'User-Authorization-Type', 'Enumerated'}; +avp_name(606, 10415) -> {'User-Data', 'OctetString'}; +avp_name(624, 10415) -> + {'User-Data-Already-Available', 'Enumerated'}; +avp_name(600, 10415) -> + {'Visited-Network-Identifier', 'OctetString'}; +avp_name(634, 10415) -> + {'Wildcarded-Public-Identity', 'UTF8String'}; +avp_name(1471, 10415) -> {'3GPP2-MEID', 'OctetString'}; +avp_name(1643, 10415) -> {'A-MSISDN', 'OctetString'}; +avp_name(1435, 10415) -> {'AMBR', 'Grouped'}; +avp_name(1430, 10415) -> + {'APN-Configuration', 'Grouped'}; +avp_name(1429, 10415) -> + {'APN-Configuration-Profile', 'Grouped'}; +avp_name(1449, 10415) -> {'AUTN', 'OctetString'}; +avp_name(1426, 10415) -> + {'Access-Restriction-Data', 'Unsigned32'}; +avp_name(1612, 10415) -> {'Active-APN', 'Grouped'}; +avp_name(1611, 10415) -> + {'Age-Of-Location-Information', 'Unsigned32'}; +avp_name(1434, 10415) -> {'Alert-Reason', 'Enumerated'}; +avp_name(1428, 10415) -> + {'All-APN-Configurations-Included-Indicator', + 'Enumerated'}; +avp_name(1624, 10415) -> {'Area-Scope', 'Grouped'}; +avp_name(1413, 10415) -> + {'Authentication-Info', 'Grouped'}; +avp_name(1638, 10415) -> {'CLR-Flags', 'Unsigned32'}; +avp_name(1437, 10415) -> {'CSG-Id', 'Unsigned32'}; +avp_name(1436, 10415) -> + {'CSG-Subscription-Data', 'Grouped'}; +avp_name(1488, 10415) -> + {'Call-Barring-Info', 'Grouped'}; +avp_name(1420, 10415) -> + {'Cancellation-Type', 'Enumerated'}; +avp_name(1604, 10415) -> + {'Cell-Global-Identity', 'OctetString'}; +avp_name(1480, 10415) -> + {'Client-Identity', 'OctetString'}; +avp_name(1657, 10415) -> + {'Collection-Period-RRM-LTE', 'Enumerated'}; +avp_name(1658, 10415) -> + {'Collection-Period-RRM-UMTS', 'Enumerated'}; +avp_name(1468, 10415) -> + {'Complete-Data-List-Included-Indicator', 'Enumerated'}; +avp_name(1423, 10415) -> + {'Context-Identifier', 'Unsigned32'}; +avp_name(1704, 10415) -> + {'Core-Network-Restrictions', 'Unsigned32'}; +avp_name(1610, 10415) -> + {'Current-Location-Retrieved', 'Enumerated'}; +avp_name(1422, 10415) -> {'DSA-Flags', 'Unsigned32'}; +avp_name(1421, 10415) -> {'DSR-Flags', 'Unsigned32'}; +avp_name(1650, 10415) -> + {'Daylight-Saving-Time', 'Enumerated'}; +avp_name(1602, 10415) -> + {'E-UTRAN-Cell-Global-Identity', 'OctetString'}; +avp_name(1414, 10415) -> {'E-UTRAN-Vector', 'Grouped'}; +avp_name(1496, 10415) -> + {'EPS-Location-Information', 'Grouped'}; +avp_name(1431, 10415) -> + {'EPS-Subscribed-QoS-Profile', 'Grouped'}; +avp_name(1495, 10415) -> {'EPS-User-State', 'Grouped'}; +avp_name(1445, 10415) -> + {'Equipment-Status', 'Enumerated'}; +avp_name(1637, 10415) -> + {'Equivalent-PLMN-List', 'Grouped'}; +avp_name(1614, 10415) -> + {'Error-Diagnostic', 'Enumerated'}; +avp_name(1661, 10415) -> + {'Event-Threshold-Event-1F', 'Integer32'}; +avp_name(1662, 10415) -> + {'Event-Threshold-Event-1I', 'Integer32'}; +avp_name(1629, 10415) -> + {'Event-Threshold-RSRP', 'Unsigned32'}; +avp_name(1630, 10415) -> + {'Event-Threshold-RSRQ', 'Unsigned32'}; +avp_name(1439, 10415) -> {'Expiration-Date', 'Time'}; +avp_name(1621, 10415) -> {'Ext-PDP-Address', 'Address'}; +avp_name(1620, 10415) -> + {'Ext-PDP-Type', 'OctetString'}; +avp_name(1479, 10415) -> {'External-Client', 'Grouped'}; +avp_name(1416, 10415) -> {'GERAN-Vector', 'Grouped'}; +avp_name(1481, 10415) -> + {'GMLC-Restriction', 'Enumerated'}; +avp_name(1467, 10415) -> + {'GPRS-Subscription-Data', 'Grouped'}; +avp_name(1609, 10415) -> + {'Geodetic-Information', 'OctetString'}; +avp_name(1608, 10415) -> + {'Geographical-Information', 'OctetString'}; +avp_name(1418, 10415) -> {'HPLMN-ODB', 'Unsigned32'}; +avp_name(1493, 10415) -> + {'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + 'Enumerated'}; +avp_name(1491, 10415) -> + {'ICS-Indicator', 'Enumerated'}; +avp_name(1441, 10415) -> {'IDA-Flags', 'Unsigned32'}; +avp_name(1490, 10415) -> {'IDR-Flags', 'Unsigned32'}; +avp_name(1402, 10415) -> {'IMEI', 'UTF8String'}; +avp_name(1492, 10415) -> + {'IMS-Voice-Over-PS-Sessions-Supported', 'Enumerated'}; +avp_name(1412, 10415) -> + {'Immediate-Response-Preferred', 'Unsigned32'}; +avp_name(1419, 10415) -> {'Item-Number', 'Unsigned32'}; +avp_name(1623, 10415) -> {'Job-Type', 'Enumerated'}; +avp_name(1450, 10415) -> {'KASME', 'OctetString'}; +avp_name(1453, 10415) -> {'Kc', 'OctetString'}; +avp_name(1473, 10415) -> {'LCS-Info', 'Grouped'}; +avp_name(1475, 10415) -> + {'LCS-PrivacyException', 'Grouped'}; +avp_name(1618, 10415) -> + {'LIPA-Permission', 'Enumerated'}; +avp_name(1494, 10415) -> + {'Last-UE-Activity-Time', 'Time'}; +avp_name(1625, 10415) -> + {'List-Of-Measurements', 'Unsigned32'}; +avp_name(1649, 10415) -> {'Local-Time-Zone', 'Grouped'}; +avp_name(1606, 10415) -> + {'Location-Area-Identity', 'OctetString'}; +avp_name(1632, 10415) -> + {'Logging-Duration', 'Enumerated'}; +avp_name(1631, 10415) -> + {'Logging-Interval', 'Enumerated'}; +avp_name(1622, 10415) -> + {'MDT-Configuration', 'Grouped'}; +avp_name(1634, 10415) -> + {'MDT-User-Consent', 'Enumerated'}; +avp_name(1600, 10415) -> + {'MME-Location-Information', 'Grouped'}; +avp_name(1645, 10415) -> + {'MME-Number-for-MT-SMS', 'OctetString'}; +avp_name(1497, 10415) -> {'MME-User-State', 'Grouped'}; +avp_name(1485, 10415) -> {'MO-LR', 'Grouped'}; +avp_name(1616, 10415) -> {'MPS-Priority', 'Unsigned32'}; +avp_name(1656, 10415) -> + {'Measurement-Period-LTE', 'Enumerated'}; +avp_name(1655, 10415) -> + {'Measurement-Period-UMTS', 'Enumerated'}; +avp_name(1660, 10415) -> + {'Measurement-Quantity', 'OctetString'}; +avp_name(1443, 10415) -> {'NOR-Flags', 'Unsigned32'}; +avp_name(1417, 10415) -> + {'Network-Access-Mode', 'Enumerated'}; +avp_name(1478, 10415) -> + {'Notification-To-UE-User', 'Enumerated'}; +avp_name(1410, 10415) -> + {'Number-Of-Requested-Vectors', 'Unsigned32'}; +avp_name(1466, 10415) -> {'OMC-Id', 'OctetString'}; +avp_name(1425, 10415) -> + {'Operator-Determined-Barring', 'Unsigned32'}; +avp_name(1438, 10415) -> + {'PDN-GW-Allocation-Type', 'Enumerated'}; +avp_name(1456, 10415) -> {'PDN-Type', 'Enumerated'}; +avp_name(1469, 10415) -> {'PDP-Context', 'Grouped'}; +avp_name(1470, 10415) -> {'PDP-Type', 'OctetString'}; +avp_name(1482, 10415) -> {'PLMN-Client', 'Enumerated'}; +avp_name(1442, 10415) -> {'PUA-Flags', 'Unsigned32'}; +avp_name(1635, 10415) -> {'PUR-Flags', 'Unsigned32'}; +avp_name(1659, 10415) -> + {'Positioning-Method', 'OctetString'}; +avp_name(1404, 10415) -> + {'QoS-Subscribed', 'OctetString'}; +avp_name(1447, 10415) -> {'RAND', 'OctetString'}; +avp_name(1440, 10415) -> + {'RAT-Frequency-Selection-Priority-ID', 'Unsigned32'}; +avp_name(1411, 10415) -> + {'Re-Synchronization-Info', 'OctetString'}; +avp_name(1446, 10415) -> + {'Regional-Subscription-Zone-Code', 'OctetString'}; +avp_name(1633, 10415) -> + {'Relay-Node-Indicator', 'Enumerated'}; +avp_name(1628, 10415) -> + {'Report-Amount', 'Enumerated'}; +avp_name(1627, 10415) -> + {'Report-Interval', 'Enumerated'}; +avp_name(1626, 10415) -> + {'Reporting-Trigger', 'Unsigned32'}; +avp_name(1408, 10415) -> + {'Requested-EUTRAN-Authentication-Info', 'Grouped'}; +avp_name(1409, 10415) -> + {'Requested-UTRAN-GERAN-Authentication-Info', + 'Grouped'}; +avp_name(1663, 10415) -> + {'Restoration-Priority', 'Unsigned32'}; +avp_name(1457, 10415) -> + {'Roaming-Restricted-Due-To-Unsupported-Feature', + 'Enumerated'}; +avp_name(1605, 10415) -> + {'Routing-Area-Identity', 'OctetString'}; +avp_name(1601, 10415) -> + {'SGSN-Location-Information', 'Grouped'}; +avp_name(1498, 10415) -> {'SGSN-User-State', 'Grouped'}; +avp_name(1613, 10415) -> + {'SIPTO-Permission', 'Enumerated'}; +avp_name(1648, 10415) -> + {'SMS-Register-Request', 'Enumerated'}; +avp_name(1454, 10415) -> {'SRES', 'OctetString'}; +avp_name(1476, 10415) -> {'SS-Code', 'OctetString'}; +avp_name(1477, 10415) -> {'SS-Status', 'OctetString'}; +avp_name(1433, 10415) -> {'STN-SR', 'OctetString'}; +avp_name(1607, 10415) -> + {'Service-Area-Identity', 'OctetString'}; +avp_name(1483, 10415) -> {'Service-Type', 'Grouped'}; +avp_name(1484, 10415) -> + {'ServiceTypeIdentity', 'Unsigned32'}; +avp_name(1403, 10415) -> + {'Software-Version', 'UTF8String'}; +avp_name(1472, 10415) -> + {'Specific-APN-Info', 'Grouped'}; +avp_name(1619, 10415) -> + {'Subscribed-Periodic-RAU-TAU-Timer', 'Unsigned32'}; +avp_name(1636, 10415) -> + {'Subscribed-VSRVCC', 'Enumerated'}; +avp_name(1424, 10415) -> + {'Subscriber-Status', 'Enumerated'}; +avp_name(1400, 10415) -> + {'Subscription-Data', 'Grouped'}; +avp_name(1654, 10415) -> + {'Subscription-Data-Flags', 'Unsigned32'}; +avp_name(1487, 10415) -> {'TS-Code', 'OctetString'}; +avp_name(1486, 10415) -> + {'Teleservice-List', 'Grouped'}; +avp_name(1401, 10415) -> + {'Terminal-Information', 'Grouped'}; +avp_name(1642, 10415) -> {'Time-Zone', 'UTF8String'}; +avp_name(1452, 10415) -> + {'Trace-Collection-Entity', 'Address'}; +avp_name(1458, 10415) -> {'Trace-Data', 'Grouped'}; +avp_name(1462, 10415) -> {'Trace-Depth', 'Enumerated'}; +avp_name(1465, 10415) -> + {'Trace-Event-List', 'OctetString'}; +avp_name(1464, 10415) -> + {'Trace-Interface-List', 'OctetString'}; +avp_name(1463, 10415) -> + {'Trace-NE-Type-List', 'OctetString'}; +avp_name(1459, 10415) -> + {'Trace-Reference', 'OctetString'}; +avp_name(1603, 10415) -> + {'Tracking-Area-Identity', 'OctetString'}; +avp_name(1615, 10415) -> + {'UE-SRVCC-Capability', 'Enumerated'}; +avp_name(1680, 10415) -> + {'UE-Usage-Type', 'Unsigned32'}; +avp_name(1406, 10415) -> {'ULA-Flags', 'Unsigned32'}; +avp_name(1405, 10415) -> {'ULR-Flags', 'Unsigned32'}; +avp_name(1415, 10415) -> {'UTRAN-Vector', 'Grouped'}; +avp_name(1640, 10415) -> {'UVA-Flags', 'Unsigned32'}; +avp_name(1639, 10415) -> {'UVR-Flags', 'Unsigned32'}; +avp_name(1444, 10415) -> {'User-Id', 'UTF8String'}; +avp_name(1499, 10415) -> {'User-State', 'Enumerated'}; +avp_name(1641, 10415) -> + {'VPLMN-CSG-Subscription-Data', 'Grouped'}; +avp_name(1432, 10415) -> + {'VPLMN-Dynamic-Address-Allowed', 'Enumerated'}; +avp_name(1617, 10415) -> + {'VPLMN-LIPA-Allowed', 'Enumerated'}; +avp_name(1407, 10415) -> + {'Visited-PLMN-Id', 'OctetString'}; +avp_name(1448, 10415) -> {'XRES', 'OctetString'}; +avp_name(318, 10415) -> + {'3GPP-AAA-Server-Name', 'DiameterIdentity'}; +avp_name(1518, 10415) -> + {'AAA-Failure-Indication', 'Unsigned32'}; +avp_name(1539, 10415) -> {'AAR-Flags', 'Unsigned32'}; +avp_name(1503, 10415) -> {'AN-Trusted', 'Enumerated'}; +avp_name(1504, 10415) -> {'ANID', 'UTF8String'}; +avp_name(1511, 10415) -> + {'Access-Authorization-Flags', 'Unsigned32'}; +avp_name(1526, 10415) -> + {'Access-Network-Info', 'Grouped'}; +avp_name(1529, 10415) -> + {'Connectivity-Flags', 'Unsigned32'}; +avp_name(1521, 10415) -> {'DEA-Flags', 'Unsigned32'}; +avp_name(1520, 10415) -> {'DER-Flags', 'Unsigned32'}; +avp_name(1523, 10415) -> + {'DER-S6b-Flags', 'Unsigned32'}; +avp_name(1541, 10415) -> + {'ERP-Authorization', 'Unsigned32'}; +avp_name(1538, 10415) -> + {'Emergency-Services', 'Unsigned32'}; +avp_name(1516, 10415) -> + {'Full-Network-Name', 'OctetString'}; +avp_name(1525, 10415) -> {'HESSID', 'UTF8String'}; +avp_name(1540, 10415) -> + {'IMEI-Check-In-VPLMN-Result', 'Unsigned32'}; +avp_name(1506, 10415) -> {'MIP-FA-RK', 'OctetString'}; +avp_name(1507, 10415) -> + {'MIP-FA-RK-SPI', 'Unsigned32'}; +avp_name(124, undefined) -> + {'MIP6-Feature-Vector', 'Unsigned64'}; +avp_name(1537, 10415) -> + {'Maximum-Wait-Time', 'Unsigned32'}; +avp_name(506, undefined) -> + {'Mobile-Node-Identifier', 'UTF8String'}; +avp_name(1501, 10415) -> + {'Non-3GPP-IP-Access', 'Enumerated'}; +avp_name(1502, 10415) -> + {'Non-3GPP-IP-Access-APN', 'Enumerated'}; +avp_name(1500, 10415) -> + {'Non-3GPP-User-Data', 'Grouped'}; +avp_name(1536, 10415) -> + {'Origination-Time-Stamp', 'Unsigned64'}; +avp_name(1508, 10415) -> {'PPR-Flags', 'Unsigned32'}; +avp_name(1522, 10415) -> {'RAR-Flags', 'Unsigned32'}; +avp_name(1534, 10415) -> + {'SM-Back-Off-Timer', 'Unsigned32'}; +avp_name(1524, 10415) -> {'SSID', 'UTF8String'}; +avp_name(1517, 10415) -> + {'Short-Network-Name', 'OctetString'}; +avp_name(1531, 10415) -> {'TWAG-CP-Address', 'Address'}; +avp_name(1532, 10415) -> + {'TWAG-UP-Address', 'UTF8String'}; +avp_name(1510, 10415) -> + {'TWAN-Access-Info', 'Grouped'}; +avp_name(1527, 10415) -> + {'TWAN-Connection-Mode', 'Unsigned32'}; +avp_name(1528, 10415) -> + {'TWAN-Connectivity-Parameters', 'Grouped'}; +avp_name(1512, 10415) -> + {'TWAN-Default-APN-Context-Id', 'Unsigned32'}; +avp_name(1530, 10415) -> {'TWAN-PCO', 'OctetString'}; +avp_name(1533, 10415) -> + {'TWAN-S2a-Failure-Cause', 'Unsigned32'}; +avp_name(1505, 10415) -> {'Trace-Info', 'Grouped'}; +avp_name(1519, 10415) -> + {'Transport-Access-Type', 'Enumerated'}; +avp_name(1509, 10415) -> {'WLAN-Identifier', 'Grouped'}; +avp_name(1535, 10415) -> {'WLCP-Key', 'OctetString'}; +avp_name(4406, 10415) -> + {'3GPP-PS-Data-Off-Status', 'Enumerated'}; +avp_name(1276, 10415) -> + {'AF-Correlation-Information', 'Grouped'}; +avp_name(3933, 10415) -> + {'APN-Rate-Control', 'Grouped'}; +avp_name(3934, 10415) -> + {'APN-Rate-Control-Downlink', 'Grouped'}; +avp_name(3935, 10415) -> + {'APN-Rate-Control-Uplink', 'Grouped'}; +avp_name(4401, 10415) -> + {'Access-Network-Info-Change', 'Grouped'}; +avp_name(1263, 10415) -> + {'Access-Network-Information', 'OctetString'}; +avp_name(2709, 10415) -> + {'Access-Transfer-Information', 'Grouped'}; +avp_name(2710, 10415) -> + {'Access-Transfer-Type', 'Enumerated'}; +avp_name(2309, 10415) -> {'Account-Expiration', 'Time'}; +avp_name(2052, 10415) -> + {'Accumulated-Cost', 'Grouped'}; +avp_name(1217, 10415) -> {'Adaptations', 'Enumerated'}; +avp_name(1207, 10415) -> + {'Additional-Content-Information', 'Grouped'}; +avp_name(3936, 10415) -> + {'Additional-Exception-Reports', 'Enumerated'}; +avp_name(1205, 10415) -> + {'Additional-Type-Information', 'UTF8String'}; +avp_name(897, 10415) -> {'Address-Data', 'UTF8String'}; +avp_name(898, 10415) -> {'Address-Domain', 'Grouped'}; +avp_name(899, 10415) -> {'Address-Type', 'Enumerated'}; +avp_name(1208, 10415) -> + {'Addressee-Type', 'Enumerated'}; +avp_name(1280, 10415) -> + {'Alternate-Charged-Party-Address', 'UTF8String'}; +avp_name(3905, 10415) -> + {'Announcement-Identifier', 'Unsigned32'}; +avp_name(3904, 10415) -> + {'Announcement-Information', 'Grouped'}; +avp_name(3906, 10415) -> + {'Announcement-Order', 'Unsigned32'}; +avp_name(4408, 10415) -> + {'Announcing-PLMN-ID', 'UTF8String'}; +avp_name(3426, 10415) -> + {'Announcing-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3427, 10415) -> + {'Announcing-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(2053, 10415) -> + {'AoC-Cost-Information', 'Grouped'}; +avp_name(2310, 10415) -> {'AoC-Format', 'Enumerated'}; +avp_name(2054, 10415) -> {'AoC-Information', 'Grouped'}; +avp_name(2055, 10415) -> + {'AoC-Request-Type', 'Enumerated'}; +avp_name(2311, 10415) -> {'AoC-Service', 'Grouped'}; +avp_name(2312, 10415) -> + {'AoC-Service-Obligatory-Type', 'Enumerated'}; +avp_name(2313, 10415) -> + {'AoC-Service-Type', 'Enumerated'}; +avp_name(2314, 10415) -> + {'AoC-Subscription-Information', 'Grouped'}; +avp_name(1218, 10415) -> {'Applic-ID', 'UTF8String'}; +avp_name(837, 10415) -> + {'Application-Provided-Called-Party-Address', + 'UTF8String'}; +avp_name(836, 10415) -> + {'Application-Server', 'UTF8String'}; +avp_name(850, 10415) -> + {'Application-Server-Information', 'Grouped'}; +avp_name(3458, 10415) -> + {'Application-Specific-Data', 'OctetString'}; +avp_name(2035, 10415) -> + {'Associated-Party-Address', 'UTF8String'}; +avp_name(856, 10415) -> + {'Associated-URI', 'UTF8String'}; +avp_name(849, 10415) -> + {'Authorised-QoS', 'UTF8String'}; +avp_name(1219, 10415) -> + {'Aux-Applic-Info', 'UTF8String'}; +avp_name(2716, 10415) -> {'BSSID', 'UTF8String'}; +avp_name(1265, 10415) -> + {'Base-Time-Interval', 'Unsigned32'}; +avp_name(3411, 10415) -> + {'Basic-Service-Code', 'Grouped'}; +avp_name(3412, 10415) -> + {'Bearer-Capability', 'OctetString'}; +avp_name(854, 10415) -> + {'Bearer-Service', 'OctetString'}; +avp_name(846, 10415) -> {'CG-Address', 'Address'}; +avp_name(3421, 10415) -> + {'CN-Operator-Selection-Entity', 'Enumerated'}; +avp_name(3930, 10415) -> + {'CP-CIoT-EPS-Optimisation-Indicator', 'Enumerated'}; +avp_name(3927, 10415) -> + {'CPDT-Information', 'Grouped'}; +avp_name(2317, 10415) -> + {'CSG-Access-Mode', 'Enumerated'}; +avp_name(2318, 10415) -> + {'CSG-Membership-Indication', 'Enumerated'}; +avp_name(2304, 10415) -> + {'CUG-Information', 'OctetString'}; +avp_name(1250, 10415) -> + {'Called-Asserted-Identity', 'UTF8String'}; +avp_name(3916, 10415) -> + {'Called-Identity', 'UTF8String'}; +avp_name(3917, 10415) -> + {'Called-Identity-Change', 'Grouped'}; +avp_name(832, 10415) -> + {'Called-Party-Address', 'UTF8String'}; +avp_name(831, 10415) -> + {'Calling-Party-Address', 'UTF8String'}; +avp_name(2023, 10415) -> + {'Carrier-Select-Routing-Information', 'UTF8String'}; +avp_name(861, 10415) -> {'Cause-Code', 'Integer32'}; +avp_name(3924, 10415) -> + {'Cellular-Network-Information', 'OctetString'}; +avp_name(2037, 10415) -> + {'Change-Condition', 'Integer32'}; +avp_name(2038, 10415) -> {'Change-Time', 'Time'}; +avp_name(2118, 10415) -> + {'Charge-Reason-Code', 'Enumerated'}; +avp_name(857, 10415) -> {'Charged-Party', 'UTF8String'}; +avp_name(2066, 10415) -> + {'Charging-Characteristics-Selection-Mode', + 'Enumerated'}; +avp_name(4400, 10415) -> + {'Charging-Per-IP-CAN-Session-Indicator', 'Enumerated'}; +avp_name(1214, 10415) -> + {'Class-Identifier', 'Enumerated'}; +avp_name(2018, 10415) -> {'Client-Address', 'Address'}; +avp_name(1220, 10415) -> + {'Content-Class', 'Enumerated'}; +avp_name(828, 10415) -> + {'Content-Disposition', 'UTF8String'}; +avp_name(827, 10415) -> + {'Content-Length', 'Unsigned32'}; +avp_name(1206, 10415) -> {'Content-Size', 'Unsigned32'}; +avp_name(826, 10415) -> {'Content-Type', 'UTF8String'}; +avp_name(3459, 10415) -> {'Coverage-Info', 'Grouped'}; +avp_name(3428, 10415) -> + {'Coverage-Status', 'Enumerated'}; +avp_name(2056, 10415) -> {'Current-Tariff', 'Grouped'}; +avp_name(1221, 10415) -> {'DRM-Content', 'Enumerated'}; +avp_name(2001, 10415) -> + {'Data-Coding-Scheme', 'Integer32'}; +avp_name(1230, 10415) -> + {'Deferred-Location-Event-Type', 'UTF8String'}; +avp_name(1216, 10415) -> + {'Delivery-Report-Requested', 'Enumerated'}; +avp_name(2002, 10415) -> + {'Destination-Interface', 'Grouped'}; +avp_name(2039, 10415) -> {'Diagnostics', 'Integer32'}; +avp_name(4402, 10415) -> + {'Discoveree-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4403, 10415) -> + {'Discoveree-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(4404, 10415) -> + {'Discoverer-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4405, 10415) -> + {'Discoverer-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(1200, 10415) -> {'Domain-Name', 'UTF8String'}; +avp_name(2051, 10415) -> + {'Dynamic-Address-Flag', 'Enumerated'}; +avp_name(2068, 10415) -> + {'Dynamic-Address-Flag-Extension', 'Enumerated'}; +avp_name(3425, 10415) -> {'EPDG-Address', 'Address'}; +avp_name(1272, 10415) -> + {'Early-Media-Description', 'Grouped'}; +avp_name(3901, 10415) -> + {'Enhanced-Diagnostics', 'Grouped'}; +avp_name(1266, 10415) -> {'Envelope', 'Grouped'}; +avp_name(1267, 10415) -> {'Envelope-End-Time', 'Time'}; +avp_name(1268, 10415) -> + {'Envelope-Reporting', 'Enumerated'}; +avp_name(1269, 10415) -> + {'Envelope-Start-Time', 'Time'}; +avp_name(825, 10415) -> {'Event', 'UTF8String'}; +avp_name(1258, 10415) -> + {'Event-Charging-TimeStamp', 'Time'}; +avp_name(823, 10415) -> {'Event-Type', 'Grouped'}; +avp_name(888, 10415) -> {'Expires', 'Unsigned32'}; +avp_name(4413, 10415) -> + {'FE-Identifier-List', 'UTF8String'}; +avp_name(1224, 10415) -> + {'File-Repair-Supported', 'Enumerated'}; +avp_name(3415, 10415) -> + {'Forwarding-Pending', 'Enumerated'}; +avp_name(2708, 10415) -> {'From-Address', 'UTF8String'}; +avp_name(847, 10415) -> {'GGSN-Address', 'Address'}; +avp_name(2601, 10415) -> + {'IMS-Application-Reference-Identifier', 'UTF8String'}; +avp_name(841, 10415) -> + {'IMS-Charging-Identifier', 'UTF8String'}; +avp_name(1281, 10415) -> + {'IMS-Communication-Service-Identifier', 'UTF8String'}; +avp_name(2322, 10415) -> + {'IMS-Emergency-Indicator', 'Enumerated'}; +avp_name(876, 10415) -> {'IMS-Information', 'Grouped'}; +avp_name(2713, 10415) -> + {'IMS-Visited-Network-Identifier', 'UTF8String'}; +avp_name(2308, 10415) -> + {'IMSI-Unauthenticated-Flag', 'Enumerated'}; +avp_name(2603, 10415) -> + {'IP-Realm-Default-Indication', 'Enumerated'}; +avp_name(3416, 10415) -> {'ISUP-Cause', 'Grouped'}; +avp_name(3422, 10415) -> + {'ISUP-Cause-Diagnostics', 'OctetString'}; +avp_name(3423, 10415) -> + {'ISUP-Cause-Location', 'Unsigned32'}; +avp_name(3424, 10415) -> + {'ISUP-Cause-Value', 'Unsigned32'}; +avp_name(3414, 10415) -> + {'ISUP-Location-Number', 'OctetString'}; +avp_name(852, 10415) -> + {'Incoming-Trunk-Group-Id', 'UTF8String'}; +avp_name(2062, 10415) -> + {'Incremental-Cost', 'Grouped'}; +avp_name(2321, 10415) -> + {'Initial-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(3402, 10415) -> {'Instance-Id', 'UTF8String'}; +avp_name(838, 10415) -> + {'Inter-Operator-Identifier', 'Grouped'}; +avp_name(3902, 10415) -> + {'Inter-UE-Transfer', 'Enumerated'}; +avp_name(2003, 10415) -> {'Interface-Id', 'UTF8String'}; +avp_name(2004, 10415) -> + {'Interface-Port', 'UTF8String'}; +avp_name(2005, 10415) -> + {'Interface-Text', 'UTF8String'}; +avp_name(2006, 10415) -> + {'Interface-Type', 'Enumerated'}; +avp_name(1231, 10415) -> {'LCS-APN', 'UTF8String'}; +avp_name(1233, 10415) -> + {'LCS-Client-Dialed-By-MS', 'UTF8String'}; +avp_name(1234, 10415) -> + {'LCS-Client-External-ID', 'UTF8String'}; +avp_name(1232, 10415) -> {'LCS-Client-ID', 'Grouped'}; +avp_name(1235, 10415) -> {'LCS-Client-Name', 'Grouped'}; +avp_name(1241, 10415) -> + {'LCS-Client-Type', 'Enumerated'}; +avp_name(1236, 10415) -> + {'LCS-Data-Coding-Scheme', 'UTF8String'}; +avp_name(1237, 10415) -> + {'LCS-Format-Indicator', 'Enumerated'}; +avp_name(878, 10415) -> {'LCS-Information', 'Grouped'}; +avp_name(1238, 10415) -> + {'LCS-Name-String', 'UTF8String'}; +avp_name(1239, 10415) -> + {'LCS-Requestor-ID', 'Grouped'}; +avp_name(1240, 10415) -> + {'LCS-Requestor-ID-String', 'UTF8String'}; +avp_name(3914, 10415) -> {'Language', 'UTF8String'}; +avp_name(3429, 10415) -> + {'Layer-2-Group-ID', 'OctetString'}; +avp_name(2604, 10415) -> + {'Local-GW-Inserted-Indication', 'Enumerated'}; +avp_name(2063, 10415) -> + {'Local-Sequence-Number', 'Unsigned32'}; +avp_name(1242, 10415) -> + {'Location-Estimate', 'OctetString'}; +avp_name(1243, 10415) -> + {'Location-Estimate-Type', 'Enumerated'}; +avp_name(3460, 10415) -> {'Location-Info', 'Grouped'}; +avp_name(1244, 10415) -> {'Location-Type', 'Grouped'}; +avp_name(2020, 10415) -> + {'Low-Balance-Indication', 'Enumerated'}; +avp_name(2602, 10415) -> + {'Low-Priority-Indicator', 'Enumerated'}; +avp_name(2323, 10415) -> + {'MBMS-Charged-Party', 'Enumerated'}; +avp_name(2307, 10415) -> {'MBMS-GW-Address', 'Address'}; +avp_name(880, 10415) -> {'MBMS-Information', 'Grouped'}; +avp_name(1225, 10415) -> + {'MBMS-User-Service-Type', 'Enumerated'}; +avp_name(1203, 10415) -> {'MM-Content-Type', 'Grouped'}; +avp_name(1248, 10415) -> + {'MMBox-Storage-Requested', 'Enumerated'}; +avp_name(877, 10415) -> {'MMS-Information', 'Grouped'}; +avp_name(2030, 10415) -> + {'MMTel-Information', 'Grouped'}; +avp_name(2031, 10415) -> + {'MMTel-SService-Type', 'Unsigned32'}; +avp_name(3417, 10415) -> {'MSC-Address', 'OctetString'}; +avp_name(3406, 10415) -> {'MTC-IWF-Address', 'Address'}; +avp_name(882, 10415) -> + {'Media-Initiator-Flag', 'Enumerated'}; +avp_name(1288, 10415) -> + {'Media-Initiator-Party', 'UTF8String'}; +avp_name(889, 10415) -> {'Message-Body', 'Grouped'}; +avp_name(1213, 10415) -> {'Message-Class', 'Grouped'}; +avp_name(1210, 10415) -> {'Message-ID', 'UTF8String'}; +avp_name(1212, 10415) -> {'Message-Size', 'Unsigned32'}; +avp_name(1211, 10415) -> {'Message-Type', 'Enumerated'}; +avp_name(3430, 10415) -> + {'Monitored-PLMN-Identifier', 'UTF8String'}; +avp_name(3919, 10415) -> + {'Monitoring-Event-Configuration-Activity', + 'Integer32'}; +avp_name(3922, 10415) -> + {'Monitoring-Event-Functionality', 'Integer32'}; +avp_name(3921, 10415) -> + {'Monitoring-Event-Information', 'Grouped'}; +avp_name(3920, 10415) -> + {'Monitoring-Event-Report-Data', 'Grouped'}; +avp_name(3923, 10415) -> + {'Monitoring-Event-Report-Number', 'Unsigned32'}; +avp_name(3431, 10415) -> + {'Monitoring-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3432, 10415) -> + {'Monitoring-UE-Identifier', 'UTF8String'}; +avp_name(3433, 10415) -> + {'Monitoring-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(3928, 10415) -> {'NIDD-Submission', 'Grouped'}; +avp_name(2703, 10415) -> {'NNI-Information', 'Grouped'}; +avp_name(2704, 10415) -> {'NNI-Type', 'Enumerated'}; +avp_name(2705, 10415) -> + {'Neighbour-Node-Address', 'Address'}; +avp_name(3418, 10415) -> + {'Network-Call-Reference-Number', 'OctetString'}; +avp_name(2057, 10415) -> {'Next-Tariff', 'Grouped'}; +avp_name(862, 10415) -> + {'Node-Functionality', 'Enumerated'}; +avp_name(2064, 10415) -> {'Node-Id', 'UTF8String'}; +avp_name(2034, 10415) -> + {'Number-Of-Diversions', 'Unsigned32'}; +avp_name(2019, 10415) -> + {'Number-Of-Messages-Sent', 'Unsigned32'}; +avp_name(885, 10415) -> + {'Number-Of-Participants', 'Unsigned32'}; +avp_name(1282, 10415) -> + {'Number-Of-Received-Talk-Bursts', 'Unsigned32'}; +avp_name(1283, 10415) -> + {'Number-Of-Talk-Bursts', 'Unsigned32'}; +avp_name(2024, 10415) -> + {'Number-Portability-Routing-Information', + 'UTF8String'}; +avp_name(1278, 10415) -> + {'Offline-Charging', 'Grouped'}; +avp_name(2303, 10415) -> + {'Online-Charging-Flag', 'Enumerated'}; +avp_name(839, 10415) -> + {'Originating-IOI', 'UTF8String'}; +avp_name(864, 10415) -> {'Originator', 'Enumerated'}; +avp_name(886, 10415) -> + {'Originator-Address', 'Grouped'}; +avp_name(2009, 10415) -> + {'Originator-Interface', 'Grouped'}; +avp_name(2027, 10415) -> + {'Originator-Received-Address', 'Grouped'}; +avp_name(2008, 10415) -> + {'Originator-SCCP-Address', 'Address'}; +avp_name(2320, 10415) -> + {'Outgoing-Session-Id', 'UTF8String'}; +avp_name(853, 10415) -> + {'Outgoing-Trunk-Group-Id', 'UTF8String'}; +avp_name(3434, 10415) -> + {'PC3-Control-Protocol-Cause', 'Integer32'}; +avp_name(3435, 10415) -> + {'PC3-EPC-Control-Protocol-Cause', 'Integer32'}; +avp_name(1300, 10415) -> + {'PC5-Radio-Technology', 'Enumerated'}; +avp_name(2050, 10415) -> + {'PDN-Connection-Charging-ID', 'Unsigned32'}; +avp_name(1227, 10415) -> {'PDP-Address', 'Address'}; +avp_name(2606, 10415) -> + {'PDP-Address-Prefix-Length', 'Unsigned32'}; +avp_name(1247, 10415) -> + {'PDP-Context-Type', 'Enumerated'}; +avp_name(867, 10415) -> + {'PS-Append-Free-Format-Data', 'Enumerated'}; +avp_name(866, 10415) -> + {'PS-Free-Format-Data', 'OctetString'}; +avp_name(865, 10415) -> + {'PS-Furnish-Charging-Information', 'Grouped'}; +avp_name(874, 10415) -> {'PS-Information', 'Grouped'}; +avp_name(1259, 10415) -> + {'Participant-Access-Priority', 'Enumerated'}; +avp_name(2049, 10415) -> + {'Participant-Action-Type', 'Enumerated'}; +avp_name(1260, 10415) -> + {'Participant-Group', 'Grouped'}; +avp_name(887, 10415) -> + {'Participants-Involved', 'UTF8String'}; +avp_name(3913, 10415) -> + {'Play-Alternative', 'Enumerated'}; +avp_name(1261, 10415) -> + {'PoC-Change-Condition', 'Enumerated'}; +avp_name(1262, 10415) -> {'PoC-Change-Time', 'Time'}; +avp_name(858, 10415) -> + {'PoC-Controlling-Address', 'UTF8String'}; +avp_name(2025, 10415) -> + {'PoC-Event-Type', 'Enumerated'}; +avp_name(859, 10415) -> + {'PoC-Group-Name', 'UTF8String'}; +avp_name(879, 10415) -> {'PoC-Information', 'Grouped'}; +avp_name(883, 10415) -> + {'PoC-Server-Role', 'Enumerated'}; +avp_name(1229, 10415) -> + {'PoC-Session-Id', 'UTF8String'}; +avp_name(1277, 10415) -> + {'PoC-Session-Initiation-Type', 'Enumerated'}; +avp_name(884, 10415) -> + {'PoC-Session-Type', 'Enumerated'}; +avp_name(1252, 10415) -> {'PoC-User-Role', 'Grouped'}; +avp_name(1253, 10415) -> + {'PoC-User-Role-IDs', 'UTF8String'}; +avp_name(1254, 10415) -> + {'PoC-User-Role-Info-Units', 'Enumerated'}; +avp_name(1245, 10415) -> + {'Positioning-Data', 'UTF8String'}; +avp_name(2315, 10415) -> + {'Preferred-AoC-Currency', 'Unsigned32'}; +avp_name(1209, 10415) -> {'Priority', 'Enumerated'}; +avp_name(3915, 10415) -> + {'Privacy-Indicator', 'Enumerated'}; +avp_name(3440, 10415) -> + {'ProSe-3rd-Party-Application-ID', 'UTF8String'}; +avp_name(3461, 10415) -> + {'ProSe-Direct-Communication-Reception-Data-Container', + 'Grouped'}; +avp_name(3441, 10415) -> + {'ProSe-Direct-Communication-Transmission-Data-Container', + 'Grouped'}; +avp_name(3442, 10415) -> + {'ProSe-Direct-Discovery-Model', 'Enumerated'}; +avp_name(3443, 10415) -> + {'ProSe-Event-Type', 'Enumerated'}; +avp_name(3444, 10415) -> + {'ProSe-Function-IP-Address', 'Address'}; +avp_name(3457, 10415) -> + {'ProSe-Function-PLMN-Identifier', 'UTF8String'}; +avp_name(3445, 10415) -> + {'ProSe-Functionality', 'Enumerated'}; +avp_name(3446, 10415) -> + {'ProSe-Group-IP-Multicast-Address', 'Address'}; +avp_name(3447, 10415) -> + {'ProSe-Information', 'Grouped'}; +avp_name(3448, 10415) -> + {'ProSe-Range-Class', 'Enumerated'}; +avp_name(3449, 10415) -> + {'ProSe-Reason-For-Cancellation', 'Enumerated'}; +avp_name(3450, 10415) -> + {'ProSe-Request-Timestamp', 'Time'}; +avp_name(3451, 10415) -> + {'ProSe-Role-Of-UE', 'Enumerated'}; +avp_name(3452, 10415) -> + {'ProSe-Source-IP-Address', 'Address'}; +avp_name(4410, 10415) -> + {'ProSe-Target-Layer-2-ID', 'OctetString'}; +avp_name(3453, 10415) -> {'ProSe-UE-ID', 'OctetString'}; +avp_name(4409, 10415) -> + {'ProSe-UE-to-Network-Relay-UE-ID', 'OctetString'}; +avp_name(3454, 10415) -> + {'Proximity-Alert-Indication', 'Enumerated'}; +avp_name(3455, 10415) -> + {'Proximity-Alert-Timestamp', 'Time'}; +avp_name(3456, 10415) -> + {'Proximity-Cancellation-Timestamp', 'Time'}; +avp_name(881, 10415) -> + {'Quota-Consumption-Time', 'Unsigned32'}; +avp_name(871, 10415) -> + {'Quota-Holding-Time', 'Unsigned32'}; +avp_name(3912, 10415) -> + {'Quota-Indicator', 'Enumerated'}; +avp_name(1301, 10415) -> {'RAN-End-Time', 'Time'}; +avp_name(1302, 10415) -> + {'RAN-Secondary-RAT-Usage-Report', 'Grouped'}; +avp_name(1303, 10415) -> {'RAN-Start-Time', 'Time'}; +avp_name(3462, 10415) -> + {'Radio-Frequency', 'OctetString'}; +avp_name(3463, 10415) -> + {'Radio-Parameter-Set-Info', 'Grouped'}; +avp_name(3464, 10415) -> + {'Radio-Parameter-Set-Values', 'OctetString'}; +avp_name(3465, 10415) -> + {'Radio-Resources-Indicator', 'Integer32'}; +avp_name(3937, 10415) -> + {'Rate-Control-Max-Message-Size', 'Unsigned32'}; +avp_name(3938, 10415) -> + {'Rate-Control-Max-Rate', 'Unsigned32'}; +avp_name(3939, 10415) -> + {'Rate-Control-Time-Unit', 'Unsigned32'}; +avp_name(2058, 10415) -> {'Rate-Element', 'Grouped'}; +avp_name(1222, 10415) -> + {'Read-Reply-Report-Requested', 'Enumerated'}; +avp_name(2305, 10415) -> + {'Real-Time-Tariff-Information', 'Grouped'}; +avp_name(3401, 10415) -> + {'Reason-Header', 'UTF8String'}; +avp_name(1284, 10415) -> + {'Received-Talk-Burst-Time', 'Unsigned32'}; +avp_name(1285, 10415) -> + {'Received-Talk-Burst-Volume', 'Unsigned32'}; +avp_name(1201, 10415) -> + {'Recipient-Address', 'Grouped'}; +avp_name(2026, 10415) -> {'Recipient-Info', 'Grouped'}; +avp_name(2028, 10415) -> + {'Recipient-Received-Address', 'Grouped'}; +avp_name(2010, 10415) -> + {'Recipient-SCCP-Address', 'Address'}; +avp_name(2022, 10415) -> + {'Refund-Information', 'OctetString'}; +avp_name(3925, 10415) -> + {'Related-Change-Condition-Information', 'Grouped'}; +avp_name(2711, 10415) -> + {'Related-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(2712, 10415) -> + {'Related-IMS-Charging-Identifier-Node', 'Address'}; +avp_name(3926, 10415) -> {'Related-Trigger', 'Grouped'}; +avp_name(2706, 10415) -> + {'Relationship-Mode', 'Enumerated'}; +avp_name(4411, 10415) -> + {'Relay-IP-address', 'Address'}; +avp_name(2021, 10415) -> + {'Remaining-Balance', 'Grouped'}; +avp_name(1223, 10415) -> + {'Reply-Applic-ID', 'UTF8String'}; +avp_name(2011, 10415) -> + {'Reply-Path-Requested', 'Enumerated'}; +avp_name(872, 10415) -> + {'Reporting-Reason', 'Enumerated'}; +avp_name(3436, 10415) -> + {'Requested-PLMN-Identifier', 'UTF8String'}; +avp_name(1251, 10415) -> + {'Requested-Party-Address', 'UTF8String'}; +avp_name(3437, 10415) -> + {'Requestor-PLMN-Identifier', 'UTF8String'}; +avp_name(829, 10415) -> {'Role-Of-Node', 'Enumerated'}; +avp_name(3438, 10415) -> + {'Role-Of-ProSe-Function', 'Enumerated'}; +avp_name(3403, 10415) -> + {'Route-Header-Received', 'UTF8String'}; +avp_name(3404, 10415) -> + {'Route-Header-Transmitted', 'UTF8String'}; +avp_name(3940, 10415) -> {'SCS-AS-Address', 'Grouped'}; +avp_name(3941, 10415) -> {'SCS-Address', 'Address'}; +avp_name(3942, 10415) -> + {'SCS-Realm', 'DiameterIdentity'}; +avp_name(1275, 10415) -> + {'SDP-Answer-Timestamp', 'Time'}; +avp_name(843, 10415) -> + {'SDP-Media-Component', 'Grouped'}; +avp_name(845, 10415) -> + {'SDP-Media-Description', 'UTF8String'}; +avp_name(844, 10415) -> + {'SDP-Media-Name', 'UTF8String'}; +avp_name(1274, 10415) -> + {'SDP-Offer-Timestamp', 'Time'}; +avp_name(842, 10415) -> + {'SDP-Session-Description', 'UTF8String'}; +avp_name(1273, 10415) -> {'SDP-TimeStamps', 'Grouped'}; +avp_name(2036, 10415) -> {'SDP-Type', 'Enumerated'}; +avp_name(1228, 10415) -> {'SGSN-Address', 'Address'}; +avp_name(2067, 10415) -> {'SGW-Address', 'Address'}; +avp_name(2065, 10415) -> {'SGW-Change', 'Enumerated'}; +avp_name(3931, 10415) -> + {'SGi-PtP-Tunnelling-Method', 'Enumerated'}; +avp_name(824, 10415) -> {'SIP-Method', 'UTF8String'}; +avp_name(834, 10415) -> + {'SIP-Request-Timestamp', 'Time'}; +avp_name(2301, 10415) -> + {'SIP-Request-Timestamp-Fraction', 'Unsigned32'}; +avp_name(835, 10415) -> + {'SIP-Response-Timestamp', 'Time'}; +avp_name(2302, 10415) -> + {'SIP-Response-Timestamp-Fraction', 'Unsigned32'}; +avp_name(3407, 10415) -> + {'SM-Device-Trigger-Indicator', 'Enumerated'}; +avp_name(3405, 10415) -> + {'SM-Device-Trigger-Information', 'Grouped'}; +avp_name(2012, 10415) -> {'SM-Discharge-Time', 'Time'}; +avp_name(2007, 10415) -> + {'SM-Message-Type', 'Enumerated'}; +avp_name(2013, 10415) -> + {'SM-Protocol-ID', 'OctetString'}; +avp_name(3408, 10415) -> + {'SM-Sequence-Number', 'Unsigned32'}; +avp_name(2029, 10415) -> + {'SM-Service-Type', 'Enumerated'}; +avp_name(2014, 10415) -> {'SM-Status', 'OctetString'}; +avp_name(2015, 10415) -> + {'SM-User-Data-Header', 'OctetString'}; +avp_name(2000, 10415) -> {'SMS-Information', 'Grouped'}; +avp_name(2016, 10415) -> {'SMS-Node', 'Enumerated'}; +avp_name(3409, 10415) -> {'SMS-Result', 'Unsigned32'}; +avp_name(2017, 10415) -> {'SMSC-Address', 'Address'}; +avp_name(2059, 10415) -> {'Scale-Factor', 'Grouped'}; +avp_name(1304, 10415) -> + {'Secondary-RAT-Type', 'OctetString'}; +avp_name(848, 10415) -> + {'Served-Party-IP-Address', 'Address'}; +avp_name(2040, 10415) -> + {'Service-Data-Container', 'Grouped'}; +avp_name(855, 10415) -> {'Service-Id', 'UTF8String'}; +avp_name(873, 10415) -> + {'Service-Information', 'Grouped'}; +avp_name(2032, 10415) -> {'Service-Mode', 'Unsigned32'}; +avp_name(863, 10415) -> + {'Service-Specific-Data', 'UTF8String'}; +avp_name(1249, 10415) -> + {'Service-Specific-Info', 'Grouped'}; +avp_name(1257, 10415) -> + {'Service-Specific-Type', 'Unsigned32'}; +avp_name(3929, 10415) -> + {'Serving-Node-Identity', 'DiameterIdentity'}; +avp_name(2047, 10415) -> + {'Serving-Node-Type', 'Enumerated'}; +avp_name(2707, 10415) -> + {'Session-Direction', 'Enumerated'}; +avp_name(2041, 10415) -> {'Start-Time', 'Time'}; +avp_name(3419, 10415) -> {'Start-of-Charging', 'Time'}; +avp_name(2702, 10415) -> + {'Status-AS-Code', 'Enumerated'}; +avp_name(2042, 10415) -> {'Stop-Time', 'Time'}; +avp_name(1202, 10415) -> {'Submission-Time', 'Time'}; +avp_name(2033, 10415) -> + {'Subscriber-Role', 'Enumerated'}; +avp_name(2048, 10415) -> + {'Supplementary-Service', 'Grouped'}; +avp_name(2717, 10415) -> + {'TAD-Identifier', 'Enumerated'}; +avp_name(3903, 10415) -> {'TWAG-Address', 'Address'}; +avp_name(2714, 10415) -> + {'TWAN-User-Location-Info', 'Grouped'}; +avp_name(1255, 10415) -> + {'Talk-Burst-Exchange', 'Grouped'}; +avp_name(1286, 10415) -> + {'Talk-Burst-Time', 'Unsigned32'}; +avp_name(1287, 10415) -> + {'Talk-Burst-Volume', 'Unsigned32'}; +avp_name(4412, 10415) -> + {'Target-IP-Address', 'Address'}; +avp_name(2060, 10415) -> + {'Tariff-Information', 'Grouped'}; +avp_name(2306, 10415) -> {'Tariff-XML', 'UTF8String'}; +avp_name(3413, 10415) -> {'Teleservice', 'OctetString'}; +avp_name(840, 10415) -> + {'Terminating-IOI', 'UTF8String'}; +avp_name(3466, 10415) -> + {'Time-First-Reception', 'Time'}; +avp_name(3467, 10415) -> + {'Time-First-Transmission', 'Time'}; +avp_name(2043, 10415) -> {'Time-First-Usage', 'Time'}; +avp_name(3911, 10415) -> + {'Time-Indicator', 'Unsigned32'}; +avp_name(2044, 10415) -> {'Time-Last-Usage', 'Time'}; +avp_name(1270, 10415) -> + {'Time-Quota-Mechanism', 'Grouped'}; +avp_name(868, 10415) -> + {'Time-Quota-Threshold', 'Unsigned32'}; +avp_name(1271, 10415) -> + {'Time-Quota-Type', 'Enumerated'}; +avp_name(833, 10415) -> {'Time-Stamps', 'Grouped'}; +avp_name(2045, 10415) -> {'Time-Usage', 'Unsigned32'}; +avp_name(1215, 10415) -> {'Token-Text', 'UTF8String'}; +avp_name(2046, 10415) -> + {'Traffic-Data-Volumes', 'Grouped'}; +avp_name(2605, 10415) -> + {'Transcoder-Inserted-Indication', 'Enumerated'}; +avp_name(2701, 10415) -> + {'Transit-IOI-List', 'UTF8String'}; +avp_name(3468, 10415) -> + {'Transmitter-Info', 'Grouped'}; +avp_name(1264, 10415) -> {'Trigger', 'Grouped'}; +avp_name(870, 10415) -> {'Trigger-Type', 'Enumerated'}; +avp_name(851, 10415) -> {'Trunk-Group-Id', 'Grouped'}; +avp_name(1204, 10415) -> {'Type-Number', 'Enumerated'}; +avp_name(3932, 10415) -> + {'UNI-PDU-CP-Only-Flag', 'Enumerated'}; +avp_name(3918, 10415) -> + {'UWAN-User-Location-Info', 'Grouped'}; +avp_name(2061, 10415) -> {'Unit-Cost', 'Grouped'}; +avp_name(1226, 10415) -> + {'Unit-Quota-Threshold', 'Unsigned32'}; +avp_name(4407, 10415) -> + {'Unused-Quota-Timer', 'Unsigned32'}; +avp_name(3439, 10415) -> + {'Usage-Information-Report-Sequence-Number', + 'Integer32'}; +avp_name(2319, 10415) -> + {'User-CSG-Information', 'Grouped'}; +avp_name(1279, 10415) -> + {'User-Participating-Type', 'Enumerated'}; +avp_name(830, 10415) -> + {'User-Session-Id', 'UTF8String'}; +avp_name(3410, 10415) -> {'VCS-Information', 'Grouped'}; +avp_name(3420, 10415) -> {'VLR-Number', 'OctetString'}; +avp_name(3907, 10415) -> {'Variable-Part', 'Grouped'}; +avp_name(3908, 10415) -> + {'Variable-Part-Order', 'Unsigned32'}; +avp_name(3909, 10415) -> + {'Variable-Part-Type', 'Enumerated'}; +avp_name(3910, 10415) -> + {'Variable-Part-Value', 'UTF8String'}; +avp_name(869, 10415) -> + {'Volume-Quota-Threshold', 'Unsigned32'}; +avp_name(301, 13019) -> + {'Address-Realm', 'OctetString'}; +avp_name(307, 13019) -> + {'Aggregation-Network-Type', 'Enumerated'}; +avp_name(312, 13019) -> + {'Application-Class-ID', 'UTF8String'}; +avp_name(305, 13019) -> + {'IP-Connectivity-Status', 'Enumerated'}; +avp_name(314, 13019) -> + {'Initial-Gate-Setting-ID', 'Unsigned32'}; +avp_name(302, 13019) -> + {'Logical-Access-ID', 'OctetString'}; +avp_name(309, 13019) -> + {'Maximum-Allowed-Bandwidth-DL', 'Unsigned32'}; +avp_name(308, 13019) -> + {'Maximum-Allowed-Bandwidth-UL', 'Unsigned32'}; +avp_name(313, 13019) -> + {'Physical-Access-ID', 'UTF8String'}; +avp_name(315, 13019) -> + {'QoS-Profile-ID', 'Unsigned32'}; +avp_name(311, 13019) -> + {'Transport-Class', 'Unsigned32'}; +avp_name(345, undefined) -> + {'MIP-Algorithm-Type', 'Enumerated'}; +avp_name(338, undefined) -> + {'MIP-Auth-Input-Data-Length', 'Unsigned32'}; +avp_name(339, undefined) -> + {'MIP-Authenticator-Length', 'Unsigned32'}; +avp_name(340, undefined) -> + {'MIP-Authenticator-Offset', 'Unsigned32'}; +avp_name(336, undefined) -> + {'MIP-Candidate-Home-Agent-Host', 'DiameterIdentity'}; +avp_name(344, undefined) -> + {'MIP-FA-Challenge', 'OctetString'}; +avp_name(328, undefined) -> + {'MIP-FA-to-HA-MSA', 'Grouped'}; +avp_name(318, undefined) -> + {'MIP-FA-to-HA-SPI', 'Unsigned32'}; +avp_name(326, undefined) -> + {'MIP-FA-to-MN-MSA', 'Grouped'}; +avp_name(319, undefined) -> + {'MIP-FA-to-MN-SPI', 'Unsigned32'}; +avp_name(337, undefined) -> + {'MIP-Feature-Vector', 'Unsigned32'}; +avp_name(342, undefined) -> + {'MIP-Filter-Rule', 'IPFilterRule'}; +avp_name(329, undefined) -> + {'MIP-HA-to-FA-MSA', 'Grouped'}; +avp_name(323, undefined) -> + {'MIP-HA-to-FA-SPI', 'Unsigned32'}; +avp_name(332, undefined) -> + {'MIP-HA-to-MN-MSA', 'Grouped'}; +avp_name(334, undefined) -> + {'MIP-Home-Agent-Address', 'Address'}; +avp_name(348, undefined) -> + {'MIP-Home-Agent-Host', 'Grouped'}; +avp_name(322, undefined) -> + {'MIP-MN-AAA-Auth', 'Grouped'}; +avp_name(341, undefined) -> + {'MIP-MN-AAA-SPI', 'Unsigned32'}; +avp_name(325, undefined) -> + {'MIP-MN-to-FA-MSA', 'Grouped'}; +avp_name(331, undefined) -> + {'MIP-MN-to-HA-MSA', 'Grouped'}; +avp_name(367, undefined) -> + {'MIP-MSA-Lifetime', 'Unsigned32'}; +avp_name(333, undefined) -> + {'MIP-Mobile-Node-Address', 'Address'}; +avp_name(335, undefined) -> + {'MIP-Nonce', 'OctetString'}; +avp_name(347, undefined) -> + {'MIP-Originating-Foreign-AAA', 'Grouped'}; +avp_name(321, undefined) -> + {'MIP-Reg-Reply', 'OctetString'}; +avp_name(320, undefined) -> + {'MIP-Reg-Request', 'OctetString'}; +avp_name(346, undefined) -> + {'MIP-Replay-Mode', 'Enumerated'}; +avp_name(343, undefined) -> + {'MIP-Session-Key', 'OctetString'}; +avp_name(411, undefined) -> + {'CC-Correlation-Id', 'OctetString'}; +avp_name(412, undefined) -> + {'CC-Input-Octets', 'Unsigned64'}; +avp_name(413, undefined) -> {'CC-Money', 'Grouped'}; +avp_name(414, undefined) -> + {'CC-Output-Octets', 'Unsigned64'}; +avp_name(415, undefined) -> + {'CC-Request-Number', 'Unsigned32'}; +avp_name(416, undefined) -> + {'CC-Request-Type', 'Enumerated'}; +avp_name(417, undefined) -> + {'CC-Service-Specific-Units', 'Unsigned64'}; +avp_name(418, undefined) -> + {'CC-Session-Failover', 'Enumerated'}; +avp_name(419, undefined) -> + {'CC-Sub-Session-Id', 'Unsigned64'}; +avp_name(420, undefined) -> {'CC-Time', 'Unsigned32'}; +avp_name(421, undefined) -> + {'CC-Total-Octets', 'Unsigned64'}; +avp_name(454, undefined) -> + {'CC-Unit-Type', 'Enumerated'}; +avp_name(422, undefined) -> + {'Check-Balance-Result', 'Enumerated'}; +avp_name(423, undefined) -> + {'Cost-Information', 'Grouped'}; +avp_name(424, undefined) -> {'Cost-Unit', 'UTF8String'}; +avp_name(426, undefined) -> + {'Credit-Control', 'Enumerated'}; +avp_name(427, undefined) -> + {'Credit-Control-Failure-Handling', 'Enumerated'}; +avp_name(425, undefined) -> + {'Currency-Code', 'Unsigned32'}; +avp_name(428, undefined) -> + {'Direct-Debiting-Failure-Handling', 'Enumerated'}; +avp_name(429, undefined) -> {'Exponent', 'Integer32'}; +avp_name(449, undefined) -> + {'Final-Unit-Action', 'Enumerated'}; +avp_name(430, undefined) -> + {'Final-Unit-Indication', 'Grouped'}; +avp_name(453, undefined) -> + {'G-S-U-Pool-Identifier', 'Unsigned32'}; +avp_name(457, undefined) -> + {'G-S-U-Pool-Reference', 'Grouped'}; +avp_name(431, undefined) -> + {'Granted-Service-Unit', 'Grouped'}; +avp_name(456, undefined) -> + {'Multiple-Services-Credit-Control', 'Grouped'}; +avp_name(455, undefined) -> + {'Multiple-Services-Indicator', 'Enumerated'}; +avp_name(432, undefined) -> + {'Rating-Group', 'Unsigned32'}; +avp_name(433, undefined) -> + {'Redirect-Address-Type', 'Enumerated'}; +avp_name(434, undefined) -> + {'Redirect-Server', 'Grouped'}; +avp_name(435, undefined) -> + {'Redirect-Server-Address', 'UTF8String'}; +avp_name(436, undefined) -> + {'Requested-Action', 'Enumerated'}; +avp_name(437, undefined) -> + {'Requested-Service-Unit', 'Grouped'}; +avp_name(438, undefined) -> + {'Restriction-Filter-Rule', 'IPFilterRule'}; +avp_name(461, undefined) -> + {'Service-Context-Id', 'UTF8String'}; +avp_name(439, undefined) -> + {'Service-Identifier', 'Unsigned32'}; +avp_name(440, undefined) -> + {'Service-Parameter-Info', 'Grouped'}; +avp_name(441, undefined) -> + {'Service-Parameter-Type', 'Unsigned32'}; +avp_name(442, undefined) -> + {'Service-Parameter-Value', 'OctetString'}; +avp_name(443, undefined) -> + {'Subscription-Id', 'Grouped'}; +avp_name(444, undefined) -> + {'Subscription-Id-Data', 'UTF8String'}; +avp_name(450, undefined) -> + {'Subscription-Id-Type', 'Enumerated'}; +avp_name(452, undefined) -> + {'Tariff-Change-Usage', 'Enumerated'}; +avp_name(451, undefined) -> + {'Tariff-Time-Change', 'Time'}; +avp_name(445, undefined) -> {'Unit-Value', 'Grouped'}; +avp_name(446, undefined) -> + {'Used-Service-Unit', 'Grouped'}; +avp_name(458, undefined) -> + {'User-Equipment-Info', 'Grouped'}; +avp_name(459, undefined) -> + {'User-Equipment-Info-Type', 'Enumerated'}; +avp_name(460, undefined) -> + {'User-Equipment-Info-Value', 'OctetString'}; +avp_name(448, undefined) -> + {'Validity-Time', 'Unsigned32'}; +avp_name(447, undefined) -> + {'Value-Digits', 'Integer64'}; +avp_name(486, undefined) -> + {'MIP6-Agent-Info', 'Grouped'}; +avp_name(125, undefined) -> + {'MIP6-Home-Link-Prefix', 'OctetString'}; +avp_name(128, undefined) -> + {'Location-Data', 'OctetString'}; +avp_name(127, undefined) -> + {'Location-Information', 'OctetString'}; +avp_name(126, undefined) -> + {'Operator-Name', 'OctetString'}; +avp_name(569, undefined) -> + {'Absolute-End-Fractional-Seconds', 'Unsigned32'}; +avp_name(568, undefined) -> + {'Absolute-End-Time', 'Time'}; +avp_name(567, undefined) -> + {'Absolute-Start-Fractional-Seconds', 'Unsigned32'}; +avp_name(566, undefined) -> + {'Absolute-Start-Time', 'Time'}; +avp_name(556, undefined) -> {'C-VID-End', 'Unsigned32'}; +avp_name(555, undefined) -> + {'C-VID-Start', 'Unsigned32'}; +avp_name(511, undefined) -> {'Classifier', 'Grouped'}; +avp_name(512, undefined) -> + {'Classifier-ID', 'OctetString'}; +avp_name(564, undefined) -> + {'Day-Of-Month-Mask', 'Unsigned32'}; +avp_name(563, undefined) -> + {'Day-Of-Week-Mask', 'Unsigned32'}; +avp_name(535, undefined) -> + {'Diffserv-Code-Point', 'Enumerated'}; +avp_name(514, undefined) -> {'Direction', 'Enumerated'}; +avp_name(550, undefined) -> + {'ETH-Ether-Type', 'OctetString'}; +avp_name(548, undefined) -> {'ETH-Option', 'Grouped'}; +avp_name(549, undefined) -> + {'ETH-Proto-Type', 'Grouped'}; +avp_name(551, undefined) -> {'ETH-SAP', 'OctetString'}; +avp_name(527, undefined) -> + {'EUI64-Address', 'OctetString'}; +avp_name(528, undefined) -> + {'EUI64-Address-Mask', 'Grouped'}; +avp_name(529, undefined) -> + {'EUI64-Address-Mask-Pattern', 'OctetString'}; +avp_name(577, undefined) -> + {'Excess-Treatment', 'Grouped'}; +avp_name(509, undefined) -> {'Filter-Rule', 'Grouped'}; +avp_name(510, undefined) -> + {'Filter-Rule-Precedence', 'Unsigned32'}; +avp_name(536, undefined) -> + {'Fragmentation-Flag', 'Enumerated'}; +avp_name(515, undefined) -> {'From-Spec', 'Grouped'}; +avp_name(559, undefined) -> + {'High-User-Priority', 'Unsigned32'}; +avp_name(547, undefined) -> {'ICMP-Code', 'Enumerated'}; +avp_name(545, undefined) -> {'ICMP-Type', 'Grouped'}; +avp_name(546, undefined) -> + {'ICMP-Type-Number', 'Enumerated'}; +avp_name(518, undefined) -> {'IP-Address', 'Address'}; +avp_name(521, undefined) -> + {'IP-Address-End', 'Address'}; +avp_name(522, undefined) -> + {'IP-Address-Mask', 'Grouped'}; +avp_name(519, undefined) -> + {'IP-Address-Range', 'Grouped'}; +avp_name(520, undefined) -> + {'IP-Address-Start', 'Address'}; +avp_name(523, undefined) -> + {'IP-Mask-Bit-Mask-Width', 'Unsigned32'}; +avp_name(537, undefined) -> {'IP-Option', 'Grouped'}; +avp_name(538, undefined) -> + {'IP-Option-Type', 'Enumerated'}; +avp_name(539, undefined) -> + {'IP-Option-Value', 'OctetString'}; +avp_name(558, undefined) -> + {'Low-User-Priority', 'Unsigned32'}; +avp_name(524, undefined) -> + {'MAC-Address', 'OctetString'}; +avp_name(525, undefined) -> + {'MAC-Address-Mask', 'Grouped'}; +avp_name(526, undefined) -> + {'MAC-Address-Mask-Pattern', 'OctetString'}; +avp_name(565, undefined) -> + {'Month-Of-Year-Mask', 'Unsigned32'}; +avp_name(517, undefined) -> {'Negated', 'Enumerated'}; +avp_name(530, undefined) -> {'Port', 'Integer32'}; +avp_name(533, undefined) -> {'Port-End', 'Integer32'}; +avp_name(531, undefined) -> {'Port-Range', 'Grouped'}; +avp_name(532, undefined) -> {'Port-Start', 'Integer32'}; +avp_name(513, undefined) -> {'Protocol', 'Enumerated'}; +avp_name(578, undefined) -> + {'QoS-Capability', 'Grouped'}; +avp_name(576, undefined) -> + {'QoS-Parameters', 'Grouped'}; +avp_name(573, undefined) -> + {'QoS-Profile-Id', 'Unsigned32'}; +avp_name(574, undefined) -> + {'QoS-Profile-Template', 'Grouped'}; +avp_name(508, undefined) -> + {'QoS-Resources', 'Grouped'}; +avp_name(575, undefined) -> + {'QoS-Semantics', 'Enumerated'}; +avp_name(554, undefined) -> {'S-VID-End', 'Unsigned32'}; +avp_name(553, undefined) -> + {'S-VID-Start', 'Unsigned32'}; +avp_name(544, undefined) -> + {'TCP-Flag-Type', 'Unsigned32'}; +avp_name(543, undefined) -> {'TCP-Flags', 'Grouped'}; +avp_name(540, undefined) -> {'TCP-Option', 'Grouped'}; +avp_name(541, undefined) -> + {'TCP-Option-Type', 'Enumerated'}; +avp_name(542, undefined) -> + {'TCP-Option-Value', 'OctetString'}; +avp_name(560, undefined) -> + {'Time-Of-Day-Condition', 'Grouped'}; +avp_name(562, undefined) -> + {'Time-Of-Day-End', 'Unsigned32'}; +avp_name(561, undefined) -> + {'Time-Of-Day-Start', 'Unsigned32'}; +avp_name(570, undefined) -> + {'Timezone-Flag', 'Enumerated'}; +avp_name(571, undefined) -> + {'Timezone-Offset', 'Integer32'}; +avp_name(516, undefined) -> {'To-Spec', 'Grouped'}; +avp_name(572, undefined) -> + {'Treatment-Action', 'Enumerated'}; +avp_name(534, undefined) -> + {'Use-Assigned-Address', 'Enumerated'}; +avp_name(557, undefined) -> + {'User-Priority-Range', 'Grouped'}; +avp_name(552, undefined) -> + {'VLAN-ID-Range', 'Grouped'}; +avp_name(493, undefined) -> + {'Service-Selection', 'UTF8String'}; +avp_name(622, undefined) -> + {'OC-Feature-Vector', 'Unsigned64'}; +avp_name(623, undefined) -> {'OC-OLR', 'Grouped'}; +avp_name(627, undefined) -> + {'OC-Reduction-Percentage', 'Unsigned32'}; +avp_name(626, undefined) -> + {'OC-Report-Type', 'Enumerated'}; +avp_name(624, undefined) -> + {'OC-Sequence-Number', 'Unsigned64'}; +avp_name(621, undefined) -> + {'OC-Supported-Features', 'Grouped'}; +avp_name(625, undefined) -> + {'OC-Validity-Duration', 'Unsigned32'}; +avp_name(301, undefined) -> {'DRMP', 'Enumerated'}; +avp_name(650, undefined) -> {'Load', 'Grouped'}; +avp_name(651, undefined) -> {'Load-Type', 'Enumerated'}; +avp_name(652, undefined) -> + {'Load-Value', 'Unsigned64'}; +avp_name(649, undefined) -> + {'SourceID', 'DiameterIdentity'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('AAR') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Auth-Request-Type', 1}, + {'User-Name', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'MIP6-Feature-Vector', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'QoS-Capability', {0, 1}}, + {'Service-Selection', {0, 1}}, + {'OC-Supported-Features', {0, 1}}, + {'Origination-Time-Stamp', {0, 1}}, + {'Maximum-Wait-Time', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Emergency-Services', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('AAA') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Auth-Request-Type', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'MIP6-Feature-Vector', {0, 1}}, + {'Session-Timeout', {0, 1}}, + {'APN-Configuration', {0, 1}}, + {'QoS-Resources', {0, 1}}, + {'AN-Trusted', {0, 1}}, + {'Redirect-Host', {0, '*'}}, + {'Trace-Info', {0, 1}}, + {'OC-Supported-Features', {0, 1}}, + {'OC-OLR', {0, 1}}, + {'Load', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('STR') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Termination-Cause', 1}, + {'User-Name', {0, 1}}, + {'OC-Supported-Features', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('STA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'OC-Supported-Features', {0, 1}}, + {'OC-OLR', {0, 1}}, + {'Load', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ASR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'Auth-Application-Id', 1}, + {'User-Name', {0, 1}}, + {'Auth-Session-State', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('ASA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'AVP', {0, '*'}}]; +avp_arity('RAR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'Auth-Application-Id', 1}, + {'Re-Auth-Request-Type', 1}, + {'User-Name', {0, 1}}, + {'RAR-Flags', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('RAA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Emergency-Info') -> + [{'MIP6-Agent-Info', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Charging-Identifier-Gx') -> + [{'Access-Network-Charging-Identifier-Value', 1}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'IP-CAN-Session-Charging-Scope', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Allocation-Retention-Priority') -> + [{'Priority-Level', 1}, + {'Pre-emption-Capability', {0, 1}}, + {'Pre-emption-Vulnerability', {0, 1}}]; +avp_arity('Application-Detection-Information') -> + [{'TDF-Application-Identifier', 1}, + {'TDF-Application-Instance-Identifier', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Definition') -> + [{'Charging-Rule-Name', 1}, + {'Service-Identifier', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'TDF-Application-Identifier', {0, 1}}, + {'Flow-Status', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'PS-to-CS-Session-Continuity', {0, 1}}, + {'Reporting-Level', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'Metering-Method', {0, 1}}, + {'Precedence', {0, 1}}, + {'AF-Charging-Identifier', {0, 1}}, + {'Flows', {0, '*'}}, + {'Monitoring-Key', {0, 1}}, + {'Redirect-Information', {0, 1}}, + {'Mute-Notification', {0, 1}}, + {'AF-Signalling-Protocol', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Install') -> + [{'Charging-Rule-Definition', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'Rule-Activation-Time', {0, 1}}, + {'Rule-Deactivation-Time', {0, 1}}, + {'Resource-Allocation-Notification', {0, 1}}, + {'Charging-Correlation-Indicator', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Remove') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Report') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'PCC-Rule-Status', {0, 1}}, + {'Rule-Failure-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'RAN-NAS-Release-Cause', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CoA-Information') -> + [{'Tunnel-Information', 1}, + {'CoA-IP-Address', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate') -> + [{'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'IP-CAN-Type', {0, '*'}}, + {'RAT-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-EPS-Bearer-QoS') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Default-QoS-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Event-Report-Indication') -> + [{'Event-Trigger', {0, '*'}}, + {'IP-CAN-Type', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'UE-Local-IP-Address', {0, 1}}, + {'HeNB-Local-IP-Address', {0, 1}}, + {'UDP-Source-Port', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Fixed-User-Location-Info') -> + [{'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flow-Information') -> + [{'Flow-Description', {0, 1}}, + {'Packet-Filter-Identifier', {0, 1}}, + {'Packet-Filter-Usage', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Packet-Filter-Information') -> + [{'Packet-Filter-Identifier', {0, 1}}, + {'Precedence', {0, 1}}, + {'Packet-Filter-Content', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Presence-Reporting-Area-Information') -> + [{'Presence-Reporting-Area-Identifier', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'Presence-Reporting-Area-Elements-List', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Guaranteed-Bitrate-UL', {0, 1}}, + {'Guaranteed-Bitrate-DL', {0, 1}}, + {'Bearer-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'Conditional-APN-Aggregate-Max-Bitrate', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Redirect-Information') -> + [{'Redirect-Support', {0, 1}}, + {'Redirect-Address-Type', {0, 1}}, + {'Redirect-Server-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Filter') -> + [{'Flow-Description', 1}, + {'Flow-Direction', 1}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Definition') -> + [{'Routing-Rule-Identifier', 1}, + {'Routing-Filter', {0, '*'}}, + {'Precedence', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Install') -> + [{'Routing-Rule-Definition', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Remove') -> + [{'Routing-Rule-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('TDF-Information') -> + [{'TDF-Destination-Realm', {0, 1}}, + {'TDF-Destination-Host', {0, 1}}, + {'TDF-IP-Address', {0, 1}}]; +avp_arity('Tunnel-Information') -> + [{'Tunnel-Header-Length', {0, 1}}, + {'Tunnel-Header-Filter', {0, 2}}, + {'AVP', {0, '*'}}]; +avp_arity('TFT-Packet-Filter-Information') -> + [{'Precedence', {0, 1}}, + {'TFT-Filter', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Usage-Monitoring-Information') -> + [{'Monitoring-Key', {0, 1}}, + {'Granted-Service-Unit', {0, 2}}, + {'Used-Service-Unit', {0, 2}}, + {'Usage-Monitoring-Level', {0, 1}}, + {'Usage-Monitoring-Report', {0, 1}}, + {'Usage-Monitoring-Support', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flows') -> + [{'Media-Component-Number', 1}, + {'Flow-Number', {0, '*'}}, + {'Final-Unit-Action', {0, 1}}]; +avp_arity('Charging-Information') -> + [{'Primary-Event-Charging-Function-Name', {0, 1}}, + {'Secondary-Event-Charging-Function-Name', {0, 1}}, + {'Primary-Charging-Collection-Function-Name', {0, 1}}, + {'Secondary-Charging-Collection-Function-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Features') -> + [{'Vendor-Id', 1}, + {'Feature-List-ID', 1}, + {'Feature-List', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Applications') -> + [{'Auth-Application-Id', {0, '*'}}, + {'Acct-Application-Id', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Auth-Data-Item') -> + [{'SIP-Item-Number', {0, 1}}, + {'SIP-Authentication-Scheme', {0, 1}}, + {'SIP-Authenticate', {0, 1}}, + {'SIP-Authorization', {0, 1}}, + {'SIP-Authentication-Context', {0, 1}}, + {'Confidentiality-Key', {0, 1}}, + {'Integrity-Key', {0, 1}}, + {'SIP-Digest-Authenticate', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Line-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Deregistration-Reason') -> + [{'Reason-Code', 1}, + {'Reason-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Digest-Authenticate') -> + [{'Digest-Realm', 1}, + {'Digest-QoP', 1}, + {'Digest-HA1', 1}, + {'Digest-Algorithm', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Subscription-Data') -> + [{'Subscriber-Status', {0, 1}}, + {'MSISDN', {0, 1}}, + {'A-MSISDN', {0, 1}}, + {'STN-SR', {0, 1}}, + {'ICS-Indicator', {0, 1}}, + {'Network-Access-Mode', {0, 1}}, + {'Operator-Determined-Barring', {0, 1}}, + {'HPLMN-ODB', {0, 1}}, + {'Regional-Subscription-Zone-Code', {0, 10}}, + {'Access-Restriction-Data', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'LCS-Info', {0, 1}}, + {'Teleservice-List', {0, 1}}, + {'Call-Barring-Info', {0, '*'}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-Configuration-Profile', {0, 1}}, + {'RAT-Frequency-Selection-Priority-ID', {0, 1}}, + {'Trace-Data', {0, 1}}, + {'GPRS-Subscription-Data', {0, 1}}, + {'CSG-Subscription-Data', {0, '*'}}, + {'Roaming-Restricted-Due-To-Unsupported-Feature', + {0, 1}}, + {'Subscribed-Periodic-RAU-TAU-Timer', {0, 1}}, + {'MPS-Priority', {0, 1}}, + {'VPLMN-LIPA-Allowed', {0, 1}}, + {'Relay-Node-Indicator', {0, 1}}, + {'MDT-User-Consent', {0, 1}}, + {'Subscribed-VSRVCC', {0, 1}}, + {'Subscription-Data-Flags', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Terminal-Information') -> + [{'IMEI', {0, 1}}, + {'3GPP2-MEID', {0, 1}}, + {'Software-Version', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-EUTRAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Authentication-Info') -> + [{'E-UTRAN-Vector', {0, '*'}}, + {'UTRAN-Vector', {0, '*'}}, + {'GERAN-Vector', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('E-UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'KASME', 1}, + {'AVP', {0, '*'}}]; +avp_arity('UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'Confidentiality-Key', 1}, + {'Integrity-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('GERAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'SRES', 1}, + {'Kc', 1}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration-Profile') -> + [{'Context-Identifier', 1}, + {'All-APN-Configurations-Included-Indicator', 1}, + {'APN-Configuration', {1, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration') -> + [{'Context-Identifier', 1}, + {'PDN-Type', 1}, + {'Service-Selection', 1}, + {'Served-Party-IP-Address', {0, 2}}, + {'EPS-Subscribed-QoS-Profile', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'PDN-GW-Allocation-Type', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Subscribed-QoS-Profile') -> + [{'QoS-Class-Identifier', 1}, + {'Allocation-Retention-Priority', 1}, + {'AVP', {0, '*'}}]; +avp_arity('AMBR') -> + [{'Max-Requested-Bandwidth-UL', 1}, + {'Max-Requested-Bandwidth-DL', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Trace-Data') -> + [{'Trace-Reference', 1}, + {'Trace-Depth', 1}, + {'Trace-NE-Type-List', 1}, + {'Trace-Event-List', 1}, + {'Trace-Collection-Entity', 1}, + {'Trace-Interface-List', {0, 1}}, + {'OMC-Id', {0, 1}}, + {'MDT-Configuration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('GPRS-Subscription-Data') -> + [{'Complete-Data-List-Included-Indicator', 1}, + {'PDP-Context', {1, 50}}, + {'AVP', {0, '*'}}]; +avp_arity('PDP-Context') -> + [{'Context-Identifier', 1}, + {'PDP-Type', 1}, + {'QoS-Subscribed', 1}, + {'Service-Selection', 1}, + {'PDP-Address', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Ext-PDP-Type', {0, 1}}, + {'Ext-PDP-Address', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'Service-Selection', {0, '*'}}, + {'Visited-PLMN-Id', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Specific-APN-Info') -> + [{'Service-Selection', 1}, + {'MIP6-Agent-Info', 1}, + {'Visited-Network-Identifier', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-Info') -> + [{'GMLC-Number', {0, '*'}}, + {'LCS-PrivacyException', {0, '*'}}, + {'MO-LR', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-PrivacyException') -> + [{'SS-Code', 1}, + {'SS-Status', 1}, + {'Notification-To-UE-User', {0, 1}}, + {'External-Client', {0, '*'}}, + {'PLMN-Client', {0, '*'}}, + {'Service-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('External-Client') -> + [{'Client-Identity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Service-Type') -> + [{'ServiceTypeIdentity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MO-LR') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('Teleservice-List') -> + [{'TS-Code', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('Call-Barring-Info') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('EPS-User-State') -> + [{'MME-User-State', {0, 1}}, + {'SGSN-User-State', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Location-Information') -> + [{'MME-Location-Information', {0, 1}}, + {'SGSN-Location-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MME-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('SGSN-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('MME-Location-Information') -> + [{'E-UTRAN-Cell-Global-Identity', {0, 1}}, + {'Tracking-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SGSN-Location-Information') -> + [{'Cell-Global-Identity', {0, 1}}, + {'Location-Area-Identity', {0, 1}}, + {'Service-Area-Identity', {0, 1}}, + {'Routing-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Active-APN') -> + [{'Context-Identifier', 1}, + {'Service-Selection', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('MDT-Configuration') -> + [{'Job-Type', 1}, + {'Area-Scope', {0, 1}}, + {'List-Of-Measurements', {0, 1}}, + {'Reporting-Trigger', {0, 1}}, + {'Report-Interval', {0, 1}}, + {'Report-Amount', {0, 1}}, + {'Event-Threshold-RSRP', {0, 1}}, + {'Event-Threshold-RSRQ', {0, 1}}, + {'Logging-Interval', {0, 1}}, + {'Logging-Duration', {0, 1}}, + {'Measurement-Period-LTE', {0, 1}}, + {'Measurement-Period-UMTS', {0, 1}}, + {'Positioning-Method', {0, 1}}, + {'Measurement-Quantity', {0, 1}}, + {'Event-Threshold-Event-1F', {0, 1}}, + {'Event-Threshold-Event-1I', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Area-Scope') -> + [{'Cell-Global-Identity', {0, '*'}}, + {'E-UTRAN-Cell-Global-Identity', {0, '*'}}, + {'Routing-Area-Identity', {0, '*'}}, + {'Location-Area-Identity', {0, '*'}}, + {'Tracking-Area-Identity', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Equivalent-PLMN-List') -> + [{'Visited-PLMN-Id', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('VPLMN-CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Local-Time-Zone') -> + [{'Time-Zone', 1}, + {'Daylight-Saving-Time', 1}, + {'AVP', {0, '*'}}]; +avp_arity('WLAN-Identifier') -> + [{'SSID', {0, 1}}, + {'HESSID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Info') -> + [{'SSID', {0, 1}}, + {'BSSID', {0, 1}}, + {'Location-Information', {0, 1}}, + {'Location-Data', {0, 1}}, + {'Operator-Name', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TWAN-Connectivity-Parameters') -> + [{'Connectivity-Flags', {0, 1}}, + {'Service-Selection', {0, 1}}, + {'PDN-Type', {0, 1}}, + {'Served-Party-IP-Address', {0, 2}}, + {'TWAN-PCO', {0, 1}}, + {'TWAG-UP-Address', {0, 1}}, + {'TWAN-S2a-Failure-Cause', {0, 1}}, + {'SM-Back-Off-Timer', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Non-3GPP-User-Data') -> + [{'Subscription-Id', {0, 1}}, + {'Non-3GPP-IP-Access', {0, 1}}, + {'Non-3GPP-IP-Access-APN', {0, 1}}, + {'RAT-Type', {0, '*'}}, + {'Session-Timeout', {0, 1}}, + {'MIP6-Feature-Vector', {0, 1}}, + {'AMBR', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Context-Identifier', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'APN-Configuration', {0, '*'}}, + {'Trace-Info', {0, 1}}, + {'TWAN-Default-APN-Context-Id', {0, 1}}, + {'TWAN-Access-Info', {0, '*'}}, + {'UE-Usage-Type', {0, 1}}, + {'Emergency-Info', {0, 1}}, + {'ERP-Authorization', {0, 1}}, + {'Core-Network-Restrictions', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Trace-Info') -> + [{'Trace-Data', {0, 1}}, + {'Trace-Reference', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TWAN-Access-Info') -> + [{'Access-Authorization-Flags', {0, 1}}, + {'WLAN-Identifier', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Info-Change') -> + [{'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Access-Transfer-Information') -> + [{'Access-Transfer-Type', {0, 1}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Inter-UE-Transfer', {0, 1}}, + {'User-Equipment-Info', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Accumulated-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Additional-Content-Information') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}]; +avp_arity('Address-Domain') -> + [{'Domain-Name', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}]; +avp_arity('AF-Correlation-Information') -> + [{'AF-Charging-Identifier', 1}, {'Flows', {0, '*'}}]; +avp_arity('Announcement-Information') -> + [{'Announcement-Identifier', 1}, + {'Variable-Part', {0, '*'}}, + {'Time-Indicator', {0, 1}}, + {'Quota-Indicator', {0, 1}}, + {'Announcement-Order', {0, 1}}, + {'Play-Alternative', {0, 1}}, + {'Privacy-Indicator', {0, 1}}, + {'Language', {0, 1}}]; +avp_arity('AoC-Cost-Information') -> + [{'Accumulated-Cost', {0, 1}}, + {'Incremental-Cost', {0, '*'}}, + {'Currency-Code', {0, 1}}]; +avp_arity('AoC-Information') -> + [{'AoC-Cost-Information', {0, 1}}, + {'Tariff-Information', {0, 1}}, + {'AoC-Subscription-Information', {0, 1}}]; +avp_arity('AoC-Service') -> + [{'AoC-Service-Obligatory-Type', {0, 1}}, + {'AoC-Service-Type', {0, 1}}]; +avp_arity('AoC-Subscription-Information') -> + [{'AoC-Service', {0, '*'}}, + {'AoC-Format', {0, 1}}, + {'Preferred-AoC-Currency', {0, 1}}]; +avp_arity('APN-Rate-Control') -> + [{'APN-Rate-Control-Uplink', {0, 1}}, + {'APN-Rate-Control-Downlink', {0, 1}}]; +avp_arity('APN-Rate-Control-Downlink') -> + [{'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}, + {'Rate-Control-Max-Message-Size', {0, 1}}]; +avp_arity('APN-Rate-Control-Uplink') -> + [{'Additional-Exception-Reports', {0, 1}}, + {'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}]; +avp_arity('Application-Server-Information') -> + [{'Application-Server', {0, 1}}, + {'Application-Provided-Called-Party-Address', {0, '*'}}, + {'Status-AS-Code', {0, 1}}]; +avp_arity('Basic-Service-Code') -> + [{'Bearer-Service', {0, 1}}, {'Teleservice', {0, 1}}]; +avp_arity('Called-Identity-Change') -> + [{'Called-Identity', {0, 1}}, {'Change-Time', {0, 1}}]; +avp_arity('Coverage-Info') -> + [{'Coverage-Status', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Location-Info', {0, '*'}}]; +avp_arity('CPDT-Information') -> + [{'Serving-Node-Identity', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'NIDD-Submission', {0, 1}}]; +avp_arity('Current-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('Destination-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Early-Media-Description') -> + [{'SDP-TimeStamps', {0, 1}}, + {'SDP-Media-Component', {0, '*'}}, + {'SDP-Session-Description', {0, '*'}}]; +avp_arity('Enhanced-Diagnostics') -> + [{'RAN-NAS-Release-Cause', {0, '*'}}]; +avp_arity('Envelope') -> + [{'Envelope-Start-Time', 1}, + {'Envelope-End-Time', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}]; +avp_arity('Event-Type') -> + [{'SIP-Method', {0, 1}}, + {'Event', {0, 1}}, + {'Expires', {0, 1}}]; +avp_arity('Incremental-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('IMS-Information') -> + [{'Node-Functionality', 1}, + {'Event-Type', {0, 1}}, + {'Role-Of-Node', {0, 1}}, + {'User-Session-Id', {0, 1}}, + {'Outgoing-Session-Id', {0, 1}}, + {'Session-Priority', {0, 1}}, + {'Calling-Party-Address', {0, '*'}}, + {'Called-Party-Address', {0, 1}}, + {'Called-Asserted-Identity', {0, '*'}}, + {'Called-Identity-Change', {0, 1}}, + {'Number-Portability-Routing-Information', {0, 1}}, + {'Carrier-Select-Routing-Information', {0, 1}}, + {'Alternate-Charged-Party-Address', {0, 1}}, + {'Requested-Party-Address', {0, '*'}}, + {'Associated-URI', {0, '*'}}, + {'Time-Stamps', {0, 1}}, + {'Application-Server-Information', {0, '*'}}, + {'Inter-Operator-Identifier', {0, '*'}}, + {'Transit-IOI-List', {0, '*'}}, + {'IMS-Charging-Identifier', {0, 1}}, + {'SDP-Session-Description', {0, '*'}}, + {'SDP-Media-Component', {0, '*'}}, + {'Served-Party-IP-Address', {0, 1}}, + {'Trunk-Group-Id', {0, 1}}, + {'Bearer-Service', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Service-Specific-Info', {0, '*'}}, + {'Message-Body', {0, '*'}}, + {'Cause-Code', {0, 1}}, + {'Reason-Header', {0, '*'}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Early-Media-Description', {0, '*'}}, + {'IMS-Communication-Service-Identifier', {0, 1}}, + {'IMS-Application-Reference-Identifier', {0, 1}}, + {'Online-Charging-Flag', {0, 1}}, + {'Real-Time-Tariff-Information', {0, 1}}, + {'Account-Expiration', {0, 1}}, + {'Initial-IMS-Charging-Identifier', {0, 1}}, + {'NNI-Information', {0, '*'}}, + {'From-Address', {0, 1}}, + {'IMS-Emergency-Indicator', {0, 1}}, + {'IMS-Visited-Network-Identifier', {0, 1}}, + {'Access-Network-Info-Change', {0, '*'}}, + {'Access-Transfer-Information', {0, '*'}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Route-Header-Received', {0, 1}}, + {'Route-Header-Transmitted', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'TAD-Identifier', {0, 1}}, + {'FE-Identifier-List', {0, 1}}]; +avp_arity('Inter-Operator-Identifier') -> + [{'Originating-IOI', {0, 1}}, + {'Terminating-IOI', {0, 1}}]; +avp_arity('ISUP-Cause') -> + [{'ISUP-Cause-Location', {0, 1}}, + {'ISUP-Cause-Value', {0, 1}}, + {'ISUP-Cause-Diagnostics', {0, 1}}]; +avp_arity('LCS-Client-ID') -> + [{'LCS-Client-Type', {0, 1}}, + {'LCS-Client-External-ID', {0, 1}}, + {'LCS-Client-Dialed-By-MS', {0, 1}}, + {'LCS-Client-Name', {0, 1}}, + {'LCS-APN', {0, 1}}, + {'LCS-Requestor-ID', {0, 1}}]; +avp_arity('LCS-Client-Name') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Name-String', {0, 1}}, + {'LCS-Format-Indicator', {0, 1}}]; +avp_arity('LCS-Information') -> + [{'LCS-Client-ID', {0, 1}}, + {'Location-Type', {0, 1}}, + {'Location-Estimate', {0, 1}}, + {'Positioning-Data', {0, 1}}, + {'3GPP-IMSI', {0, 1}}, + {'MSISDN', {0, 1}}]; +avp_arity('LCS-Requestor-ID') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Requestor-ID-String', {0, 1}}]; +avp_arity('Location-Info') -> + [{'3GPP-User-Location-Info', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Location-Type') -> + [{'Location-Estimate-Type', {0, 1}}, + {'Deferred-Location-Event-Type', {0, 1}}]; +avp_arity('MBMS-Information') -> + [{'TMGI', {0, 1}}, + {'MBMS-User-Service-Type', {0, 1}}, + {'File-Repair-Supported', {0, 1}}, + {'MBMS-2G-3G-Indicator', {0, 1}}, + {'MBMS-Service-Area', {0, '*'}}, + {'MBMS-Session-Identity', {0, 1}}, + {'CN-IP-Multicast-Distribution', {0, 1}}, + {'MBMS-GW-Address', {0, 1}}, + {'MBMS-Charged-Party', {0, 1}}, + {'MSISDN', {0, '*'}}]; +avp_arity('Message-Body') -> + [{'Content-Type', 1}, + {'Content-Length', 1}, + {'Content-Disposition', {0, 1}}, + {'Originator', {0, 1}}]; +avp_arity('Message-Class') -> + [{'Class-Identifier', {0, 1}}, {'Token-Text', {0, 1}}]; +avp_arity('MM-Content-Type') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}, + {'Additional-Content-Information', {0, '*'}}]; +avp_arity('MMS-Information') -> + [{'Originator-Address', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Submission-Time', {0, 1}}, + {'MM-Content-Type', {0, 1}}, + {'Priority', {0, 1}}, + {'Message-ID', {0, 1}}, + {'Message-Type', {0, 1}}, + {'Message-Size', {0, 1}}, + {'Message-Class', {0, 1}}, + {'Delivery-Report-Requested', {0, 1}}, + {'Read-Reply-Report-Requested', {0, 1}}, + {'MMBox-Storage-Requested', {0, 1}}, + {'Applic-ID', {0, 1}}, + {'Reply-Applic-ID', {0, 1}}, + {'Aux-Applic-Info', {0, 1}}, + {'Content-Class', {0, 1}}, + {'DRM-Content', {0, 1}}, + {'Adaptations', {0, 1}}]; +avp_arity('MMTel-Information') -> + [{'Supplementary-Service', {0, '*'}}]; +avp_arity('Monitoring-Event-Information') -> + [{'Monitoring-Event-Functionality', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Configuration-Activity', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Monitoring-Event-Report-Data', {0, '*'}}]; +avp_arity('Monitoring-Event-Report-Data') -> + [{'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Report-Number', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Subscription-Id', {0, 1}}]; +avp_arity('Next-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('NIDD-Submission') -> + [{'Submission-Time', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}]; +avp_arity('NNI-Information') -> + [{'Session-Direction', {0, 1}}, + {'NNI-Type', {0, 1}}, + {'Relationship-Mode', {0, 1}}, + {'Neighbour-Node-Address', {0, 1}}]; +avp_arity('Offline-Charging') -> + [{'Quota-Consumption-Time', {0, 1}}, + {'Time-Quota-Mechanism', {0, 1}}, + {'Envelope-Reporting', {0, 1}}, + {'Multiple-Services-Credit-Control', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Originator-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Originator-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Originator-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Participant-Group') -> + [{'Called-Party-Address', {0, 1}}, + {'Participant-Access-Priority', {0, 1}}, + {'User-Participating-Type', {0, 1}}]; +avp_arity('PoC-Information') -> + [{'PoC-Server-Role', {0, 1}}, + {'PoC-Session-Type', {0, 1}}, + {'PoC-User-Role', {0, 1}}, + {'PoC-Session-Initiation-Type', {0, 1}}, + {'PoC-Event-Type', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participants-Involved', {0, '*'}}, + {'Participant-Group', {0, '*'}}, + {'Talk-Burst-Exchange', {0, '*'}}, + {'PoC-Controlling-Address', {0, 1}}, + {'PoC-Group-Name', {0, 1}}, + {'PoC-Session-Id', {0, 1}}, + {'Charged-Party', {0, 1}}]; +avp_arity('PoC-User-Role') -> + [{'PoC-User-Role-IDs', {0, 1}}, + {'PoC-User-Role-Info-Units', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Information') -> + [{'Announcing-UE-HPLMN-Identifier', {0, 1}}, + {'Announcing-UE-VPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-HPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-VPLMN-Identifier', {0, 1}}, + {'Role-Of-ProSe-Function', {0, 1}}, + {'ProSe-3rd-Party-Application-ID', {0, 1}}, + {'Application-Specific-Data', {0, 1}}, + {'ProSe-Event-Type', {0, 1}}, + {'ProSe-Direct-Discovery-Model', {0, 1}}, + {'ProSe-Function-IP-Address', {0, 1}}, + {'ProSe-Role-Of-UE', {0, 1}}, + {'ProSe-Request-Timestamp', {0, 1}}, + {'PC3-Control-Protocol-Cause', {0, 1}}, + {'Monitoring-UE-Identifier', {0, 1}}, + {'Requestor-PLMN-Identifier', {0, 1}}, + {'Requested-PLMN-Identifier', {0, 1}}, + {'ProSe-Range-Class', {0, 1}}, + {'Proximity-Alert-Indication', {0, 1}}, + {'Proximity-Alert-Timestamp', {0, 1}}, + {'Proximity-Cancellation-Timestamp', {0, 1}}, + {'ProSe-Reason-For-Cancellation', {0, 1}}, + {'PC3-EPC-Control-Protocol-Cause', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}, + {'ProSe-Source-IP-Address', {0, 1}}, + {'Layer-2-Group-ID', {0, 1}}, + {'ProSe-Group-IP-Multicast-Address', {0, 1}}, + {'Coverage-Info', {0, '*'}}, + {'Radio-Parameter-Set-Info', {0, '*'}}, + {'Transmitter-Info', {0, '*'}}, + {'Time-First-Transmission', {0, 1}}, + {'Time-First-Reception', {0, 1}}, + {'ProSe-Direct-Communication-Transmission-Data-Container', + {0, '*'}}, + {'ProSe-Direct-Communication-Reception-Data-Container', + {0, '*'}}, + {'Announcing-PLMN-ID', {0, 1}}, + {'ProSe-Target-Layer-2-ID', {0, 1}}, + {'Relay-IP-address', {0, 1}}, + {'ProSe-UE-to-Network-Relay-UE-ID', {0, 1}}, + {'Target-IP-Address', {0, 1}}, + {'PC5-Radio-Technology', {0, 1}}]; +avp_arity('PS-Furnish-Charging-Information') -> + [{'3GPP-Charging-Id', 1}, + {'PS-Free-Format-Data', 1}, + {'PS-Append-Free-Format-Data', {0, 1}}]; +avp_arity('PS-Information') -> + [{'3GPP-Charging-Id', {0, 1}}, + {'PDN-Connection-Charging-ID', {0, 1}}, + {'Node-Id', {0, 1}}, + {'3GPP-PDP-Type', {0, 1}}, + {'PDP-Address', {0, '*'}}, + {'PDP-Address-Prefix-Length', {0, 1}}, + {'Dynamic-Address-Flag', {0, 1}}, + {'Dynamic-Address-Flag-Extension', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'SGSN-Address', {0, '*'}}, + {'GGSN-Address', {0, '*'}}, + {'TDF-IP-Address', {0, '*'}}, + {'SGW-Address', {0, '*'}}, + {'TWAG-Address', {0, '*'}}, + {'CG-Address', {0, 1}}, + {'Serving-Node-Type', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}, + {'IMSI-Unauthenticated-Flag', {0, 1}}, + {'3GPP-GGSN-MCC-MNC', {0, 1}}, + {'3GPP-NSAPI', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'3GPP-Session-Stop-Indicator', {0, 1}}, + {'3GPP-Selection-Mode', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Charging-Characteristics-Selection-Mode', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'User-Location-Info-Time', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'TWAN-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'PS-Furnish-Charging-Information', {0, 1}}, + {'PDP-Context-Type', {0, 1}}, + {'Offline-Charging', {0, 1}}, + {'Traffic-Data-Volumes', {0, '*'}}, + {'Service-Data-Container', {0, '*'}}, + {'User-Equipment-Info', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Low-Priority-Indicator', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'Fixed-User-Location-Info', {0, 1}}, + {'CN-Operator-Selection-Entity', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'SGi-PtP-Tunnelling-Method', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}, + {'UNI-PDU-CP-Only-Flag', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'Charging-Per-IP-CAN-Session-Indicator', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}, + {'SCS-AS-Address', {0, 1}}, + {'Unused-Quota-Timer', {0, 1}}, + {'RAN-Secondary-RAT-Usage-Report', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Radio-Parameter-Set-Info') -> + [{'Radio-Parameter-Set-Values', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('RAN-Secondary-RAT-Usage-Report') -> + [{'Secondary-RAT-Type', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}]; +avp_arity('Rate-Element') -> + [{'CC-Unit-Type', 1}, + {'Charge-Reason-Code', {0, 1}}, + {'Unit-Value', {0, 1}}, + {'Unit-Cost', {0, 1}}, + {'Unit-Quota-Threshold', {0, 1}}]; +avp_arity('Real-Time-Tariff-Information') -> + [{'Tariff-Information', {0, 1}}, + {'Tariff-XML', {0, 1}}]; +avp_arity('Recipient-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}, + {'Addressee-Type', {0, 1}}]; +avp_arity('Recipient-Info') -> + [{'Destination-Interface', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Recipient-Received-Address', {0, '*'}}, + {'Recipient-SCCP-Address', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}]; +avp_arity('Recipient-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Related-Change-Condition-Information') -> + [{'SGSN-Address', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}]; +avp_arity('Related-Trigger') -> + [{'Trigger-Type', {0, '*'}}]; +avp_arity('Remaining-Balance') -> + [{'Unit-Value', 1}, {'Currency-Code', 1}]; +avp_arity('Scale-Factor') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('SCS-AS-Address') -> + [{'SCS-Realm', {0, 1}}, {'SCS-Address', {0, 1}}]; +avp_arity('SDP-Media-Component') -> + [{'SDP-Media-Name', {0, 1}}, + {'SDP-Media-Description', {0, '*'}}, + {'Local-GW-Inserted-Indication', {0, 1}}, + {'IP-Realm-Default-Indication', {0, 1}}, + {'Transcoder-Inserted-Indication', {0, 1}}, + {'Media-Initiator-Flag', {0, 1}}, + {'Media-Initiator-Party', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Access-Network-Charging-Identifier-Value', {0, 1}}, + {'SDP-Type', {0, 1}}]; +avp_arity('SDP-TimeStamps') -> + [{'SDP-Offer-Timestamp', {0, 1}}, + {'SDP-Answer-Timestamp', {0, 1}}]; +avp_arity('Service-Data-Container') -> + [{'AF-Correlation-Information', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Local-Sequence-Number', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Service-Identifier', {0, 1}}, + {'Service-Specific-Info', {0, 1}}, + {'SGSN-Address', {0, 1}}, + {'Time-First-Usage', {0, 1}}, + {'Time-Last-Usage', {0, 1}}, + {'Time-Usage', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}]; +avp_arity('Service-Information') -> + [{'Subscription-Id', {0, '*'}}, + {'AoC-Information', {0, 1}}, + {'PS-Information', {0, 1}}, + {'IMS-Information', {0, 1}}, + {'MMS-Information', {0, 1}}, + {'LCS-Information', {0, 1}}, + {'PoC-Information', {0, 1}}, + {'MBMS-Information', {0, 1}}, + {'SMS-Information', {0, 1}}, + {'VCS-Information', {0, 1}}, + {'MMTel-Information', {0, 1}}, + {'ProSe-Information', {0, 1}}, + {'CPDT-Information', {0, 1}}]; +avp_arity('Service-Specific-Info') -> + [{'Service-Specific-Data', {0, 1}}, + {'Service-Specific-Type', {0, 1}}]; +avp_arity('SM-Device-Trigger-Information') -> + [{'MTC-IWF-Address', {0, 1}}, + {'Validity-Time', {0, 1}}]; +avp_arity('SMS-Information') -> + [{'SMS-Node', {0, 1}}, + {'Client-Address', {0, 1}}, + {'Originator-SCCP-Address', {0, 1}}, + {'SMSC-Address', {0, 1}}, + {'Data-Coding-Scheme', {0, 1}}, + {'SM-Discharge-Time', {0, 1}}, + {'SM-Message-Type', {0, 1}}, + {'Originator-Interface', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}, + {'Reply-Path-Requested', {0, 1}}, + {'SM-Status', {0, 1}}, + {'SM-User-Data-Header', {0, 1}}, + {'Number-Of-Messages-Sent', {0, 1}}, + {'SM-Sequence-Number', {0, 1}}, + {'Recipient-Info', {0, '*'}}, + {'Originator-Received-Address', {0, 1}}, + {'SM-Service-Type', {0, 1}}, + {'SMS-Result', {0, 1}}, + {'SM-Device-Trigger-Indicator', {0, 1}}, + {'SM-Device-Trigger-Information', {0, 1}}, + {'MTC-IWF-Address', {0, 1}}]; +avp_arity('Supplementary-Service') -> + [{'MMTel-SService-Type', {0, 1}}, + {'Service-Mode', {0, 1}}, + {'Number-Of-Diversions', {0, 1}}, + {'Associated-Party-Address', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participant-Action-Type', {0, 1}}, + {'CUG-Information', {0, 1}}, + {'AoC-Information', {0, 1}}]; +avp_arity('Talk-Burst-Exchange') -> + [{'PoC-Change-Time', 1}, + {'Number-Of-Talk-Bursts', {0, 1}}, + {'Talk-Burst-Volume', {0, 1}}, + {'Talk-Burst-Time', {0, 1}}, + {'Number-Of-Received-Talk-Bursts', {0, 1}}, + {'Received-Talk-Burst-Volume', {0, 1}}, + {'Received-Talk-Burst-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'PoC-Change-Condition', {0, 1}}]; +avp_arity('Tariff-Information') -> + [{'Current-Tariff', 1}, + {'Tariff-Time-Change', {0, 1}}, + {'Next-Tariff', {0, 1}}]; +avp_arity('Time-Quota-Mechanism') -> + [{'Time-Quota-Type', 1}, {'Base-Time-Interval', 1}]; +avp_arity('Time-Stamps') -> + [{'SIP-Request-Timestamp', {0, 1}}, + {'SIP-Response-Timestamp', {0, 1}}, + {'SIP-Request-Timestamp-Fraction', {0, 1}}, + {'SIP-Response-Timestamp-Fraction', {0, 1}}]; +avp_arity('Traffic-Data-Volumes') -> + [{'QoS-Information', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Change-Time', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}]; +avp_arity('Transmitter-Info') -> + [{'ProSe-Source-IP-Address', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}]; +avp_arity('Trigger') -> [{'Trigger-Type', {0, '*'}}]; +avp_arity('Trunk-Group-Id') -> + [{'Incoming-Trunk-Group-Id', {0, 1}}, + {'Outgoing-Trunk-Group-Id', {0, 1}}]; +avp_arity('TWAN-User-Location-Info') -> + [{'BSSID', {0, 1}}]; +avp_arity('Unit-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('User-CSG-Information') -> + [{'CSG-Access-Mode', 1}, + {'CSG-Membership-Indication', {0, 1}}]; +avp_arity('UWAN-User-Location-Info') -> + [{'UE-Local-IP-Address', 1}, + {'UDP-Source-Port', {0, 1}}, + {'BSSID', {0, 1}}]; +avp_arity('Variable-Part') -> + [{'Variable-Part-Type', 1}, + {'Variable-Part-Value', 1}, + {'Variable-Part-Order', {0, 1}}]; +avp_arity('VCS-Information') -> + [{'Bearer-Capability', {0, 1}}, + {'Network-Call-Reference-Number', {0, 1}}, + {'MSC-Address', {0, 1}}, + {'Basic-Service-Code', {0, 1}}, + {'ISUP-Location-Number', {0, 1}}, + {'VLR-Number', {0, 1}}, + {'Forwarding-Pending', {0, 1}}, + {'ISUP-Cause', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Start-of-Charging', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'PS-Free-Format-Data', {0, 1}}]; +avp_arity('MIP-MN-AAA-Auth') -> + [{'MIP-MN-AAA-SPI', 1}, + {'MIP-Auth-Input-Data-Length', 1}, + {'MIP-Authenticator-Length', 1}, + {'MIP-Authenticator-Offset', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-MN-to-FA-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Nonce', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-FA-to-MN-MSA') -> + [{'MIP-FA-to-MN-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-MN-to-HA-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Replay-Mode', 1}, + {'MIP-Nonce', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-HA-to-MN-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Replay-Mode', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-FA-to-HA-MSA') -> + [{'MIP-FA-to-HA-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-HA-to-FA-MSA') -> + [{'MIP-HA-to-FA-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-Originating-Foreign-AAA') -> + [{'Origin-Realm', 1}, + {'Origin-Host', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-Home-Agent-Host') -> + [{'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Cost-Information') -> + [{'Unit-Value', 1}, + {'Currency-Code', 1}, + {'Cost-Unit', {0, 1}}]; +avp_arity('Unit-Value') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Multiple-Services-Credit-Control') -> + [{'Granted-Service-Unit', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Tariff-Change-Usage', {0, 1}}, + {'Service-Identifier', {0, '*'}}, + {'Rating-Group', {0, 1}}, + {'G-S-U-Pool-Reference', {0, '*'}}, + {'Validity-Time', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Granted-Service-Unit') -> + [{'Tariff-Time-Change', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-Service-Unit') -> + [{'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Used-Service-Unit') -> + [{'Tariff-Change-Usage', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CC-Money') -> + [{'Unit-Value', 1}, {'Currency-Code', {0, 1}}]; +avp_arity('G-S-U-Pool-Reference') -> + [{'G-S-U-Pool-Identifier', 1}, + {'CC-Unit-Type', 1}, + {'Unit-Value', 1}]; +avp_arity('Final-Unit-Indication') -> + [{'Final-Unit-Action', 1}, + {'Restriction-Filter-Rule', {0, '*'}}, + {'Filter-Id', {0, '*'}}, + {'Redirect-Server', {0, 1}}]; +avp_arity('Redirect-Server') -> + [{'Redirect-Address-Type', 1}, + {'Redirect-Server-Address', 1}]; +avp_arity('Service-Parameter-Info') -> + [{'Service-Parameter-Type', 1}, + {'Service-Parameter-Value', 1}]; +avp_arity('Subscription-Id') -> + [{'Subscription-Id-Type', 1}, + {'Subscription-Id-Data', 1}]; +avp_arity('User-Equipment-Info') -> + [{'User-Equipment-Info-Type', 1}, + {'User-Equipment-Info-Value', 1}]; +avp_arity('MIP6-Agent-Info') -> + [{'MIP-Home-Agent-Address', {0, 2}}, + {'MIP-Home-Agent-Host', {0, 1}}, + {'MIP6-Home-Link-Prefix', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Resources') -> + [{'Filter-Rule', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('Filter-Rule') -> + [{'Filter-Rule-Precedence', {0, 1}}, + {'Classifier', {0, 1}}, + {'Time-Of-Day-Condition', {0, '*'}}, + {'Treatment-Action', {0, 1}}, + {'QoS-Semantics', {0, 1}}, + {'QoS-Profile-Template', {0, 1}}, + {'QoS-Parameters', {0, 1}}, + {'Excess-Treatment', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Classifier') -> + [{'Classifier-ID', 1}, + {'Protocol', {0, 1}}, + {'Direction', {0, 1}}, + {'From-Spec', {0, '*'}}, + {'To-Spec', {0, '*'}}, + {'Diffserv-Code-Point', {0, '*'}}, + {'Fragmentation-Flag', {0, 1}}, + {'IP-Option', {0, '*'}}, + {'TCP-Option', {0, '*'}}, + {'TCP-Flags', {0, 1}}, + {'ICMP-Type', {0, '*'}}, + {'ETH-Option', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('From-Spec') -> + [{'IP-Address', {0, '*'}}, + {'IP-Address-Range', {0, '*'}}, + {'IP-Address-Mask', {0, '*'}}, + {'MAC-Address', {0, '*'}}, + {'MAC-Address-Mask', {0, '*'}}, + {'EUI64-Address', {0, '*'}}, + {'EUI64-Address-Mask', {0, '*'}}, + {'Port', {0, '*'}}, + {'Port-Range', {0, '*'}}, + {'Negated', {0, 1}}, + {'Use-Assigned-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('To-Spec') -> + [{'IP-Address', {0, '*'}}, + {'IP-Address-Range', {0, '*'}}, + {'IP-Address-Mask', {0, '*'}}, + {'MAC-Address', {0, '*'}}, + {'MAC-Address-Mask', {0, '*'}}, + {'EUI64-Address', {0, '*'}}, + {'EUI64-Address-Mask', {0, '*'}}, + {'Port', {0, '*'}}, + {'Port-Range', {0, '*'}}, + {'Negated', {0, 1}}, + {'Use-Assigned-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('IP-Address-Range') -> + [{'IP-Address-Start', {0, 1}}, + {'IP-Address-End', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('IP-Address-Mask') -> + [{'IP-Address', 1}, + {'IP-Mask-Bit-Mask-Width', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MAC-Address-Mask') -> + [{'MAC-Address', 1}, + {'MAC-Address-Mask-Pattern', 1}, + {'AVP', {0, '*'}}]; +avp_arity('EUI64-Address-Mask') -> + [{'EUI64-Address', 1}, + {'EUI64-Address-Mask-Pattern', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Port-Range') -> + [{'Port-Start', {0, 1}}, + {'Port-End', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('IP-Option') -> + [{'IP-Option-Type', 1}, + {'IP-Option-Value', {0, '*'}}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TCP-Option') -> + [{'TCP-Option-Type', 1}, + {'TCP-Option-Value', {0, '*'}}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TCP-Flags') -> + [{'TCP-Flag-Type', 1}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('ICMP-Type') -> + [{'ICMP-Type-Number', 1}, + {'ICMP-Code', {0, '*'}}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('ETH-Option') -> + [{'ETH-Proto-Type', 1}, + {'VLAN-ID-Range', {0, '*'}}, + {'User-Priority-Range', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ETH-Proto-Type') -> + [{'ETH-Ether-Type', {0, '*'}}, + {'ETH-SAP', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('VLAN-ID-Range') -> + [{'S-VID-Start', {0, 1}}, + {'S-VID-End', {0, 1}}, + {'C-VID-Start', {0, 1}}, + {'C-VID-End', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('User-Priority-Range') -> + [{'Low-User-Priority', {0, '*'}}, + {'High-User-Priority', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Time-Of-Day-Condition') -> + [{'Time-Of-Day-Start', {0, 1}}, + {'Time-Of-Day-End', {0, 1}}, + {'Day-Of-Week-Mask', {0, 1}}, + {'Day-Of-Month-Mask', {0, 1}}, + {'Month-Of-Year-Mask', {0, 1}}, + {'Absolute-Start-Time', {0, 1}}, + {'Absolute-End-Time', {0, 1}}, + {'Timezone-Flag', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Profile-Template') -> + [{'Vendor-Id', 1}, + {'QoS-Profile-Id', 1}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Parameters') -> [{'AVP', {0, '*'}}]; +avp_arity('Excess-Treatment') -> + [{'Treatment-Action', 1}, + {'QoS-Profile-Template', {0, 1}}, + {'QoS-Parameters', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Capability') -> + [{'QoS-Profile-Template', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('OC-Supported-Features') -> + [{'OC-Feature-Vector', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('OC-OLR') -> + [{'OC-Sequence-Number', 1}, + {'OC-Report-Type', 1}, + {'OC-Reduction-Percentage', {0, 1}}, + {'OC-Validity-Duration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Load') -> + [{'Load-Type', {0, 1}}, + {'Load-Value', {0, 1}}, + {'SourceID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('AAR', 'Session-Id') -> 1; +avp_arity('AAR', 'Auth-Application-Id') -> 1; +avp_arity('AAR', 'Origin-Host') -> 1; +avp_arity('AAR', 'Origin-Realm') -> 1; +avp_arity('AAR', 'Destination-Realm') -> 1; +avp_arity('AAR', 'Auth-Request-Type') -> 1; +avp_arity('AAR', 'User-Name') -> {0, 1}; +avp_arity('AAR', 'MIP6-Agent-Info') -> {0, 1}; +avp_arity('AAR', 'MIP6-Feature-Vector') -> {0, 1}; +avp_arity('AAR', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('AAR', 'QoS-Capability') -> {0, 1}; +avp_arity('AAR', 'Service-Selection') -> {0, 1}; +avp_arity('AAR', 'OC-Supported-Features') -> {0, 1}; +avp_arity('AAR', 'Origination-Time-Stamp') -> {0, 1}; +avp_arity('AAR', 'Maximum-Wait-Time') -> {0, 1}; +avp_arity('AAR', 'Supported-Features') -> {0, '*'}; +avp_arity('AAR', 'Emergency-Services') -> {0, 1}; +avp_arity('AAR', 'AVP') -> {0, '*'}; +avp_arity('AAA', 'Session-Id') -> 1; +avp_arity('AAA', 'Auth-Application-Id') -> 1; +avp_arity('AAA', 'Auth-Request-Type') -> 1; +avp_arity('AAA', 'Result-Code') -> 1; +avp_arity('AAA', 'Origin-Host') -> 1; +avp_arity('AAA', 'Origin-Realm') -> 1; +avp_arity('AAA', 'MIP6-Feature-Vector') -> {0, 1}; +avp_arity('AAA', 'Session-Timeout') -> {0, 1}; +avp_arity('AAA', 'APN-Configuration') -> {0, 1}; +avp_arity('AAA', 'QoS-Resources') -> {0, 1}; +avp_arity('AAA', 'AN-Trusted') -> {0, 1}; +avp_arity('AAA', 'Redirect-Host') -> {0, '*'}; +avp_arity('AAA', 'Trace-Info') -> {0, 1}; +avp_arity('AAA', 'OC-Supported-Features') -> {0, 1}; +avp_arity('AAA', 'OC-OLR') -> {0, 1}; +avp_arity('AAA', 'Load') -> {0, '*'}; +avp_arity('AAA', 'AVP') -> {0, '*'}; +avp_arity('STR', 'Session-Id') -> 1; +avp_arity('STR', 'Auth-Application-Id') -> 1; +avp_arity('STR', 'Origin-Host') -> 1; +avp_arity('STR', 'Origin-Realm') -> 1; +avp_arity('STR', 'Destination-Realm') -> 1; +avp_arity('STR', 'Termination-Cause') -> 1; +avp_arity('STR', 'User-Name') -> {0, 1}; +avp_arity('STR', 'OC-Supported-Features') -> {0, 1}; +avp_arity('STR', 'AVP') -> {0, '*'}; +avp_arity('STA', 'Session-Id') -> 1; +avp_arity('STA', 'Result-Code') -> 1; +avp_arity('STA', 'Origin-Host') -> 1; +avp_arity('STA', 'Origin-Realm') -> 1; +avp_arity('STA', 'OC-Supported-Features') -> {0, 1}; +avp_arity('STA', 'OC-OLR') -> {0, 1}; +avp_arity('STA', 'Load') -> {0, '*'}; +avp_arity('STA', 'AVP') -> {0, '*'}; +avp_arity('ASR', 'Session-Id') -> 1; +avp_arity('ASR', 'Origin-Host') -> 1; +avp_arity('ASR', 'Origin-Realm') -> 1; +avp_arity('ASR', 'Destination-Realm') -> 1; +avp_arity('ASR', 'Destination-Host') -> 1; +avp_arity('ASR', 'Auth-Application-Id') -> 1; +avp_arity('ASR', 'User-Name') -> {0, 1}; +avp_arity('ASR', 'Auth-Session-State') -> {0, 1}; +avp_arity('ASR', 'AVP') -> {0, '*'}; +avp_arity('ASA', 'Session-Id') -> 1; +avp_arity('ASA', 'Result-Code') -> 1; +avp_arity('ASA', 'Origin-Host') -> 1; +avp_arity('ASA', 'Origin-Realm') -> 1; +avp_arity('ASA', 'AVP') -> {0, '*'}; +avp_arity('RAR', 'Session-Id') -> 1; +avp_arity('RAR', 'Origin-Host') -> 1; +avp_arity('RAR', 'Origin-Realm') -> 1; +avp_arity('RAR', 'Destination-Realm') -> 1; +avp_arity('RAR', 'Destination-Host') -> 1; +avp_arity('RAR', 'Auth-Application-Id') -> 1; +avp_arity('RAR', 'Re-Auth-Request-Type') -> 1; +avp_arity('RAR', 'User-Name') -> {0, 1}; +avp_arity('RAR', 'RAR-Flags') -> {0, 1}; +avp_arity('RAR', 'AVP') -> {0, '*'}; +avp_arity('RAA', 'Session-Id') -> 1; +avp_arity('RAA', 'Result-Code') -> 1; +avp_arity('RAA', 'Origin-Host') -> 1; +avp_arity('RAA', 'Origin-Realm') -> 1; +avp_arity('RAA', 'User-Name') -> {0, 1}; +avp_arity('RAA', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Emergency-Info', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('Emergency-Info', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Access-Network-Charging-Identifier-Value') -> + 1; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'IP-CAN-Session-Charging-Scope') -> + {0, 1}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'AVP') -> + {0, '*'}; +avp_arity('Allocation-Retention-Priority', + 'Priority-Level') -> + 1; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Capability') -> + {0, 1}; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Vulnerability') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'TDF-Application-Identifier') -> + 1; +avp_arity('Application-Detection-Information', + 'TDF-Application-Instance-Identifier') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Application-Detection-Information', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Charging-Rule-Name') -> + 1; +avp_arity('Charging-Rule-Definition', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Rating-Group') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'TDF-Application-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flow-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'QoS-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'PS-to-CS-Session-Continuity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Reporting-Level') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Online') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Offline') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Metering-Method') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Charging-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flows') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Redirect-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Mute-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Signalling-Protocol') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Definition') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Activation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Deactivation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Resource-Allocation-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Charging-Correlation-Indicator') -> + {0, 1}; +avp_arity('Charging-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Report', 'PCC-Rule-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Rule-Failure-Code') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', 'AVP') -> {0, '*'}; +avp_arity('CoA-Information', 'Tunnel-Information') -> 1; +avp_arity('CoA-Information', 'CoA-IP-Address') -> 1; +avp_arity('CoA-Information', 'AVP') -> {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'IP-CAN-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'RAT-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'AVP') -> + {0, '*'}; +avp_arity('Default-EPS-Bearer-QoS', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', 'AVP') -> {0, '*'}; +avp_arity('Default-QoS-Information', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Default-QoS-Name') -> + {0, 1}; +avp_arity('Default-QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Event-Report-Indication', 'Event-Trigger') -> + {0, '*'}; +avp_arity('Event-Report-Indication', 'IP-CAN-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AN-GW-Address') -> + {0, 2}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-IPv6-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Framed-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAT-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAI') -> {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UE-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'HeNB-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AVP') -> {0, '*'}; +avp_arity('Fixed-User-Location-Info', + 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', + 'Physical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', 'AVP') -> + {0, '*'}; +avp_arity('Flow-Information', 'Flow-Description') -> + {0, 1}; +avp_arity('Flow-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Flow-Information', 'Packet-Filter-Usage') -> + {0, 1}; +avp_arity('Flow-Information', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Flow-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Flow-Information', 'Flow-Label') -> {0, 1}; +avp_arity('Flow-Information', 'Flow-Direction') -> + {0, 1}; +avp_arity('Flow-Information', 'AVP') -> {0, '*'}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Precedence') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Content') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Flow-Label') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Identifier') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Elements-List') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'AVP') -> + {0, '*'}; +avp_arity('QoS-Information', 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Bearer-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Conditional-APN-Aggregate-Max-Bitrate') -> + {0, '*'}; +avp_arity('QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Redirect-Information', 'Redirect-Support') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Address-Type') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Server-Address') -> + {0, 1}; +avp_arity('Redirect-Information', 'AVP') -> {0, '*'}; +avp_arity('Routing-Filter', 'Flow-Description') -> 1; +avp_arity('Routing-Filter', 'Flow-Direction') -> 1; +avp_arity('Routing-Filter', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Routing-Filter', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Routing-Filter', 'Flow-Label') -> {0, 1}; +avp_arity('Routing-Filter', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Definition', + 'Routing-Rule-Identifier') -> + 1; +avp_arity('Routing-Rule-Definition', + 'Routing-Filter') -> + {0, '*'}; +avp_arity('Routing-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Install', + 'Routing-Rule-Definition') -> + {0, '*'}; +avp_arity('Routing-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Remove', + 'Routing-Rule-Identifier') -> + {0, '*'}; +avp_arity('Routing-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('TDF-Information', 'TDF-Destination-Realm') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-Destination-Host') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-IP-Address') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Length') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Filter') -> + {0, 2}; +avp_arity('Tunnel-Information', 'AVP') -> {0, '*'}; +avp_arity('TFT-Packet-Filter-Information', + 'Precedence') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'TFT-Filter') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Label') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Usage-Monitoring-Information', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Granted-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Used-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Level') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Report') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Support') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', 'AVP') -> + {0, '*'}; +avp_arity('Flows', 'Media-Component-Number') -> 1; +avp_arity('Flows', 'Flow-Number') -> {0, '*'}; +avp_arity('Flows', 'Final-Unit-Action') -> {0, 1}; +avp_arity('Charging-Information', + 'Primary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', 'AVP') -> {0, '*'}; +avp_arity('Supported-Features', 'Vendor-Id') -> 1; +avp_arity('Supported-Features', 'Feature-List-ID') -> 1; +avp_arity('Supported-Features', 'Feature-List') -> 1; +avp_arity('Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('Supported-Applications', + 'Auth-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Acct-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Vendor-Specific-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', 'AVP') -> {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Item-Number') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Scheme') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authorization') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Context') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Confidentiality-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Integrity-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Digest-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IP-Address') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IPv6-Prefix') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Framed-Interface-Id') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Line-Identifier') -> + {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'AVP') -> {0, '*'}; +avp_arity('Deregistration-Reason', 'Reason-Code') -> 1; +avp_arity('Deregistration-Reason', 'Reason-Info') -> + {0, 1}; +avp_arity('Deregistration-Reason', 'AVP') -> {0, '*'}; +avp_arity('SIP-Digest-Authenticate', 'Digest-Realm') -> + 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-QoP') -> 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-HA1') -> 1; +avp_arity('SIP-Digest-Authenticate', + 'Digest-Algorithm') -> + {0, 1}; +avp_arity('SIP-Digest-Authenticate', 'AVP') -> {0, '*'}; +avp_arity('Subscription-Data', 'Subscriber-Status') -> + {0, 1}; +avp_arity('Subscription-Data', 'MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'A-MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'STN-SR') -> {0, 1}; +avp_arity('Subscription-Data', 'ICS-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'Network-Access-Mode') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Operator-Determined-Barring') -> + {0, 1}; +avp_arity('Subscription-Data', 'HPLMN-ODB') -> {0, 1}; +avp_arity('Subscription-Data', + 'Regional-Subscription-Zone-Code') -> + {0, 10}; +avp_arity('Subscription-Data', + 'Access-Restriction-Data') -> + {0, 1}; +avp_arity('Subscription-Data', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('Subscription-Data', 'LCS-Info') -> {0, 1}; +avp_arity('Subscription-Data', 'Teleservice-List') -> + {0, 1}; +avp_arity('Subscription-Data', 'Call-Barring-Info') -> + {0, '*'}; +avp_arity('Subscription-Data', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('Subscription-Data', 'AMBR') -> {0, 1}; +avp_arity('Subscription-Data', + 'APN-Configuration-Profile') -> + {0, 1}; +avp_arity('Subscription-Data', + 'RAT-Frequency-Selection-Priority-ID') -> + {0, 1}; +avp_arity('Subscription-Data', 'Trace-Data') -> {0, 1}; +avp_arity('Subscription-Data', + 'GPRS-Subscription-Data') -> + {0, 1}; +avp_arity('Subscription-Data', + 'CSG-Subscription-Data') -> + {0, '*'}; +avp_arity('Subscription-Data', + 'Roaming-Restricted-Due-To-Unsupported-Feature') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscribed-Periodic-RAU-TAU-Timer') -> + {0, 1}; +avp_arity('Subscription-Data', 'MPS-Priority') -> + {0, 1}; +avp_arity('Subscription-Data', 'VPLMN-LIPA-Allowed') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Relay-Node-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'MDT-User-Consent') -> + {0, 1}; +avp_arity('Subscription-Data', 'Subscribed-VSRVCC') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscription-Data-Flags') -> + {0, 1}; +avp_arity('Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Terminal-Information', 'IMEI') -> {0, 1}; +avp_arity('Terminal-Information', '3GPP2-MEID') -> + {0, 1}; +avp_arity('Terminal-Information', 'Software-Version') -> + {0, 1}; +avp_arity('Terminal-Information', 'AVP') -> {0, '*'}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Authentication-Info', 'E-UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'GERAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'AVP') -> {0, '*'}; +avp_arity('E-UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('E-UTRAN-Vector', 'RAND') -> 1; +avp_arity('E-UTRAN-Vector', 'XRES') -> 1; +avp_arity('E-UTRAN-Vector', 'AUTN') -> 1; +avp_arity('E-UTRAN-Vector', 'KASME') -> 1; +avp_arity('E-UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('UTRAN-Vector', 'RAND') -> 1; +avp_arity('UTRAN-Vector', 'XRES') -> 1; +avp_arity('UTRAN-Vector', 'AUTN') -> 1; +avp_arity('UTRAN-Vector', 'Confidentiality-Key') -> 1; +avp_arity('UTRAN-Vector', 'Integrity-Key') -> 1; +avp_arity('UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('GERAN-Vector', 'Item-Number') -> 1; +avp_arity('GERAN-Vector', 'RAND') -> 1; +avp_arity('GERAN-Vector', 'SRES') -> 1; +avp_arity('GERAN-Vector', 'Kc') -> 1; +avp_arity('GERAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('APN-Configuration-Profile', + 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration-Profile', + 'All-APN-Configurations-Included-Indicator') -> + 1; +avp_arity('APN-Configuration-Profile', + 'APN-Configuration') -> + {1, '*'}; +avp_arity('APN-Configuration-Profile', 'AVP') -> + {0, '*'}; +avp_arity('APN-Configuration', 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration', 'PDN-Type') -> 1; +avp_arity('APN-Configuration', 'Service-Selection') -> + 1; +avp_arity('APN-Configuration', + 'Served-Party-IP-Address') -> + {0, 2}; +avp_arity('APN-Configuration', + 'EPS-Subscribed-QoS-Profile') -> + {0, 1}; +avp_arity('APN-Configuration', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('APN-Configuration', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('APN-Configuration', + 'PDN-GW-Allocation-Type') -> + {0, 1}; +avp_arity('APN-Configuration', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('APN-Configuration', 'AMBR') -> {0, 1}; +avp_arity('APN-Configuration', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('APN-Configuration', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('APN-Configuration', 'SIPTO-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', 'LIPA-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Restoration-Priority') -> + {0, 1}; +avp_arity('APN-Configuration', 'AVP') -> {0, '*'}; +avp_arity('EPS-Subscribed-QoS-Profile', + 'QoS-Class-Identifier') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', + 'Allocation-Retention-Priority') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', 'AVP') -> + {0, '*'}; +avp_arity('AMBR', 'Max-Requested-Bandwidth-UL') -> 1; +avp_arity('AMBR', 'Max-Requested-Bandwidth-DL') -> 1; +avp_arity('AMBR', 'AVP') -> {0, '*'}; +avp_arity('Trace-Data', 'Trace-Reference') -> 1; +avp_arity('Trace-Data', 'Trace-Depth') -> 1; +avp_arity('Trace-Data', 'Trace-NE-Type-List') -> 1; +avp_arity('Trace-Data', 'Trace-Event-List') -> 1; +avp_arity('Trace-Data', 'Trace-Collection-Entity') -> 1; +avp_arity('Trace-Data', 'Trace-Interface-List') -> + {0, 1}; +avp_arity('Trace-Data', 'OMC-Id') -> {0, 1}; +avp_arity('Trace-Data', 'MDT-Configuration') -> {0, 1}; +avp_arity('Trace-Data', 'AVP') -> {0, '*'}; +avp_arity('GPRS-Subscription-Data', + 'Complete-Data-List-Included-Indicator') -> + 1; +avp_arity('GPRS-Subscription-Data', 'PDP-Context') -> + {1, 50}; +avp_arity('GPRS-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('PDP-Context', 'Context-Identifier') -> 1; +avp_arity('PDP-Context', 'PDP-Type') -> 1; +avp_arity('PDP-Context', 'QoS-Subscribed') -> 1; +avp_arity('PDP-Context', 'Service-Selection') -> 1; +avp_arity('PDP-Context', 'PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('PDP-Context', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Type') -> {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', 'AMBR') -> {0, 1}; +avp_arity('PDP-Context', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('PDP-Context', 'SIPTO-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'LIPA-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'Restoration-Priority') -> + {0, 1}; +avp_arity('PDP-Context', 'AVP') -> {0, '*'}; +avp_arity('CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('CSG-Subscription-Data', 'Expiration-Date') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', + 'Service-Selection') -> + {0, '*'}; +avp_arity('CSG-Subscription-Data', 'Visited-PLMN-Id') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Specific-APN-Info', 'Service-Selection') -> + 1; +avp_arity('Specific-APN-Info', 'MIP6-Agent-Info') -> 1; +avp_arity('Specific-APN-Info', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Specific-APN-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-Info', 'GMLC-Number') -> {0, '*'}; +avp_arity('LCS-Info', 'LCS-PrivacyException') -> + {0, '*'}; +avp_arity('LCS-Info', 'MO-LR') -> {0, '*'}; +avp_arity('LCS-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-PrivacyException', 'SS-Code') -> 1; +avp_arity('LCS-PrivacyException', 'SS-Status') -> 1; +avp_arity('LCS-PrivacyException', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('LCS-PrivacyException', 'External-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'PLMN-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'Service-Type') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'AVP') -> {0, '*'}; +avp_arity('External-Client', 'Client-Identity') -> 1; +avp_arity('External-Client', 'GMLC-Restriction') -> + {0, 1}; +avp_arity('External-Client', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('External-Client', 'AVP') -> {0, '*'}; +avp_arity('Service-Type', 'ServiceTypeIdentity') -> 1; +avp_arity('Service-Type', 'GMLC-Restriction') -> {0, 1}; +avp_arity('Service-Type', 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('Service-Type', 'AVP') -> {0, '*'}; +avp_arity('MO-LR', 'SS-Code') -> 1; +avp_arity('MO-LR', 'SS-Status') -> 1; +avp_arity('MO-LR', 'AVP') -> {0, '*'}; +avp_arity('Teleservice-List', 'TS-Code') -> {1, '*'}; +avp_arity('Teleservice-List', 'AVP') -> {0, '*'}; +avp_arity('Call-Barring-Info', 'SS-Code') -> 1; +avp_arity('Call-Barring-Info', 'SS-Status') -> 1; +avp_arity('Call-Barring-Info', 'AVP') -> {0, '*'}; +avp_arity('EPS-User-State', 'MME-User-State') -> {0, 1}; +avp_arity('EPS-User-State', 'SGSN-User-State') -> + {0, 1}; +avp_arity('EPS-User-State', 'AVP') -> {0, '*'}; +avp_arity('EPS-Location-Information', + 'MME-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', + 'SGSN-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('MME-User-State', 'User-State') -> {0, 1}; +avp_arity('MME-User-State', 'AVP') -> {0, '*'}; +avp_arity('SGSN-User-State', 'User-State') -> {0, 1}; +avp_arity('SGSN-User-State', 'AVP') -> {0, '*'}; +avp_arity('MME-Location-Information', + 'E-UTRAN-Cell-Global-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Tracking-Area-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('SGSN-Location-Information', + 'Cell-Global-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Location-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Service-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Routing-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('Active-APN', 'Context-Identifier') -> 1; +avp_arity('Active-APN', 'Service-Selection') -> {0, 1}; +avp_arity('Active-APN', 'MIP6-Agent-Info') -> {0, 1}; +avp_arity('Active-APN', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Active-APN', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('Active-APN', 'AVP') -> {0, '*'}; +avp_arity('MDT-Configuration', 'Job-Type') -> 1; +avp_arity('MDT-Configuration', 'Area-Scope') -> {0, 1}; +avp_arity('MDT-Configuration', + 'List-Of-Measurements') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Reporting-Trigger') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Amount') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRP') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRQ') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Duration') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-LTE') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-UMTS') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Positioning-Method') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Quantity') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1F') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1I') -> + {0, 1}; +avp_arity('MDT-Configuration', 'AVP') -> {0, '*'}; +avp_arity('Area-Scope', 'Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', + 'E-UTRAN-Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Routing-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Location-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Tracking-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'AVP') -> {0, '*'}; +avp_arity('Equivalent-PLMN-List', 'Visited-PLMN-Id') -> + {1, '*'}; +avp_arity('Equivalent-PLMN-List', 'AVP') -> {0, '*'}; +avp_arity('VPLMN-CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('VPLMN-CSG-Subscription-Data', + 'Expiration-Date') -> + {0, 1}; +avp_arity('VPLMN-CSG-Subscription-Data', 'AVP') -> + {0, '*'}; +avp_arity('Local-Time-Zone', 'Time-Zone') -> 1; +avp_arity('Local-Time-Zone', 'Daylight-Saving-Time') -> + 1; +avp_arity('Local-Time-Zone', 'AVP') -> {0, '*'}; +avp_arity('WLAN-Identifier', 'SSID') -> {0, 1}; +avp_arity('WLAN-Identifier', 'HESSID') -> {0, 1}; +avp_arity('WLAN-Identifier', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Info', 'SSID') -> {0, 1}; +avp_arity('Access-Network-Info', 'BSSID') -> {0, 1}; +avp_arity('Access-Network-Info', + 'Location-Information') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Location-Data') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Operator-Name') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Access-Network-Info', 'AVP') -> {0, '*'}; +avp_arity('TWAN-Connectivity-Parameters', + 'Connectivity-Flags') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'Service-Selection') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', 'PDN-Type') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'Served-Party-IP-Address') -> + {0, 2}; +avp_arity('TWAN-Connectivity-Parameters', 'TWAN-PCO') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'TWAG-UP-Address') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'TWAN-S2a-Failure-Cause') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'SM-Back-Off-Timer') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', 'AVP') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Subscription-Id') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Non-3GPP-IP-Access') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'Non-3GPP-IP-Access-APN') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'RAT-Type') -> {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Session-Timeout') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'MIP6-Feature-Vector') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'AMBR') -> {0, 1}; +avp_arity('Non-3GPP-User-Data', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Context-Identifier') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'APN-Configuration') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Trace-Info') -> {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'TWAN-Default-APN-Context-Id') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'TWAN-Access-Info') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'UE-Usage-Type') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Emergency-Info') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'ERP-Authorization') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'Core-Network-Restrictions') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'AVP') -> {0, '*'}; +avp_arity('Trace-Info', 'Trace-Data') -> {0, 1}; +avp_arity('Trace-Info', 'Trace-Reference') -> {0, 1}; +avp_arity('Trace-Info', 'AVP') -> {0, '*'}; +avp_arity('TWAN-Access-Info', + 'Access-Authorization-Flags') -> + {0, 1}; +avp_arity('TWAN-Access-Info', 'WLAN-Identifier') -> + {0, 1}; +avp_arity('TWAN-Access-Info', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Network-Info-Change', + 'Change-Time') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Transfer-Type') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Transfer-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Inter-UE-Transfer') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'User-Equipment-Info') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Instance-Id') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Change-Time') -> + {0, 1}; +avp_arity('Accumulated-Cost', 'Value-Digits') -> 1; +avp_arity('Accumulated-Cost', 'Exponent') -> {0, 1}; +avp_arity('Additional-Content-Information', + 'Type-Number') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Content-Size') -> + {0, 1}; +avp_arity('Address-Domain', 'Domain-Name') -> {0, 1}; +avp_arity('Address-Domain', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('AF-Correlation-Information', + 'AF-Charging-Identifier') -> + 1; +avp_arity('AF-Correlation-Information', 'Flows') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Announcement-Identifier') -> + 1; +avp_arity('Announcement-Information', + 'Variable-Part') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Time-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Quota-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Announcement-Order') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Play-Alternative') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Privacy-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', 'Language') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Accumulated-Cost') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Incremental-Cost') -> + {0, '*'}; +avp_arity('AoC-Cost-Information', 'Currency-Code') -> + {0, 1}; +avp_arity('AoC-Information', 'AoC-Cost-Information') -> + {0, 1}; +avp_arity('AoC-Information', 'Tariff-Information') -> + {0, 1}; +avp_arity('AoC-Information', + 'AoC-Subscription-Information') -> + {0, 1}; +avp_arity('AoC-Service', + 'AoC-Service-Obligatory-Type') -> + {0, 1}; +avp_arity('AoC-Service', 'AoC-Service-Type') -> {0, 1}; +avp_arity('AoC-Subscription-Information', + 'AoC-Service') -> + {0, '*'}; +avp_arity('AoC-Subscription-Information', + 'AoC-Format') -> + {0, 1}; +avp_arity('AoC-Subscription-Information', + 'Preferred-AoC-Currency') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Uplink') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Downlink') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Message-Size') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Additional-Exception-Reports') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Server') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Provided-Called-Party-Address') -> + {0, '*'}; +avp_arity('Application-Server-Information', + 'Status-AS-Code') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Bearer-Service') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Teleservice') -> + {0, 1}; +avp_arity('Called-Identity-Change', + 'Called-Identity') -> + {0, 1}; +avp_arity('Called-Identity-Change', 'Change-Time') -> + {0, 1}; +avp_arity('Coverage-Info', 'Coverage-Status') -> {0, 1}; +avp_arity('Coverage-Info', 'Change-Time') -> {0, 1}; +avp_arity('Coverage-Info', 'Location-Info') -> {0, '*'}; +avp_arity('CPDT-Information', + 'Serving-Node-Identity') -> + {0, 1}; +avp_arity('CPDT-Information', 'SGW-Change') -> {0, 1}; +avp_arity('CPDT-Information', 'NIDD-Submission') -> + {0, 1}; +avp_arity('Current-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Current-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Current-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('Destination-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-TimeStamps') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('Early-Media-Description', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('Enhanced-Diagnostics', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Envelope', 'Envelope-Start-Time') -> 1; +avp_arity('Envelope', 'Envelope-End-Time') -> {0, 1}; +avp_arity('Envelope', 'CC-Total-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Input-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Output-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Event-Type', 'SIP-Method') -> {0, 1}; +avp_arity('Event-Type', 'Event') -> {0, 1}; +avp_arity('Event-Type', 'Expires') -> {0, 1}; +avp_arity('Incremental-Cost', 'Value-Digits') -> 1; +avp_arity('Incremental-Cost', 'Exponent') -> {0, 1}; +avp_arity('IMS-Information', 'Node-Functionality') -> 1; +avp_arity('IMS-Information', 'Event-Type') -> {0, 1}; +avp_arity('IMS-Information', 'Role-Of-Node') -> {0, 1}; +avp_arity('IMS-Information', 'User-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Outgoing-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Session-Priority') -> + {0, 1}; +avp_arity('IMS-Information', 'Calling-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Called-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Called-Asserted-Identity') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Called-Identity-Change') -> + {0, 1}; +avp_arity('IMS-Information', + 'Number-Portability-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Carrier-Select-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Alternate-Charged-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Requested-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Associated-URI') -> + {0, '*'}; +avp_arity('IMS-Information', 'Time-Stamps') -> {0, 1}; +avp_arity('IMS-Information', + 'Application-Server-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Inter-Operator-Identifier') -> + {0, '*'}; +avp_arity('IMS-Information', 'Transit-IOI-List') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('IMS-Information', 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Served-Party-IP-Address') -> + {0, 1}; +avp_arity('IMS-Information', 'Trunk-Group-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Bearer-Service') -> + {0, 1}; +avp_arity('IMS-Information', 'Service-Id') -> {0, 1}; +avp_arity('IMS-Information', 'Service-Specific-Info') -> + {0, '*'}; +avp_arity('IMS-Information', 'Message-Body') -> + {0, '*'}; +avp_arity('IMS-Information', 'Cause-Code') -> {0, 1}; +avp_arity('IMS-Information', 'Reason-Header') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Early-Media-Description') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Communication-Service-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Application-Reference-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'Online-Charging-Flag') -> + {0, 1}; +avp_arity('IMS-Information', + 'Real-Time-Tariff-Information') -> + {0, 1}; +avp_arity('IMS-Information', 'Account-Expiration') -> + {0, 1}; +avp_arity('IMS-Information', + 'Initial-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'NNI-Information') -> + {0, '*'}; +avp_arity('IMS-Information', 'From-Address') -> {0, 1}; +avp_arity('IMS-Information', + 'IMS-Emergency-Indicator') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Visited-Network-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Access-Network-Info-Change') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Transfer-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('IMS-Information', 'Route-Header-Received') -> + {0, 1}; +avp_arity('IMS-Information', + 'Route-Header-Transmitted') -> + {0, 1}; +avp_arity('IMS-Information', 'Instance-Id') -> {0, 1}; +avp_arity('IMS-Information', 'TAD-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'FE-Identifier-List') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Originating-IOI') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Terminating-IOI') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Location') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Value') -> {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Diagnostics') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Type') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-External-ID') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Dialed-By-MS') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Name') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-APN') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Requestor-ID') -> + {0, 1}; +avp_arity('LCS-Client-Name', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Name-String') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Format-Indicator') -> + {0, 1}; +avp_arity('LCS-Information', 'LCS-Client-ID') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Type') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Estimate') -> + {0, 1}; +avp_arity('LCS-Information', 'Positioning-Data') -> + {0, 1}; +avp_arity('LCS-Information', '3GPP-IMSI') -> {0, 1}; +avp_arity('LCS-Information', 'MSISDN') -> {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Requestor-ID-String') -> + {0, 1}; +avp_arity('Location-Info', '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Location-Info', 'Change-Time') -> {0, 1}; +avp_arity('Location-Type', 'Location-Estimate-Type') -> + {0, 1}; +avp_arity('Location-Type', + 'Deferred-Location-Event-Type') -> + {0, 1}; +avp_arity('MBMS-Information', 'TMGI') -> {0, 1}; +avp_arity('MBMS-Information', + 'MBMS-User-Service-Type') -> + {0, 1}; +avp_arity('MBMS-Information', + 'File-Repair-Supported') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-2G-3G-Indicator') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Service-Area') -> + {0, '*'}; +avp_arity('MBMS-Information', + 'MBMS-Session-Identity') -> + {0, 1}; +avp_arity('MBMS-Information', + 'CN-IP-Multicast-Distribution') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-GW-Address') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Charged-Party') -> + {0, 1}; +avp_arity('MBMS-Information', 'MSISDN') -> {0, '*'}; +avp_arity('Message-Body', 'Content-Type') -> 1; +avp_arity('Message-Body', 'Content-Length') -> 1; +avp_arity('Message-Body', 'Content-Disposition') -> + {0, 1}; +avp_arity('Message-Body', 'Originator') -> {0, 1}; +avp_arity('Message-Class', 'Class-Identifier') -> + {0, 1}; +avp_arity('Message-Class', 'Token-Text') -> {0, 1}; +avp_arity('MM-Content-Type', 'Type-Number') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('MM-Content-Type', 'Content-Size') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Content-Information') -> + {0, '*'}; +avp_arity('MMS-Information', 'Originator-Address') -> + {0, 1}; +avp_arity('MMS-Information', 'Recipient-Address') -> + {0, '*'}; +avp_arity('MMS-Information', 'Submission-Time') -> + {0, 1}; +avp_arity('MMS-Information', 'MM-Content-Type') -> + {0, 1}; +avp_arity('MMS-Information', 'Priority') -> {0, 1}; +avp_arity('MMS-Information', 'Message-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Type') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Size') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Class') -> {0, 1}; +avp_arity('MMS-Information', + 'Delivery-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'Read-Reply-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'MMBox-Storage-Requested') -> + {0, 1}; +avp_arity('MMS-Information', 'Applic-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Reply-Applic-ID') -> + {0, 1}; +avp_arity('MMS-Information', 'Aux-Applic-Info') -> + {0, 1}; +avp_arity('MMS-Information', 'Content-Class') -> {0, 1}; +avp_arity('MMS-Information', 'DRM-Content') -> {0, 1}; +avp_arity('MMS-Information', 'Adaptations') -> {0, 1}; +avp_arity('MMTel-Information', + 'Supplementary-Service') -> + {0, '*'}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Functionality') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Configuration-Activity') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Report-Data') -> + {0, '*'}; +avp_arity('Monitoring-Event-Report-Data', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Monitoring-Event-Report-Number') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Subscription-Id') -> + {0, 1}; +avp_arity('Next-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Next-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Next-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('NIDD-Submission', 'Submission-Time') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Event-Timestamp') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Change-Condition') -> + {0, 1}; +avp_arity('NNI-Information', 'Session-Direction') -> + {0, 1}; +avp_arity('NNI-Information', 'NNI-Type') -> {0, 1}; +avp_arity('NNI-Information', 'Relationship-Mode') -> + {0, 1}; +avp_arity('NNI-Information', + 'Neighbour-Node-Address') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Quota-Consumption-Time') -> + {0, 1}; +avp_arity('Offline-Charging', 'Time-Quota-Mechanism') -> + {0, 1}; +avp_arity('Offline-Charging', 'Envelope-Reporting') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Multiple-Services-Credit-Control') -> + {0, '*'}; +avp_arity('Offline-Charging', 'AVP') -> {0, '*'}; +avp_arity('Originator-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Participant-Group', + 'Called-Party-Address') -> + {0, 1}; +avp_arity('Participant-Group', + 'Participant-Access-Priority') -> + {0, 1}; +avp_arity('Participant-Group', + 'User-Participating-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Server-Role') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-User-Role') -> {0, 1}; +avp_arity('PoC-Information', + 'PoC-Session-Initiation-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Event-Type') -> + {0, 1}; +avp_arity('PoC-Information', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('PoC-Information', 'Participants-Involved') -> + {0, '*'}; +avp_arity('PoC-Information', 'Participant-Group') -> + {0, '*'}; +avp_arity('PoC-Information', 'Talk-Burst-Exchange') -> + {0, '*'}; +avp_arity('PoC-Information', + 'PoC-Controlling-Address') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Group-Name') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Id') -> + {0, 1}; +avp_arity('PoC-Information', 'Charged-Party') -> {0, 1}; +avp_arity('PoC-User-Role', 'PoC-User-Role-IDs') -> + {0, 1}; +avp_arity('PoC-User-Role', + 'PoC-User-Role-Info-Units') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Role-Of-ProSe-Function') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-3rd-Party-Application-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Application-Specific-Data') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Event-Type') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Discovery-Model') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Function-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Role-Of-UE') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Request-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requestor-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requested-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Range-Class') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Indication') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Cancellation-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Reason-For-Cancellation') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-EPC-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Layer-2-Group-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Group-IP-Multicast-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Coverage-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Radio-Parameter-Set-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Transmitter-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Time-First-Transmission') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Time-First-Reception') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Transmission-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Reception-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Announcing-PLMN-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Target-Layer-2-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Relay-IP-address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-UE-to-Network-Relay-UE-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Target-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC5-Radio-Technology') -> + {0, 1}; +avp_arity('PS-Furnish-Charging-Information', + '3GPP-Charging-Id') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Free-Format-Data') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Append-Free-Format-Data') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('PS-Information', + 'PDN-Connection-Charging-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Node-Id') -> {0, 1}; +avp_arity('PS-Information', '3GPP-PDP-Type') -> {0, 1}; +avp_arity('PS-Information', 'PDP-Address') -> {0, '*'}; +avp_arity('PS-Information', + 'PDP-Address-Prefix-Length') -> + {0, 1}; +avp_arity('PS-Information', 'Dynamic-Address-Flag') -> + {0, 1}; +avp_arity('PS-Information', + 'Dynamic-Address-Flag-Extension') -> + {0, 1}; +avp_arity('PS-Information', 'QoS-Information') -> + {0, 1}; +avp_arity('PS-Information', 'SGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'GGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TDF-IP-Address') -> + {0, '*'}; +avp_arity('PS-Information', 'SGW-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TWAG-Address') -> {0, '*'}; +avp_arity('PS-Information', 'CG-Address') -> {0, 1}; +avp_arity('PS-Information', 'Serving-Node-Type') -> + {0, 1}; +avp_arity('PS-Information', 'SGW-Change') -> {0, 1}; +avp_arity('PS-Information', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', + 'IMSI-Unauthenticated-Flag') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-GGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-NSAPI') -> {0, 1}; +avp_arity('PS-Information', 'Called-Station-Id') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Session-Stop-Indicator') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Characteristics-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'User-Location-Info-Time') -> + {0, 1}; +avp_arity('PS-Information', 'User-CSG-Information') -> + {0, 1}; +avp_arity('PS-Information', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('PS-Information', + 'TWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-RAT-Type') -> {0, 1}; +avp_arity('PS-Information', + 'PS-Furnish-Charging-Information') -> + {0, 1}; +avp_arity('PS-Information', 'PDP-Context-Type') -> + {0, 1}; +avp_arity('PS-Information', 'Offline-Charging') -> + {0, 1}; +avp_arity('PS-Information', 'Traffic-Data-Volumes') -> + {0, '*'}; +avp_arity('PS-Information', 'Service-Data-Container') -> + {0, '*'}; +avp_arity('PS-Information', 'User-Equipment-Info') -> + {0, 1}; +avp_arity('PS-Information', 'Start-Time') -> {0, 1}; +avp_arity('PS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('PS-Information', 'Change-Condition') -> + {0, 1}; +avp_arity('PS-Information', 'Diagnostics') -> {0, 1}; +avp_arity('PS-Information', 'Low-Priority-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Physical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', + 'Fixed-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'CN-Operator-Selection-Entity') -> + {0, 1}; +avp_arity('PS-Information', 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('PS-Information', + 'SGi-PtP-Tunnelling-Method') -> + {0, 1}; +avp_arity('PS-Information', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'UNI-PDU-CP-Only-Flag') -> + {0, 1}; +avp_arity('PS-Information', 'APN-Rate-Control') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Per-IP-CAN-Session-Indicator') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('PS-Information', 'SCS-AS-Address') -> {0, 1}; +avp_arity('PS-Information', 'Unused-Quota-Timer') -> + {0, 1}; +avp_arity('PS-Information', + 'RAN-Secondary-RAT-Usage-Report') -> + {0, '*'}; +avp_arity('PS-Information', 'AVP') -> {0, '*'}; +avp_arity('Radio-Parameter-Set-Info', + 'Radio-Parameter-Set-Values') -> + {0, 1}; +avp_arity('Radio-Parameter-Set-Info', 'Change-Time') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Secondary-RAT-Type') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Rate-Element', 'CC-Unit-Type') -> 1; +avp_arity('Rate-Element', 'Charge-Reason-Code') -> + {0, 1}; +avp_arity('Rate-Element', 'Unit-Value') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Cost') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Quota-Threshold') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-Information') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-XML') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Recipient-Address', 'Addressee-Type') -> + {0, 1}; +avp_arity('Recipient-Info', 'Destination-Interface') -> + {0, 1}; +avp_arity('Recipient-Info', 'Recipient-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', + 'Recipient-Received-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', 'Recipient-SCCP-Address') -> + {0, 1}; +avp_arity('Recipient-Info', 'SM-Protocol-ID') -> {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'SGSN-Address') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Related-Change-Condition-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Related-Trigger', 'Trigger-Type') -> + {0, '*'}; +avp_arity('Remaining-Balance', 'Unit-Value') -> 1; +avp_arity('Remaining-Balance', 'Currency-Code') -> 1; +avp_arity('Scale-Factor', 'Value-Digits') -> 1; +avp_arity('Scale-Factor', 'Exponent') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Realm') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Address') -> {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Media-Name') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'SDP-Media-Description') -> + {0, '*'}; +avp_arity('SDP-Media-Component', + 'Local-GW-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'IP-Realm-Default-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Transcoder-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Flag') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Party') -> + {0, 1}; +avp_arity('SDP-Media-Component', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Access-Network-Charging-Identifier-Value') -> + {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Type') -> {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Offer-Timestamp') -> + {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Answer-Timestamp') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'AF-Correlation-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'QoS-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Rating-Group') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Change-Time') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Specific-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', 'SGSN-Address') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-First-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-Last-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Time-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Service-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'APN-Rate-Control') -> + {0, 1}; +avp_arity('Service-Data-Container', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('Service-Information', 'Subscription-Id') -> + {0, '*'}; +avp_arity('Service-Information', 'AoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'IMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'LCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MBMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'SMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'VCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMTel-Information') -> + {0, 1}; +avp_arity('Service-Information', 'ProSe-Information') -> + {0, 1}; +avp_arity('Service-Information', 'CPDT-Information') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Data') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Type') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'Validity-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Node') -> {0, 1}; +avp_arity('SMS-Information', 'Client-Address') -> + {0, 1}; +avp_arity('SMS-Information', + 'Originator-SCCP-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SMSC-Address') -> {0, 1}; +avp_arity('SMS-Information', 'Data-Coding-Scheme') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Discharge-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Message-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'Originator-Interface') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Protocol-ID') -> + {0, 1}; +avp_arity('SMS-Information', 'Reply-Path-Requested') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Status') -> {0, 1}; +avp_arity('SMS-Information', 'SM-User-Data-Header') -> + {0, 1}; +avp_arity('SMS-Information', + 'Number-Of-Messages-Sent') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Sequence-Number') -> + {0, 1}; +avp_arity('SMS-Information', 'Recipient-Info') -> + {0, '*'}; +avp_arity('SMS-Information', + 'Originator-Received-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Service-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Result') -> {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Indicator') -> + {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Information') -> + {0, 1}; +avp_arity('SMS-Information', 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'MMTel-SService-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Mode') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Diversions') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Associated-Party-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Id') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Change-Time') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Participant-Action-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'CUG-Information') -> + {0, 1}; +avp_arity('Supplementary-Service', 'AoC-Information') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'PoC-Change-Time') -> + 1; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Received-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'PoC-Change-Condition') -> + {0, 1}; +avp_arity('Tariff-Information', 'Current-Tariff') -> 1; +avp_arity('Tariff-Information', 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Tariff-Information', 'Next-Tariff') -> + {0, 1}; +avp_arity('Time-Quota-Mechanism', 'Time-Quota-Type') -> + 1; +avp_arity('Time-Quota-Mechanism', + 'Base-Time-Interval') -> + 1; +avp_arity('Time-Stamps', 'SIP-Request-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', 'SIP-Response-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Request-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Response-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'QoS-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Condition') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Time') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('Transmitter-Info', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('Transmitter-Info', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('Trigger', 'Trigger-Type') -> {0, '*'}; +avp_arity('Trunk-Group-Id', + 'Incoming-Trunk-Group-Id') -> + {0, 1}; +avp_arity('Trunk-Group-Id', + 'Outgoing-Trunk-Group-Id') -> + {0, 1}; +avp_arity('TWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Unit-Cost', 'Value-Digits') -> 1; +avp_arity('Unit-Cost', 'Exponent') -> {0, 1}; +avp_arity('User-CSG-Information', 'CSG-Access-Mode') -> + 1; +avp_arity('User-CSG-Information', + 'CSG-Membership-Indication') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', + 'UE-Local-IP-Address') -> + 1; +avp_arity('UWAN-User-Location-Info', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Variable-Part', 'Variable-Part-Type') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Value') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Order') -> + {0, 1}; +avp_arity('VCS-Information', 'Bearer-Capability') -> + {0, 1}; +avp_arity('VCS-Information', + 'Network-Call-Reference-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'MSC-Address') -> {0, 1}; +avp_arity('VCS-Information', 'Basic-Service-Code') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Location-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'VLR-Number') -> {0, 1}; +avp_arity('VCS-Information', 'Forwarding-Pending') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Cause') -> {0, 1}; +avp_arity('VCS-Information', 'Start-Time') -> {0, 1}; +avp_arity('VCS-Information', 'Start-of-Charging') -> + {0, 1}; +avp_arity('VCS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('VCS-Information', 'PS-Free-Format-Data') -> + {0, 1}; +avp_arity('MIP-MN-AAA-Auth', 'MIP-MN-AAA-SPI') -> 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Auth-Input-Data-Length') -> + 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Authenticator-Length') -> + 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Authenticator-Offset') -> + 1; +avp_arity('MIP-MN-AAA-Auth', 'AVP') -> {0, '*'}; +avp_arity('MIP-MN-to-FA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-MN-to-FA-MSA', 'MIP-Nonce') -> 1; +avp_arity('MIP-MN-to-FA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-FA-to-MN-SPI') -> 1; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-FA-to-MN-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Replay-Mode') -> 1; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Nonce') -> 1; +avp_arity('MIP-MN-to-HA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Replay-Mode') -> 1; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-HA-to-MN-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-FA-to-HA-SPI') -> 1; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-FA-to-HA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-HA-to-FA-SPI') -> 1; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-HA-to-FA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-Originating-Foreign-AAA', + 'Origin-Realm') -> + 1; +avp_arity('MIP-Originating-Foreign-AAA', + 'Origin-Host') -> + 1; +avp_arity('MIP-Originating-Foreign-AAA', 'AVP') -> + {0, '*'}; +avp_arity('MIP-Home-Agent-Host', 'Destination-Realm') -> + 1; +avp_arity('MIP-Home-Agent-Host', 'Destination-Host') -> + 1; +avp_arity('MIP-Home-Agent-Host', 'AVP') -> {0, '*'}; +avp_arity('Cost-Information', 'Unit-Value') -> 1; +avp_arity('Cost-Information', 'Currency-Code') -> 1; +avp_arity('Cost-Information', 'Cost-Unit') -> {0, 1}; +avp_arity('Unit-Value', 'Value-Digits') -> 1; +avp_arity('Unit-Value', 'Exponent') -> {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Granted-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Requested-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Used-Service-Unit') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Service-Identifier') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Rating-Group') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'G-S-U-Pool-Reference') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Validity-Time') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Result-Code') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', 'AVP') -> + {0, '*'}; +avp_arity('Granted-Service-Unit', + 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Requested-Service-Unit', 'CC-Time') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'CC-Money') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Used-Service-Unit', 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('CC-Money', 'Unit-Value') -> 1; +avp_arity('CC-Money', 'Currency-Code') -> {0, 1}; +avp_arity('G-S-U-Pool-Reference', + 'G-S-U-Pool-Identifier') -> + 1; +avp_arity('G-S-U-Pool-Reference', 'CC-Unit-Type') -> 1; +avp_arity('G-S-U-Pool-Reference', 'Unit-Value') -> 1; +avp_arity('Final-Unit-Indication', + 'Final-Unit-Action') -> + 1; +avp_arity('Final-Unit-Indication', + 'Restriction-Filter-Rule') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Filter-Id') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Redirect-Server') -> + {0, 1}; +avp_arity('Redirect-Server', 'Redirect-Address-Type') -> + 1; +avp_arity('Redirect-Server', + 'Redirect-Server-Address') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Type') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Value') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Type') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Data') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Type') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Value') -> + 1; +avp_arity('MIP6-Agent-Info', + 'MIP-Home-Agent-Address') -> + {0, 2}; +avp_arity('MIP6-Agent-Info', 'MIP-Home-Agent-Host') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'MIP6-Home-Link-Prefix') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'AVP') -> {0, '*'}; +avp_arity('QoS-Resources', 'Filter-Rule') -> {1, '*'}; +avp_arity('QoS-Resources', 'AVP') -> {0, '*'}; +avp_arity('Filter-Rule', 'Filter-Rule-Precedence') -> + {0, 1}; +avp_arity('Filter-Rule', 'Classifier') -> {0, 1}; +avp_arity('Filter-Rule', 'Time-Of-Day-Condition') -> + {0, '*'}; +avp_arity('Filter-Rule', 'Treatment-Action') -> {0, 1}; +avp_arity('Filter-Rule', 'QoS-Semantics') -> {0, 1}; +avp_arity('Filter-Rule', 'QoS-Profile-Template') -> + {0, 1}; +avp_arity('Filter-Rule', 'QoS-Parameters') -> {0, 1}; +avp_arity('Filter-Rule', 'Excess-Treatment') -> {0, 1}; +avp_arity('Filter-Rule', 'AVP') -> {0, '*'}; +avp_arity('Classifier', 'Classifier-ID') -> 1; +avp_arity('Classifier', 'Protocol') -> {0, 1}; +avp_arity('Classifier', 'Direction') -> {0, 1}; +avp_arity('Classifier', 'From-Spec') -> {0, '*'}; +avp_arity('Classifier', 'To-Spec') -> {0, '*'}; +avp_arity('Classifier', 'Diffserv-Code-Point') -> + {0, '*'}; +avp_arity('Classifier', 'Fragmentation-Flag') -> {0, 1}; +avp_arity('Classifier', 'IP-Option') -> {0, '*'}; +avp_arity('Classifier', 'TCP-Option') -> {0, '*'}; +avp_arity('Classifier', 'TCP-Flags') -> {0, 1}; +avp_arity('Classifier', 'ICMP-Type') -> {0, '*'}; +avp_arity('Classifier', 'ETH-Option') -> {0, '*'}; +avp_arity('Classifier', 'AVP') -> {0, '*'}; +avp_arity('From-Spec', 'IP-Address') -> {0, '*'}; +avp_arity('From-Spec', 'IP-Address-Range') -> {0, '*'}; +avp_arity('From-Spec', 'IP-Address-Mask') -> {0, '*'}; +avp_arity('From-Spec', 'MAC-Address') -> {0, '*'}; +avp_arity('From-Spec', 'MAC-Address-Mask') -> {0, '*'}; +avp_arity('From-Spec', 'EUI64-Address') -> {0, '*'}; +avp_arity('From-Spec', 'EUI64-Address-Mask') -> + {0, '*'}; +avp_arity('From-Spec', 'Port') -> {0, '*'}; +avp_arity('From-Spec', 'Port-Range') -> {0, '*'}; +avp_arity('From-Spec', 'Negated') -> {0, 1}; +avp_arity('From-Spec', 'Use-Assigned-Address') -> + {0, 1}; +avp_arity('From-Spec', 'AVP') -> {0, '*'}; +avp_arity('To-Spec', 'IP-Address') -> {0, '*'}; +avp_arity('To-Spec', 'IP-Address-Range') -> {0, '*'}; +avp_arity('To-Spec', 'IP-Address-Mask') -> {0, '*'}; +avp_arity('To-Spec', 'MAC-Address') -> {0, '*'}; +avp_arity('To-Spec', 'MAC-Address-Mask') -> {0, '*'}; +avp_arity('To-Spec', 'EUI64-Address') -> {0, '*'}; +avp_arity('To-Spec', 'EUI64-Address-Mask') -> {0, '*'}; +avp_arity('To-Spec', 'Port') -> {0, '*'}; +avp_arity('To-Spec', 'Port-Range') -> {0, '*'}; +avp_arity('To-Spec', 'Negated') -> {0, 1}; +avp_arity('To-Spec', 'Use-Assigned-Address') -> {0, 1}; +avp_arity('To-Spec', 'AVP') -> {0, '*'}; +avp_arity('IP-Address-Range', 'IP-Address-Start') -> + {0, 1}; +avp_arity('IP-Address-Range', 'IP-Address-End') -> + {0, 1}; +avp_arity('IP-Address-Range', 'AVP') -> {0, '*'}; +avp_arity('IP-Address-Mask', 'IP-Address') -> 1; +avp_arity('IP-Address-Mask', + 'IP-Mask-Bit-Mask-Width') -> + 1; +avp_arity('IP-Address-Mask', 'AVP') -> {0, '*'}; +avp_arity('MAC-Address-Mask', 'MAC-Address') -> 1; +avp_arity('MAC-Address-Mask', + 'MAC-Address-Mask-Pattern') -> + 1; +avp_arity('MAC-Address-Mask', 'AVP') -> {0, '*'}; +avp_arity('EUI64-Address-Mask', 'EUI64-Address') -> 1; +avp_arity('EUI64-Address-Mask', + 'EUI64-Address-Mask-Pattern') -> + 1; +avp_arity('EUI64-Address-Mask', 'AVP') -> {0, '*'}; +avp_arity('Port-Range', 'Port-Start') -> {0, 1}; +avp_arity('Port-Range', 'Port-End') -> {0, 1}; +avp_arity('Port-Range', 'AVP') -> {0, '*'}; +avp_arity('IP-Option', 'IP-Option-Type') -> 1; +avp_arity('IP-Option', 'IP-Option-Value') -> {0, '*'}; +avp_arity('IP-Option', 'Negated') -> {0, 1}; +avp_arity('IP-Option', 'AVP') -> {0, '*'}; +avp_arity('TCP-Option', 'TCP-Option-Type') -> 1; +avp_arity('TCP-Option', 'TCP-Option-Value') -> {0, '*'}; +avp_arity('TCP-Option', 'Negated') -> {0, 1}; +avp_arity('TCP-Option', 'AVP') -> {0, '*'}; +avp_arity('TCP-Flags', 'TCP-Flag-Type') -> 1; +avp_arity('TCP-Flags', 'Negated') -> {0, 1}; +avp_arity('TCP-Flags', 'AVP') -> {0, '*'}; +avp_arity('ICMP-Type', 'ICMP-Type-Number') -> 1; +avp_arity('ICMP-Type', 'ICMP-Code') -> {0, '*'}; +avp_arity('ICMP-Type', 'Negated') -> {0, 1}; +avp_arity('ICMP-Type', 'AVP') -> {0, '*'}; +avp_arity('ETH-Option', 'ETH-Proto-Type') -> 1; +avp_arity('ETH-Option', 'VLAN-ID-Range') -> {0, '*'}; +avp_arity('ETH-Option', 'User-Priority-Range') -> + {0, '*'}; +avp_arity('ETH-Option', 'AVP') -> {0, '*'}; +avp_arity('ETH-Proto-Type', 'ETH-Ether-Type') -> + {0, '*'}; +avp_arity('ETH-Proto-Type', 'ETH-SAP') -> {0, '*'}; +avp_arity('ETH-Proto-Type', 'AVP') -> {0, '*'}; +avp_arity('VLAN-ID-Range', 'S-VID-Start') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'S-VID-End') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'C-VID-Start') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'C-VID-End') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'AVP') -> {0, '*'}; +avp_arity('User-Priority-Range', 'Low-User-Priority') -> + {0, '*'}; +avp_arity('User-Priority-Range', + 'High-User-Priority') -> + {0, '*'}; +avp_arity('User-Priority-Range', 'AVP') -> {0, '*'}; +avp_arity('Time-Of-Day-Condition', + 'Time-Of-Day-Start') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', 'Time-Of-Day-End') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Day-Of-Week-Mask') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Day-Of-Month-Mask') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Month-Of-Year-Mask') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Absolute-Start-Time') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Absolute-End-Time') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', 'Timezone-Flag') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', 'AVP') -> {0, '*'}; +avp_arity('QoS-Profile-Template', 'Vendor-Id') -> 1; +avp_arity('QoS-Profile-Template', 'QoS-Profile-Id') -> + 1; +avp_arity('QoS-Profile-Template', 'AVP') -> {0, '*'}; +avp_arity('QoS-Parameters', 'AVP') -> {0, '*'}; +avp_arity('Excess-Treatment', 'Treatment-Action') -> 1; +avp_arity('Excess-Treatment', 'QoS-Profile-Template') -> + {0, 1}; +avp_arity('Excess-Treatment', 'QoS-Parameters') -> + {0, 1}; +avp_arity('Excess-Treatment', 'AVP') -> {0, '*'}; +avp_arity('QoS-Capability', 'QoS-Profile-Template') -> + {1, '*'}; +avp_arity('QoS-Capability', 'AVP') -> {0, '*'}; +avp_arity('OC-Supported-Features', + 'OC-Feature-Vector') -> + {0, 1}; +avp_arity('OC-Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('OC-OLR', 'OC-Sequence-Number') -> 1; +avp_arity('OC-OLR', 'OC-Report-Type') -> 1; +avp_arity('OC-OLR', 'OC-Reduction-Percentage') -> + {0, 1}; +avp_arity('OC-OLR', 'OC-Validity-Duration') -> {0, 1}; +avp_arity('OC-OLR', 'AVP') -> {0, '*'}; +avp_arity('Load', 'Load-Type') -> {0, 1}; +avp_arity('Load', 'Load-Value') -> {0, 1}; +avp_arity('Load', 'SourceID') -> {0, 1}; +avp_arity('Load', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header('APN-OI-Replacement') -> + diameter_3gpp_break_circles:avp_header('APN-OI-Replacement'); +avp_header('Emergency-Info') -> + diameter_3gpp_break_circles:avp_header('Emergency-Info'); +avp_header('GMLC-Number') -> + diameter_3gpp_break_circles:avp_header('GMLC-Number'); +avp_header('SGSN-Number') -> + diameter_3gpp_break_circles:avp_header('SGSN-Number'); +avp_header('AN-GW-Address') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Address'); +avp_header('AN-GW-Status') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Status'); +avp_header('APN-Aggregate-Max-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-DL'); +avp_header('APN-Aggregate-Max-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-UL'); +avp_header('Access-Network-Charging-Identifier-Gx') -> + diameter_3gpp_ts29_212:avp_header('Access-Network-Charging-Identifier-Gx'); +avp_header('Allocation-Retention-Priority') -> + diameter_3gpp_ts29_212:avp_header('Allocation-Retention-Priority'); +avp_header('Application-Detection-Information') -> + diameter_3gpp_ts29_212:avp_header('Application-Detection-Information'); +avp_header('Bearer-Control-Mode') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Control-Mode'); +avp_header('Bearer-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Identifier'); +avp_header('Bearer-Operation') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Operation'); +avp_header('Bearer-Usage') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Usage'); +avp_header('CSG-Information-Reporting') -> + diameter_3gpp_ts29_212:avp_header('CSG-Information-Reporting'); +avp_header('Charging-Correlation-Indicator') -> + diameter_3gpp_ts29_212:avp_header('Charging-Correlation-Indicator'); +avp_header('Charging-Rule-Base-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Base-Name'); +avp_header('Charging-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Definition'); +avp_header('Charging-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Install'); +avp_header('Charging-Rule-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Name'); +avp_header('Charging-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Remove'); +avp_header('Charging-Rule-Report') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Report'); +avp_header('CoA-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('CoA-IP-Address'); +avp_header('CoA-Information') -> + diameter_3gpp_ts29_212:avp_header('CoA-Information'); +avp_header('Conditional-APN-Aggregate-Max-Bitrate') -> + diameter_3gpp_ts29_212:avp_header('Conditional-APN-Aggregate-Max-Bitrate'); +avp_header('Credit-Management-Status') -> + diameter_3gpp_ts29_212:avp_header('Credit-Management-Status'); +avp_header('Default-EPS-Bearer-QoS') -> + diameter_3gpp_ts29_212:avp_header('Default-EPS-Bearer-QoS'); +avp_header('Default-QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Information'); +avp_header('Default-QoS-Name') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Name'); +avp_header('Event-Report-Indication') -> + diameter_3gpp_ts29_212:avp_header('Event-Report-Indication'); +avp_header('Event-Trigger') -> + diameter_3gpp_ts29_212:avp_header('Event-Trigger'); +avp_header('Fixed-User-Location-Info') -> + diameter_3gpp_ts29_212:avp_header('Fixed-User-Location-Info'); +avp_header('Flow-Direction') -> + diameter_3gpp_ts29_212:avp_header('Flow-Direction'); +avp_header('Flow-Information') -> + diameter_3gpp_ts29_212:avp_header('Flow-Information'); +avp_header('Flow-Label') -> + diameter_3gpp_ts29_212:avp_header('Flow-Label'); +avp_header('Guaranteed-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-DL'); +avp_header('Guaranteed-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-UL'); +avp_header('HeNB-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('HeNB-Local-IP-Address'); +avp_header('IP-CAN-Session-Charging-Scope') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Session-Charging-Scope'); +avp_header('IP-CAN-Type') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Type'); +avp_header('Metering-Method') -> + diameter_3gpp_ts29_212:avp_header('Metering-Method'); +avp_header('Monitoring-Key') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Key'); +avp_header('Monitoring-Time') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Time'); +avp_header('Mute-Notification') -> + diameter_3gpp_ts29_212:avp_header('Mute-Notification'); +avp_header('NetLoc-Access-Support') -> + diameter_3gpp_ts29_212:avp_header('NetLoc-Access-Support'); +avp_header('Network-Request-Support') -> + diameter_3gpp_ts29_212:avp_header('Network-Request-Support'); +avp_header('Offline') -> + diameter_3gpp_ts29_212:avp_header('Offline'); +avp_header('Online') -> + diameter_3gpp_ts29_212:avp_header('Online'); +avp_header('PCC-Rule-Status') -> + diameter_3gpp_ts29_212:avp_header('PCC-Rule-Status'); +avp_header('PCSCF-Restoration-Indication') -> + diameter_3gpp_ts29_212:avp_header('PCSCF-Restoration-Indication'); +avp_header('PDN-Connection-ID') -> + diameter_3gpp_ts29_212:avp_header('PDN-Connection-ID'); +avp_header('PS-to-CS-Session-Continuity') -> + diameter_3gpp_ts29_212:avp_header('PS-to-CS-Session-Continuity'); +avp_header('Packet-Filter-Content') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Content'); +avp_header('Packet-Filter-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Identifier'); +avp_header('Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Information'); +avp_header('Packet-Filter-Operation') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Operation'); +avp_header('Packet-Filter-Usage') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Usage'); +avp_header('Pre-emption-Capability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Capability'); +avp_header('Pre-emption-Vulnerability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Vulnerability'); +avp_header('Precedence') -> + diameter_3gpp_ts29_212:avp_header('Precedence'); +avp_header('Presence-Reporting-Area-Elements-List') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Elements-List'); +avp_header('Presence-Reporting-Area-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Identifier'); +avp_header('Presence-Reporting-Area-Information') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Information'); +avp_header('Presence-Reporting-Area-Status') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Status'); +avp_header('Priority-Level') -> + diameter_3gpp_ts29_212:avp_header('Priority-Level'); +avp_header('QoS-Class-Identifier') -> + diameter_3gpp_ts29_212:avp_header('QoS-Class-Identifier'); +avp_header('QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('QoS-Information'); +avp_header('QoS-Negotiation') -> + diameter_3gpp_ts29_212:avp_header('QoS-Negotiation'); +avp_header('QoS-Upgrade') -> + diameter_3gpp_ts29_212:avp_header('QoS-Upgrade'); +avp_header('RAN-NAS-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('RAN-NAS-Release-Cause'); +avp_header('RAT-Type') -> + diameter_3gpp_ts29_212:avp_header('RAT-Type'); +avp_header('Redirect-Information') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Information'); +avp_header('Redirect-Support') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Support'); +avp_header('Reporting-Level') -> + diameter_3gpp_ts29_212:avp_header('Reporting-Level'); +avp_header('Resource-Allocation-Notification') -> + diameter_3gpp_ts29_212:avp_header('Resource-Allocation-Notification'); +avp_header('Revalidation-Time') -> + diameter_3gpp_ts29_212:avp_header('Revalidation-Time'); +avp_header('Routing-Filter') -> + diameter_3gpp_ts29_212:avp_header('Routing-Filter'); +avp_header('Routing-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('Routing-IP-Address'); +avp_header('Routing-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Definition'); +avp_header('Routing-Rule-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Identifier'); +avp_header('Routing-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Install'); +avp_header('Routing-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Remove'); +avp_header('Rule-Activation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Activation-Time'); +avp_header('Rule-Deactivation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Deactivation-Time'); +avp_header('Rule-Failure-Code') -> + diameter_3gpp_ts29_212:avp_header('Rule-Failure-Code'); +avp_header('Security-Parameter-Index') -> + diameter_3gpp_ts29_212:avp_header('Security-Parameter-Index'); +avp_header('Session-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('Session-Release-Cause'); +avp_header('TDF-Application-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Identifier'); +avp_header('TDF-Application-Instance-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Instance-Identifier'); +avp_header('TDF-Destination-Host') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Host'); +avp_header('TDF-Destination-Realm') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Realm'); +avp_header('TDF-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('TDF-IP-Address'); +avp_header('TDF-Information') -> + diameter_3gpp_ts29_212:avp_header('TDF-Information'); +avp_header('TFT-Filter') -> + diameter_3gpp_ts29_212:avp_header('TFT-Filter'); +avp_header('TFT-Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('TFT-Packet-Filter-Information'); +avp_header('ToS-Traffic-Class') -> + diameter_3gpp_ts29_212:avp_header('ToS-Traffic-Class'); +avp_header('Tunnel-Header-Filter') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Filter'); +avp_header('Tunnel-Header-Length') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Length'); +avp_header('Tunnel-Information') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Information'); +avp_header('UDP-Source-Port') -> + diameter_3gpp_ts29_212:avp_header('UDP-Source-Port'); +avp_header('UE-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('UE-Local-IP-Address'); +avp_header('Usage-Monitoring-Information') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Information'); +avp_header('Usage-Monitoring-Level') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Level'); +avp_header('Usage-Monitoring-Report') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Report'); +avp_header('Usage-Monitoring-Support') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Support'); +avp_header('User-Location-Info-Time') -> + diameter_3gpp_ts29_212:avp_header('User-Location-Info-Time'); +avp_header('AF-Application-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Application-Identifier'); +avp_header('AF-Charging-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Charging-Identifier'); +avp_header('AF-Signalling-Protocol') -> + diameter_3gpp_ts29_214:avp_header('AF-Signalling-Protocol'); +avp_header('Abort-Cause') -> + diameter_3gpp_ts29_214:avp_header('Abort-Cause'); +avp_header('Access-Network-Charging-Address') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Address'); +avp_header('Access-Network-Charging-Identifier-Value') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Identifier-Value'); +avp_header('Application-Service-Provider-Identity') -> + diameter_3gpp_ts29_214:avp_header('Application-Service-Provider-Identity'); +avp_header('Codec-Data') -> + diameter_3gpp_ts29_214:avp_header('Codec-Data'); +avp_header('Flow-Description') -> + diameter_3gpp_ts29_214:avp_header('Flow-Description'); +avp_header('Flow-Number') -> + diameter_3gpp_ts29_214:avp_header('Flow-Number'); +avp_header('Flow-Status') -> + diameter_3gpp_ts29_214:avp_header('Flow-Status'); +avp_header('Flow-Usage') -> + diameter_3gpp_ts29_214:avp_header('Flow-Usage'); +avp_header('Flows') -> + diameter_3gpp_ts29_214:avp_header('Flows'); +avp_header('GCS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('GCS-Identifier'); +avp_header('IP-Domain-Id') -> + diameter_3gpp_ts29_214:avp_header('IP-Domain-Id'); +avp_header('MPS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('MPS-Identifier'); +avp_header('Max-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-DL'); +avp_header('Max-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-UL'); +avp_header('Media-Component-Number') -> + diameter_3gpp_ts29_214:avp_header('Media-Component-Number'); +avp_header('Media-Type') -> + diameter_3gpp_ts29_214:avp_header('Media-Type'); +avp_header('Min-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-DL'); +avp_header('Min-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-UL'); +avp_header('RR-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RR-Bandwidth'); +avp_header('RS-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RS-Bandwidth'); +avp_header('Required-Access-Info') -> + diameter_3gpp_ts29_214:avp_header('Required-Access-Info'); +avp_header('Rx-Request-Type') -> + diameter_3gpp_ts29_214:avp_header('Rx-Request-Type'); +avp_header('SIP-Forking-Indication') -> + diameter_3gpp_ts29_214:avp_header('SIP-Forking-Indication'); +avp_header('Service-Info-Status') -> + diameter_3gpp_ts29_214:avp_header('Service-Info-Status'); +avp_header('Service-URN') -> + diameter_3gpp_ts29_214:avp_header('Service-URN'); +avp_header('Specific-Action') -> + diameter_3gpp_ts29_214:avp_header('Specific-Action'); +avp_header('Sponsor-Identity') -> + diameter_3gpp_ts29_214:avp_header('Sponsor-Identity'); +avp_header('Call-ID-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('Call-ID-SIP-Header'); +avp_header('Charging-Information') -> + diameter_3gpp_ts29_229:avp_header('Charging-Information'); +avp_header('Confidentiality-Key') -> + diameter_3gpp_ts29_229:avp_header('Confidentiality-Key'); +avp_header('Contact') -> + diameter_3gpp_ts29_229:avp_header('Contact'); +avp_header('Deregistration-Reason') -> + diameter_3gpp_ts29_229:avp_header('Deregistration-Reason'); +avp_header('Digest-Algorithm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Algorithm'); +avp_header('Digest-HA1') -> + diameter_3gpp_ts29_229:avp_header('Digest-HA1'); +avp_header('Digest-QoP') -> + diameter_3gpp_ts29_229:avp_header('Digest-QoP'); +avp_header('Digest-Realm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Realm'); +avp_header('Feature-List') -> + diameter_3gpp_ts29_229:avp_header('Feature-List'); +avp_header('Feature-List-ID') -> + diameter_3gpp_ts29_229:avp_header('Feature-List-ID'); +avp_header('From-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('From-SIP-Header'); +avp_header('Initial-CSeq-Sequence-Number') -> + diameter_3gpp_ts29_229:avp_header('Initial-CSeq-Sequence-Number'); +avp_header('Integrity-Key') -> + diameter_3gpp_ts29_229:avp_header('Integrity-Key'); +avp_header('LIA-Flags') -> + diameter_3gpp_ts29_229:avp_header('LIA-Flags'); +avp_header('Loose-Route-Indication') -> + diameter_3gpp_ts29_229:avp_header('Loose-Route-Indication'); +avp_header('Mandatory-Capability') -> + diameter_3gpp_ts29_229:avp_header('Mandatory-Capability'); +avp_header('Multiple-Registration-Indication') -> + diameter_3gpp_ts29_229:avp_header('Multiple-Registration-Indication'); +avp_header('Optional-Capability') -> + diameter_3gpp_ts29_229:avp_header('Optional-Capability'); +avp_header('Originating-Request') -> + diameter_3gpp_ts29_229:avp_header('Originating-Request'); +avp_header('Path') -> + diameter_3gpp_ts29_229:avp_header('Path'); +avp_header('Primary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Charging-Collection-Function-Name'); +avp_header('Primary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Event-Charging-Function-Name'); +avp_header('Priviledged-Sender-Indication') -> + diameter_3gpp_ts29_229:avp_header('Priviledged-Sender-Indication'); +avp_header('Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Public-Identity'); +avp_header('Reason-Code') -> + diameter_3gpp_ts29_229:avp_header('Reason-Code'); +avp_header('Reason-Info') -> + diameter_3gpp_ts29_229:avp_header('Reason-Info'); +avp_header('Record-Route') -> + diameter_3gpp_ts29_229:avp_header('Record-Route'); +avp_header('SAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('SAR-Flags'); +avp_header('SIP-Auth-Data-Item') -> + diameter_3gpp_ts29_229:avp_header('SIP-Auth-Data-Item'); +avp_header('SIP-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authenticate'); +avp_header('SIP-Authentication-Context') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Context'); +avp_header('SIP-Authentication-Scheme') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Scheme'); +avp_header('SIP-Authorization') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authorization'); +avp_header('SIP-Digest-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Digest-Authenticate'); +avp_header('SIP-Item-Number') -> + diameter_3gpp_ts29_229:avp_header('SIP-Item-Number'); +avp_header('SIP-Number-Auth-Items') -> + diameter_3gpp_ts29_229:avp_header('SIP-Number-Auth-Items'); +avp_header('Secondary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Charging-Collection-Function-Name'); +avp_header('Secondary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Event-Charging-Function-Name'); +avp_header('Server-Assignment-Type') -> + diameter_3gpp_ts29_229:avp_header('Server-Assignment-Type'); +avp_header('Server-Name') -> + diameter_3gpp_ts29_229:avp_header('Server-Name'); +avp_header('Session-Priority') -> + diameter_3gpp_ts29_229:avp_header('Session-Priority'); +avp_header('Supported-Applications') -> + diameter_3gpp_ts29_229:avp_header('Supported-Applications'); +avp_header('Supported-Features') -> + diameter_3gpp_ts29_229:avp_header('Supported-Features'); +avp_header('To-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('To-SIP-Header'); +avp_header('UAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('UAR-Flags'); +avp_header('User-Authorization-Type') -> + diameter_3gpp_ts29_229:avp_header('User-Authorization-Type'); +avp_header('User-Data') -> + diameter_3gpp_ts29_229:avp_header('User-Data'); +avp_header('User-Data-Already-Available') -> + diameter_3gpp_ts29_229:avp_header('User-Data-Already-Available'); +avp_header('Visited-Network-Identifier') -> + diameter_3gpp_ts29_229:avp_header('Visited-Network-Identifier'); +avp_header('Wildcarded-Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Wildcarded-Public-Identity'); +avp_header('3GPP2-MEID') -> + diameter_3gpp_ts29_272:avp_header('3GPP2-MEID'); +avp_header('A-MSISDN') -> + diameter_3gpp_ts29_272:avp_header('A-MSISDN'); +avp_header('AMBR') -> + diameter_3gpp_ts29_272:avp_header('AMBR'); +avp_header('APN-Configuration') -> + diameter_3gpp_ts29_272:avp_header('APN-Configuration'); +avp_header('APN-Configuration-Profile') -> + diameter_3gpp_ts29_272:avp_header('APN-Configuration-Profile'); +avp_header('AUTN') -> + diameter_3gpp_ts29_272:avp_header('AUTN'); +avp_header('Access-Restriction-Data') -> + diameter_3gpp_ts29_272:avp_header('Access-Restriction-Data'); +avp_header('Active-APN') -> + diameter_3gpp_ts29_272:avp_header('Active-APN'); +avp_header('Age-Of-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('Age-Of-Location-Information'); +avp_header('Alert-Reason') -> + diameter_3gpp_ts29_272:avp_header('Alert-Reason'); +avp_header('All-APN-Configurations-Included-Indicator') -> + diameter_3gpp_ts29_272:avp_header('All-APN-Configurations-Included-Indicator'); +avp_header('Area-Scope') -> + diameter_3gpp_ts29_272:avp_header('Area-Scope'); +avp_header('Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Authentication-Info'); +avp_header('CLR-Flags') -> + diameter_3gpp_ts29_272:avp_header('CLR-Flags'); +avp_header('CSG-Id') -> + diameter_3gpp_ts29_272:avp_header('CSG-Id'); +avp_header('CSG-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('CSG-Subscription-Data'); +avp_header('Call-Barring-Info') -> + diameter_3gpp_ts29_272:avp_header('Call-Barring-Info'); +avp_header('Cancellation-Type') -> + diameter_3gpp_ts29_272:avp_header('Cancellation-Type'); +avp_header('Cell-Global-Identity') -> + diameter_3gpp_ts29_272:avp_header('Cell-Global-Identity'); +avp_header('Client-Identity') -> + diameter_3gpp_ts29_272:avp_header('Client-Identity'); +avp_header('Collection-Period-RRM-LTE') -> + diameter_3gpp_ts29_272:avp_header('Collection-Period-RRM-LTE'); +avp_header('Collection-Period-RRM-UMTS') -> + diameter_3gpp_ts29_272:avp_header('Collection-Period-RRM-UMTS'); +avp_header('Complete-Data-List-Included-Indicator') -> + diameter_3gpp_ts29_272:avp_header('Complete-Data-List-Included-Indicator'); +avp_header('Context-Identifier') -> + diameter_3gpp_ts29_272:avp_header('Context-Identifier'); +avp_header('Core-Network-Restrictions') -> + diameter_3gpp_ts29_272:avp_header('Core-Network-Restrictions'); +avp_header('Current-Location-Retrieved') -> + diameter_3gpp_ts29_272:avp_header('Current-Location-Retrieved'); +avp_header('DSA-Flags') -> + diameter_3gpp_ts29_272:avp_header('DSA-Flags'); +avp_header('DSR-Flags') -> + diameter_3gpp_ts29_272:avp_header('DSR-Flags'); +avp_header('Daylight-Saving-Time') -> + diameter_3gpp_ts29_272:avp_header('Daylight-Saving-Time'); +avp_header('E-UTRAN-Cell-Global-Identity') -> + diameter_3gpp_ts29_272:avp_header('E-UTRAN-Cell-Global-Identity'); +avp_header('E-UTRAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('E-UTRAN-Vector'); +avp_header('EPS-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('EPS-Location-Information'); +avp_header('EPS-Subscribed-QoS-Profile') -> + diameter_3gpp_ts29_272:avp_header('EPS-Subscribed-QoS-Profile'); +avp_header('EPS-User-State') -> + diameter_3gpp_ts29_272:avp_header('EPS-User-State'); +avp_header('Equipment-Status') -> + diameter_3gpp_ts29_272:avp_header('Equipment-Status'); +avp_header('Equivalent-PLMN-List') -> + diameter_3gpp_ts29_272:avp_header('Equivalent-PLMN-List'); +avp_header('Error-Diagnostic') -> + diameter_3gpp_ts29_272:avp_header('Error-Diagnostic'); +avp_header('Event-Threshold-Event-1F') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-Event-1F'); +avp_header('Event-Threshold-Event-1I') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-Event-1I'); +avp_header('Event-Threshold-RSRP') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-RSRP'); +avp_header('Event-Threshold-RSRQ') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-RSRQ'); +avp_header('Expiration-Date') -> + diameter_3gpp_ts29_272:avp_header('Expiration-Date'); +avp_header('Ext-PDP-Address') -> + diameter_3gpp_ts29_272:avp_header('Ext-PDP-Address'); +avp_header('Ext-PDP-Type') -> + diameter_3gpp_ts29_272:avp_header('Ext-PDP-Type'); +avp_header('External-Client') -> + diameter_3gpp_ts29_272:avp_header('External-Client'); +avp_header('GERAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('GERAN-Vector'); +avp_header('GMLC-Restriction') -> + diameter_3gpp_ts29_272:avp_header('GMLC-Restriction'); +avp_header('GPRS-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('GPRS-Subscription-Data'); +avp_header('Geodetic-Information') -> + diameter_3gpp_ts29_272:avp_header('Geodetic-Information'); +avp_header('Geographical-Information') -> + diameter_3gpp_ts29_272:avp_header('Geographical-Information'); +avp_header('HPLMN-ODB') -> + diameter_3gpp_ts29_272:avp_header('HPLMN-ODB'); +avp_header('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions') -> + diameter_3gpp_ts29_272:avp_header('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions'); +avp_header('ICS-Indicator') -> + diameter_3gpp_ts29_272:avp_header('ICS-Indicator'); +avp_header('IDA-Flags') -> + diameter_3gpp_ts29_272:avp_header('IDA-Flags'); +avp_header('IDR-Flags') -> + diameter_3gpp_ts29_272:avp_header('IDR-Flags'); +avp_header('IMEI') -> + diameter_3gpp_ts29_272:avp_header('IMEI'); +avp_header('IMS-Voice-Over-PS-Sessions-Supported') -> + diameter_3gpp_ts29_272:avp_header('IMS-Voice-Over-PS-Sessions-Supported'); +avp_header('Immediate-Response-Preferred') -> + diameter_3gpp_ts29_272:avp_header('Immediate-Response-Preferred'); +avp_header('Item-Number') -> + diameter_3gpp_ts29_272:avp_header('Item-Number'); +avp_header('Job-Type') -> + diameter_3gpp_ts29_272:avp_header('Job-Type'); +avp_header('KASME') -> + diameter_3gpp_ts29_272:avp_header('KASME'); +avp_header('Kc') -> + diameter_3gpp_ts29_272:avp_header('Kc'); +avp_header('LCS-Info') -> + diameter_3gpp_ts29_272:avp_header('LCS-Info'); +avp_header('LCS-PrivacyException') -> + diameter_3gpp_ts29_272:avp_header('LCS-PrivacyException'); +avp_header('LIPA-Permission') -> + diameter_3gpp_ts29_272:avp_header('LIPA-Permission'); +avp_header('Last-UE-Activity-Time') -> + diameter_3gpp_ts29_272:avp_header('Last-UE-Activity-Time'); +avp_header('List-Of-Measurements') -> + diameter_3gpp_ts29_272:avp_header('List-Of-Measurements'); +avp_header('Local-Time-Zone') -> + diameter_3gpp_ts29_272:avp_header('Local-Time-Zone'); +avp_header('Location-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Location-Area-Identity'); +avp_header('Logging-Duration') -> + diameter_3gpp_ts29_272:avp_header('Logging-Duration'); +avp_header('Logging-Interval') -> + diameter_3gpp_ts29_272:avp_header('Logging-Interval'); +avp_header('MDT-Configuration') -> + diameter_3gpp_ts29_272:avp_header('MDT-Configuration'); +avp_header('MDT-User-Consent') -> + diameter_3gpp_ts29_272:avp_header('MDT-User-Consent'); +avp_header('MME-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('MME-Location-Information'); +avp_header('MME-Number-for-MT-SMS') -> + diameter_3gpp_ts29_272:avp_header('MME-Number-for-MT-SMS'); +avp_header('MME-User-State') -> + diameter_3gpp_ts29_272:avp_header('MME-User-State'); +avp_header('MO-LR') -> + diameter_3gpp_ts29_272:avp_header('MO-LR'); +avp_header('MPS-Priority') -> + diameter_3gpp_ts29_272:avp_header('MPS-Priority'); +avp_header('Measurement-Period-LTE') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Period-LTE'); +avp_header('Measurement-Period-UMTS') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Period-UMTS'); +avp_header('Measurement-Quantity') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Quantity'); +avp_header('NOR-Flags') -> + diameter_3gpp_ts29_272:avp_header('NOR-Flags'); +avp_header('Network-Access-Mode') -> + diameter_3gpp_ts29_272:avp_header('Network-Access-Mode'); +avp_header('Notification-To-UE-User') -> + diameter_3gpp_ts29_272:avp_header('Notification-To-UE-User'); +avp_header('Number-Of-Requested-Vectors') -> + diameter_3gpp_ts29_272:avp_header('Number-Of-Requested-Vectors'); +avp_header('OMC-Id') -> + diameter_3gpp_ts29_272:avp_header('OMC-Id'); +avp_header('Operator-Determined-Barring') -> + diameter_3gpp_ts29_272:avp_header('Operator-Determined-Barring'); +avp_header('PDN-GW-Allocation-Type') -> + diameter_3gpp_ts29_272:avp_header('PDN-GW-Allocation-Type'); +avp_header('PDN-Type') -> + diameter_3gpp_ts29_272:avp_header('PDN-Type'); +avp_header('PDP-Context') -> + diameter_3gpp_ts29_272:avp_header('PDP-Context'); +avp_header('PDP-Type') -> + diameter_3gpp_ts29_272:avp_header('PDP-Type'); +avp_header('PLMN-Client') -> + diameter_3gpp_ts29_272:avp_header('PLMN-Client'); +avp_header('PUA-Flags') -> + diameter_3gpp_ts29_272:avp_header('PUA-Flags'); +avp_header('PUR-Flags') -> + diameter_3gpp_ts29_272:avp_header('PUR-Flags'); +avp_header('Positioning-Method') -> + diameter_3gpp_ts29_272:avp_header('Positioning-Method'); +avp_header('QoS-Subscribed') -> + diameter_3gpp_ts29_272:avp_header('QoS-Subscribed'); +avp_header('RAND') -> + diameter_3gpp_ts29_272:avp_header('RAND'); +avp_header('RAT-Frequency-Selection-Priority-ID') -> + diameter_3gpp_ts29_272:avp_header('RAT-Frequency-Selection-Priority-ID'); +avp_header('Re-Synchronization-Info') -> + diameter_3gpp_ts29_272:avp_header('Re-Synchronization-Info'); +avp_header('Regional-Subscription-Zone-Code') -> + diameter_3gpp_ts29_272:avp_header('Regional-Subscription-Zone-Code'); +avp_header('Relay-Node-Indicator') -> + diameter_3gpp_ts29_272:avp_header('Relay-Node-Indicator'); +avp_header('Report-Amount') -> + diameter_3gpp_ts29_272:avp_header('Report-Amount'); +avp_header('Report-Interval') -> + diameter_3gpp_ts29_272:avp_header('Report-Interval'); +avp_header('Reporting-Trigger') -> + diameter_3gpp_ts29_272:avp_header('Reporting-Trigger'); +avp_header('Requested-EUTRAN-Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Requested-EUTRAN-Authentication-Info'); +avp_header('Requested-UTRAN-GERAN-Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Requested-UTRAN-GERAN-Authentication-Info'); +avp_header('Restoration-Priority') -> + diameter_3gpp_ts29_272:avp_header('Restoration-Priority'); +avp_header('Roaming-Restricted-Due-To-Unsupported-Feature') -> + diameter_3gpp_ts29_272:avp_header('Roaming-Restricted-Due-To-Unsupported-Feature'); +avp_header('Routing-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Routing-Area-Identity'); +avp_header('SGSN-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('SGSN-Location-Information'); +avp_header('SGSN-User-State') -> + diameter_3gpp_ts29_272:avp_header('SGSN-User-State'); +avp_header('SIPTO-Permission') -> + diameter_3gpp_ts29_272:avp_header('SIPTO-Permission'); +avp_header('SMS-Register-Request') -> + diameter_3gpp_ts29_272:avp_header('SMS-Register-Request'); +avp_header('SRES') -> + diameter_3gpp_ts29_272:avp_header('SRES'); +avp_header('SS-Code') -> + diameter_3gpp_ts29_272:avp_header('SS-Code'); +avp_header('SS-Status') -> + diameter_3gpp_ts29_272:avp_header('SS-Status'); +avp_header('STN-SR') -> + diameter_3gpp_ts29_272:avp_header('STN-SR'); +avp_header('Service-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Service-Area-Identity'); +avp_header('Service-Type') -> + diameter_3gpp_ts29_272:avp_header('Service-Type'); +avp_header('ServiceTypeIdentity') -> + diameter_3gpp_ts29_272:avp_header('ServiceTypeIdentity'); +avp_header('Software-Version') -> + diameter_3gpp_ts29_272:avp_header('Software-Version'); +avp_header('Specific-APN-Info') -> + diameter_3gpp_ts29_272:avp_header('Specific-APN-Info'); +avp_header('Subscribed-Periodic-RAU-TAU-Timer') -> + diameter_3gpp_ts29_272:avp_header('Subscribed-Periodic-RAU-TAU-Timer'); +avp_header('Subscribed-VSRVCC') -> + diameter_3gpp_ts29_272:avp_header('Subscribed-VSRVCC'); +avp_header('Subscriber-Status') -> + diameter_3gpp_ts29_272:avp_header('Subscriber-Status'); +avp_header('Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('Subscription-Data'); +avp_header('Subscription-Data-Flags') -> + diameter_3gpp_ts29_272:avp_header('Subscription-Data-Flags'); +avp_header('TS-Code') -> + diameter_3gpp_ts29_272:avp_header('TS-Code'); +avp_header('Teleservice-List') -> + diameter_3gpp_ts29_272:avp_header('Teleservice-List'); +avp_header('Terminal-Information') -> + diameter_3gpp_ts29_272:avp_header('Terminal-Information'); +avp_header('Time-Zone') -> + diameter_3gpp_ts29_272:avp_header('Time-Zone'); +avp_header('Trace-Collection-Entity') -> + diameter_3gpp_ts29_272:avp_header('Trace-Collection-Entity'); +avp_header('Trace-Data') -> + diameter_3gpp_ts29_272:avp_header('Trace-Data'); +avp_header('Trace-Depth') -> + diameter_3gpp_ts29_272:avp_header('Trace-Depth'); +avp_header('Trace-Event-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-Event-List'); +avp_header('Trace-Interface-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-Interface-List'); +avp_header('Trace-NE-Type-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-NE-Type-List'); +avp_header('Trace-Reference') -> + diameter_3gpp_ts29_272:avp_header('Trace-Reference'); +avp_header('Tracking-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Tracking-Area-Identity'); +avp_header('UE-SRVCC-Capability') -> + diameter_3gpp_ts29_272:avp_header('UE-SRVCC-Capability'); +avp_header('UE-Usage-Type') -> + diameter_3gpp_ts29_272:avp_header('UE-Usage-Type'); +avp_header('ULA-Flags') -> + diameter_3gpp_ts29_272:avp_header('ULA-Flags'); +avp_header('ULR-Flags') -> + diameter_3gpp_ts29_272:avp_header('ULR-Flags'); +avp_header('UTRAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('UTRAN-Vector'); +avp_header('UVA-Flags') -> + diameter_3gpp_ts29_272:avp_header('UVA-Flags'); +avp_header('UVR-Flags') -> + diameter_3gpp_ts29_272:avp_header('UVR-Flags'); +avp_header('User-Id') -> + diameter_3gpp_ts29_272:avp_header('User-Id'); +avp_header('User-State') -> + diameter_3gpp_ts29_272:avp_header('User-State'); +avp_header('VPLMN-CSG-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-CSG-Subscription-Data'); +avp_header('VPLMN-Dynamic-Address-Allowed') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-Dynamic-Address-Allowed'); +avp_header('VPLMN-LIPA-Allowed') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-LIPA-Allowed'); +avp_header('Visited-PLMN-Id') -> + diameter_3gpp_ts29_272:avp_header('Visited-PLMN-Id'); +avp_header('XRES') -> + diameter_3gpp_ts29_272:avp_header('XRES'); +avp_header('3GPP-AAA-Server-Name') -> + diameter_3gpp_ts29_273:avp_header('3GPP-AAA-Server-Name'); +avp_header('AAA-Failure-Indication') -> + diameter_3gpp_ts29_273:avp_header('AAA-Failure-Indication'); +avp_header('AAR-Flags') -> + diameter_3gpp_ts29_273:avp_header('AAR-Flags'); +avp_header('AN-Trusted') -> + diameter_3gpp_ts29_273:avp_header('AN-Trusted'); +avp_header('ANID') -> + diameter_3gpp_ts29_273:avp_header('ANID'); +avp_header('Access-Authorization-Flags') -> + diameter_3gpp_ts29_273:avp_header('Access-Authorization-Flags'); +avp_header('Access-Network-Info') -> + diameter_3gpp_ts29_273:avp_header('Access-Network-Info'); +avp_header('Connectivity-Flags') -> + diameter_3gpp_ts29_273:avp_header('Connectivity-Flags'); +avp_header('DEA-Flags') -> + diameter_3gpp_ts29_273:avp_header('DEA-Flags'); +avp_header('DER-Flags') -> + diameter_3gpp_ts29_273:avp_header('DER-Flags'); +avp_header('DER-S6b-Flags') -> + diameter_3gpp_ts29_273:avp_header('DER-S6b-Flags'); +avp_header('ERP-Authorization') -> + diameter_3gpp_ts29_273:avp_header('ERP-Authorization'); +avp_header('Emergency-Services') -> + diameter_3gpp_ts29_273:avp_header('Emergency-Services'); +avp_header('Full-Network-Name') -> + diameter_3gpp_ts29_273:avp_header('Full-Network-Name'); +avp_header('HESSID') -> + diameter_3gpp_ts29_273:avp_header('HESSID'); +avp_header('IMEI-Check-In-VPLMN-Result') -> + diameter_3gpp_ts29_273:avp_header('IMEI-Check-In-VPLMN-Result'); +avp_header('MIP-FA-RK') -> + diameter_3gpp_ts29_273:avp_header('MIP-FA-RK'); +avp_header('MIP-FA-RK-SPI') -> + diameter_3gpp_ts29_273:avp_header('MIP-FA-RK-SPI'); +avp_header('MIP6-Feature-Vector') -> + diameter_3gpp_ts29_273:avp_header('MIP6-Feature-Vector'); +avp_header('Maximum-Wait-Time') -> + diameter_3gpp_ts29_273:avp_header('Maximum-Wait-Time'); +avp_header('Mobile-Node-Identifier') -> + diameter_3gpp_ts29_273:avp_header('Mobile-Node-Identifier'); +avp_header('Non-3GPP-IP-Access') -> + diameter_3gpp_ts29_273:avp_header('Non-3GPP-IP-Access'); +avp_header('Non-3GPP-IP-Access-APN') -> + diameter_3gpp_ts29_273:avp_header('Non-3GPP-IP-Access-APN'); +avp_header('Non-3GPP-User-Data') -> + diameter_3gpp_ts29_273:avp_header('Non-3GPP-User-Data'); +avp_header('Origination-Time-Stamp') -> + diameter_3gpp_ts29_273:avp_header('Origination-Time-Stamp'); +avp_header('PPR-Flags') -> + diameter_3gpp_ts29_273:avp_header('PPR-Flags'); +avp_header('RAR-Flags') -> + diameter_3gpp_ts29_273:avp_header('RAR-Flags'); +avp_header('SM-Back-Off-Timer') -> + diameter_3gpp_ts29_273:avp_header('SM-Back-Off-Timer'); +avp_header('SSID') -> + diameter_3gpp_ts29_273:avp_header('SSID'); +avp_header('Short-Network-Name') -> + diameter_3gpp_ts29_273:avp_header('Short-Network-Name'); +avp_header('TWAG-CP-Address') -> + diameter_3gpp_ts29_273:avp_header('TWAG-CP-Address'); +avp_header('TWAG-UP-Address') -> + diameter_3gpp_ts29_273:avp_header('TWAG-UP-Address'); +avp_header('TWAN-Access-Info') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Access-Info'); +avp_header('TWAN-Connection-Mode') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Connection-Mode'); +avp_header('TWAN-Connectivity-Parameters') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Connectivity-Parameters'); +avp_header('TWAN-Default-APN-Context-Id') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Default-APN-Context-Id'); +avp_header('TWAN-PCO') -> + diameter_3gpp_ts29_273:avp_header('TWAN-PCO'); +avp_header('TWAN-S2a-Failure-Cause') -> + diameter_3gpp_ts29_273:avp_header('TWAN-S2a-Failure-Cause'); +avp_header('Trace-Info') -> + diameter_3gpp_ts29_273:avp_header('Trace-Info'); +avp_header('Transport-Access-Type') -> + diameter_3gpp_ts29_273:avp_header('Transport-Access-Type'); +avp_header('WLAN-Identifier') -> + diameter_3gpp_ts29_273:avp_header('WLAN-Identifier'); +avp_header('WLCP-Key') -> + diameter_3gpp_ts29_273:avp_header('WLCP-Key'); +avp_header('3GPP-PS-Data-Off-Status') -> + diameter_3gpp_ts32_299:avp_header('3GPP-PS-Data-Off-Status'); +avp_header('AF-Correlation-Information') -> + diameter_3gpp_ts32_299:avp_header('AF-Correlation-Information'); +avp_header('APN-Rate-Control') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control'); +avp_header('APN-Rate-Control-Downlink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Downlink'); +avp_header('APN-Rate-Control-Uplink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Uplink'); +avp_header('Access-Network-Info-Change') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Info-Change'); +avp_header('Access-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Information'); +avp_header('Access-Transfer-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Information'); +avp_header('Access-Transfer-Type') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Type'); +avp_header('Account-Expiration') -> + diameter_3gpp_ts32_299:avp_header('Account-Expiration'); +avp_header('Accumulated-Cost') -> + diameter_3gpp_ts32_299:avp_header('Accumulated-Cost'); +avp_header('Adaptations') -> + diameter_3gpp_ts32_299:avp_header('Adaptations'); +avp_header('Additional-Content-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Content-Information'); +avp_header('Additional-Exception-Reports') -> + diameter_3gpp_ts32_299:avp_header('Additional-Exception-Reports'); +avp_header('Additional-Type-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Type-Information'); +avp_header('Address-Data') -> + diameter_3gpp_ts32_299:avp_header('Address-Data'); +avp_header('Address-Domain') -> + diameter_3gpp_ts32_299:avp_header('Address-Domain'); +avp_header('Address-Type') -> + diameter_3gpp_ts32_299:avp_header('Address-Type'); +avp_header('Addressee-Type') -> + diameter_3gpp_ts32_299:avp_header('Addressee-Type'); +avp_header('Alternate-Charged-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Alternate-Charged-Party-Address'); +avp_header('Announcement-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Identifier'); +avp_header('Announcement-Information') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Information'); +avp_header('Announcement-Order') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Order'); +avp_header('Announcing-PLMN-ID') -> + diameter_3gpp_ts32_299:avp_header('Announcing-PLMN-ID'); +avp_header('Announcing-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-HPLMN-Identifier'); +avp_header('Announcing-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-VPLMN-Identifier'); +avp_header('AoC-Cost-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Cost-Information'); +avp_header('AoC-Format') -> + diameter_3gpp_ts32_299:avp_header('AoC-Format'); +avp_header('AoC-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Information'); +avp_header('AoC-Request-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Request-Type'); +avp_header('AoC-Service') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service'); +avp_header('AoC-Service-Obligatory-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Obligatory-Type'); +avp_header('AoC-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Type'); +avp_header('AoC-Subscription-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Subscription-Information'); +avp_header('Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Applic-ID'); +avp_header('Application-Provided-Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Application-Provided-Called-Party-Address'); +avp_header('Application-Server') -> + diameter_3gpp_ts32_299:avp_header('Application-Server'); +avp_header('Application-Server-Information') -> + diameter_3gpp_ts32_299:avp_header('Application-Server-Information'); +avp_header('Application-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Application-Specific-Data'); +avp_header('Associated-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Associated-Party-Address'); +avp_header('Associated-URI') -> + diameter_3gpp_ts32_299:avp_header('Associated-URI'); +avp_header('Authorised-QoS') -> + diameter_3gpp_ts32_299:avp_header('Authorised-QoS'); +avp_header('Aux-Applic-Info') -> + diameter_3gpp_ts32_299:avp_header('Aux-Applic-Info'); +avp_header('BSSID') -> + diameter_3gpp_ts32_299:avp_header('BSSID'); +avp_header('Base-Time-Interval') -> + diameter_3gpp_ts32_299:avp_header('Base-Time-Interval'); +avp_header('Basic-Service-Code') -> + diameter_3gpp_ts32_299:avp_header('Basic-Service-Code'); +avp_header('Bearer-Capability') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Capability'); +avp_header('Bearer-Service') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Service'); +avp_header('CG-Address') -> + diameter_3gpp_ts32_299:avp_header('CG-Address'); +avp_header('CN-Operator-Selection-Entity') -> + diameter_3gpp_ts32_299:avp_header('CN-Operator-Selection-Entity'); +avp_header('CP-CIoT-EPS-Optimisation-Indicator') -> + diameter_3gpp_ts32_299:avp_header('CP-CIoT-EPS-Optimisation-Indicator'); +avp_header('CPDT-Information') -> + diameter_3gpp_ts32_299:avp_header('CPDT-Information'); +avp_header('CSG-Access-Mode') -> + diameter_3gpp_ts32_299:avp_header('CSG-Access-Mode'); +avp_header('CSG-Membership-Indication') -> + diameter_3gpp_ts32_299:avp_header('CSG-Membership-Indication'); +avp_header('CUG-Information') -> + diameter_3gpp_ts32_299:avp_header('CUG-Information'); +avp_header('Called-Asserted-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Asserted-Identity'); +avp_header('Called-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity'); +avp_header('Called-Identity-Change') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity-Change'); +avp_header('Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Called-Party-Address'); +avp_header('Calling-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Calling-Party-Address'); +avp_header('Carrier-Select-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Carrier-Select-Routing-Information'); +avp_header('Cause-Code') -> + diameter_3gpp_ts32_299:avp_header('Cause-Code'); +avp_header('Cellular-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Cellular-Network-Information'); +avp_header('Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('Change-Condition'); +avp_header('Change-Time') -> + diameter_3gpp_ts32_299:avp_header('Change-Time'); +avp_header('Charge-Reason-Code') -> + diameter_3gpp_ts32_299:avp_header('Charge-Reason-Code'); +avp_header('Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('Charged-Party'); +avp_header('Charging-Characteristics-Selection-Mode') -> + diameter_3gpp_ts32_299:avp_header('Charging-Characteristics-Selection-Mode'); +avp_header('Charging-Per-IP-CAN-Session-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Charging-Per-IP-CAN-Session-Indicator'); +avp_header('Class-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Class-Identifier'); +avp_header('Client-Address') -> + diameter_3gpp_ts32_299:avp_header('Client-Address'); +avp_header('Content-Class') -> + diameter_3gpp_ts32_299:avp_header('Content-Class'); +avp_header('Content-Disposition') -> + diameter_3gpp_ts32_299:avp_header('Content-Disposition'); +avp_header('Content-Length') -> + diameter_3gpp_ts32_299:avp_header('Content-Length'); +avp_header('Content-Size') -> + diameter_3gpp_ts32_299:avp_header('Content-Size'); +avp_header('Content-Type') -> + diameter_3gpp_ts32_299:avp_header('Content-Type'); +avp_header('Coverage-Info') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Info'); +avp_header('Coverage-Status') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Status'); +avp_header('Current-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Current-Tariff'); +avp_header('DRM-Content') -> + diameter_3gpp_ts32_299:avp_header('DRM-Content'); +avp_header('Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('Data-Coding-Scheme'); +avp_header('Deferred-Location-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Deferred-Location-Event-Type'); +avp_header('Delivery-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Delivery-Report-Requested'); +avp_header('Destination-Interface') -> + diameter_3gpp_ts32_299:avp_header('Destination-Interface'); +avp_header('Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Diagnostics'); +avp_header('Discoveree-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-HPLMN-Identifier'); +avp_header('Discoveree-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-VPLMN-Identifier'); +avp_header('Discoverer-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-HPLMN-Identifier'); +avp_header('Discoverer-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-VPLMN-Identifier'); +avp_header('Domain-Name') -> + diameter_3gpp_ts32_299:avp_header('Domain-Name'); +avp_header('Dynamic-Address-Flag') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag'); +avp_header('Dynamic-Address-Flag-Extension') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag-Extension'); +avp_header('EPDG-Address') -> + diameter_3gpp_ts32_299:avp_header('EPDG-Address'); +avp_header('Early-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('Early-Media-Description'); +avp_header('Enhanced-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Enhanced-Diagnostics'); +avp_header('Envelope') -> + diameter_3gpp_ts32_299:avp_header('Envelope'); +avp_header('Envelope-End-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-End-Time'); +avp_header('Envelope-Reporting') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Reporting'); +avp_header('Envelope-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Start-Time'); +avp_header('Event') -> + diameter_3gpp_ts32_299:avp_header('Event'); +avp_header('Event-Charging-TimeStamp') -> + diameter_3gpp_ts32_299:avp_header('Event-Charging-TimeStamp'); +avp_header('Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Event-Type'); +avp_header('Expires') -> + diameter_3gpp_ts32_299:avp_header('Expires'); +avp_header('FE-Identifier-List') -> + diameter_3gpp_ts32_299:avp_header('FE-Identifier-List'); +avp_header('File-Repair-Supported') -> + diameter_3gpp_ts32_299:avp_header('File-Repair-Supported'); +avp_header('Forwarding-Pending') -> + diameter_3gpp_ts32_299:avp_header('Forwarding-Pending'); +avp_header('From-Address') -> + diameter_3gpp_ts32_299:avp_header('From-Address'); +avp_header('GGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('GGSN-Address'); +avp_header('IMS-Application-Reference-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Application-Reference-Identifier'); +avp_header('IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Charging-Identifier'); +avp_header('IMS-Communication-Service-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Communication-Service-Identifier'); +avp_header('IMS-Emergency-Indicator') -> + diameter_3gpp_ts32_299:avp_header('IMS-Emergency-Indicator'); +avp_header('IMS-Information') -> + diameter_3gpp_ts32_299:avp_header('IMS-Information'); +avp_header('IMS-Visited-Network-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Visited-Network-Identifier'); +avp_header('IMSI-Unauthenticated-Flag') -> + diameter_3gpp_ts32_299:avp_header('IMSI-Unauthenticated-Flag'); +avp_header('IP-Realm-Default-Indication') -> + diameter_3gpp_ts32_299:avp_header('IP-Realm-Default-Indication'); +avp_header('ISUP-Cause') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause'); +avp_header('ISUP-Cause-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Diagnostics'); +avp_header('ISUP-Cause-Location') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Location'); +avp_header('ISUP-Cause-Value') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Value'); +avp_header('ISUP-Location-Number') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Location-Number'); +avp_header('Incoming-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Incoming-Trunk-Group-Id'); +avp_header('Incremental-Cost') -> + diameter_3gpp_ts32_299:avp_header('Incremental-Cost'); +avp_header('Initial-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Initial-IMS-Charging-Identifier'); +avp_header('Instance-Id') -> + diameter_3gpp_ts32_299:avp_header('Instance-Id'); +avp_header('Inter-Operator-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Inter-Operator-Identifier'); +avp_header('Inter-UE-Transfer') -> + diameter_3gpp_ts32_299:avp_header('Inter-UE-Transfer'); +avp_header('Interface-Id') -> + diameter_3gpp_ts32_299:avp_header('Interface-Id'); +avp_header('Interface-Port') -> + diameter_3gpp_ts32_299:avp_header('Interface-Port'); +avp_header('Interface-Text') -> + diameter_3gpp_ts32_299:avp_header('Interface-Text'); +avp_header('Interface-Type') -> + diameter_3gpp_ts32_299:avp_header('Interface-Type'); +avp_header('LCS-APN') -> + diameter_3gpp_ts32_299:avp_header('LCS-APN'); +avp_header('LCS-Client-Dialed-By-MS') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Dialed-By-MS'); +avp_header('LCS-Client-External-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-External-ID'); +avp_header('LCS-Client-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-ID'); +avp_header('LCS-Client-Name') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Name'); +avp_header('LCS-Client-Type') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Type'); +avp_header('LCS-Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('LCS-Data-Coding-Scheme'); +avp_header('LCS-Format-Indicator') -> + diameter_3gpp_ts32_299:avp_header('LCS-Format-Indicator'); +avp_header('LCS-Information') -> + diameter_3gpp_ts32_299:avp_header('LCS-Information'); +avp_header('LCS-Name-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Name-String'); +avp_header('LCS-Requestor-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID'); +avp_header('LCS-Requestor-ID-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID-String'); +avp_header('Language') -> + diameter_3gpp_ts32_299:avp_header('Language'); +avp_header('Layer-2-Group-ID') -> + diameter_3gpp_ts32_299:avp_header('Layer-2-Group-ID'); +avp_header('Local-GW-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Local-GW-Inserted-Indication'); +avp_header('Local-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Local-Sequence-Number'); +avp_header('Location-Estimate') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate'); +avp_header('Location-Estimate-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate-Type'); +avp_header('Location-Info') -> + diameter_3gpp_ts32_299:avp_header('Location-Info'); +avp_header('Location-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Type'); +avp_header('Low-Balance-Indication') -> + diameter_3gpp_ts32_299:avp_header('Low-Balance-Indication'); +avp_header('Low-Priority-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Low-Priority-Indicator'); +avp_header('MBMS-Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Charged-Party'); +avp_header('MBMS-GW-Address') -> + diameter_3gpp_ts32_299:avp_header('MBMS-GW-Address'); +avp_header('MBMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Information'); +avp_header('MBMS-User-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('MBMS-User-Service-Type'); +avp_header('MM-Content-Type') -> + diameter_3gpp_ts32_299:avp_header('MM-Content-Type'); +avp_header('MMBox-Storage-Requested') -> + diameter_3gpp_ts32_299:avp_header('MMBox-Storage-Requested'); +avp_header('MMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MMS-Information'); +avp_header('MMTel-Information') -> + diameter_3gpp_ts32_299:avp_header('MMTel-Information'); +avp_header('MMTel-SService-Type') -> + diameter_3gpp_ts32_299:avp_header('MMTel-SService-Type'); +avp_header('MSC-Address') -> + diameter_3gpp_ts32_299:avp_header('MSC-Address'); +avp_header('MTC-IWF-Address') -> + diameter_3gpp_ts32_299:avp_header('MTC-IWF-Address'); +avp_header('Media-Initiator-Flag') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Flag'); +avp_header('Media-Initiator-Party') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Party'); +avp_header('Message-Body') -> + diameter_3gpp_ts32_299:avp_header('Message-Body'); +avp_header('Message-Class') -> + diameter_3gpp_ts32_299:avp_header('Message-Class'); +avp_header('Message-ID') -> + diameter_3gpp_ts32_299:avp_header('Message-ID'); +avp_header('Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Message-Size'); +avp_header('Message-Type') -> + diameter_3gpp_ts32_299:avp_header('Message-Type'); +avp_header('Monitored-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitored-PLMN-Identifier'); +avp_header('Monitoring-Event-Configuration-Activity') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Configuration-Activity'); +avp_header('Monitoring-Event-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Functionality'); +avp_header('Monitoring-Event-Information') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Information'); +avp_header('Monitoring-Event-Report-Data') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Data'); +avp_header('Monitoring-Event-Report-Number') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Number'); +avp_header('Monitoring-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-HPLMN-Identifier'); +avp_header('Monitoring-UE-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-Identifier'); +avp_header('Monitoring-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-VPLMN-Identifier'); +avp_header('NIDD-Submission') -> + diameter_3gpp_ts32_299:avp_header('NIDD-Submission'); +avp_header('NNI-Information') -> + diameter_3gpp_ts32_299:avp_header('NNI-Information'); +avp_header('NNI-Type') -> + diameter_3gpp_ts32_299:avp_header('NNI-Type'); +avp_header('Neighbour-Node-Address') -> + diameter_3gpp_ts32_299:avp_header('Neighbour-Node-Address'); +avp_header('Network-Call-Reference-Number') -> + diameter_3gpp_ts32_299:avp_header('Network-Call-Reference-Number'); +avp_header('Next-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Next-Tariff'); +avp_header('Node-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Node-Functionality'); +avp_header('Node-Id') -> + diameter_3gpp_ts32_299:avp_header('Node-Id'); +avp_header('Number-Of-Diversions') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Diversions'); +avp_header('Number-Of-Messages-Sent') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Messages-Sent'); +avp_header('Number-Of-Participants') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Participants'); +avp_header('Number-Of-Received-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Received-Talk-Bursts'); +avp_header('Number-Of-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Talk-Bursts'); +avp_header('Number-Portability-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Number-Portability-Routing-Information'); +avp_header('Offline-Charging') -> + diameter_3gpp_ts32_299:avp_header('Offline-Charging'); +avp_header('Online-Charging-Flag') -> + diameter_3gpp_ts32_299:avp_header('Online-Charging-Flag'); +avp_header('Originating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Originating-IOI'); +avp_header('Originator') -> + diameter_3gpp_ts32_299:avp_header('Originator'); +avp_header('Originator-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Address'); +avp_header('Originator-Interface') -> + diameter_3gpp_ts32_299:avp_header('Originator-Interface'); +avp_header('Originator-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Received-Address'); +avp_header('Originator-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-SCCP-Address'); +avp_header('Outgoing-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Session-Id'); +avp_header('Outgoing-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Trunk-Group-Id'); +avp_header('PC3-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-Control-Protocol-Cause'); +avp_header('PC3-EPC-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-EPC-Control-Protocol-Cause'); +avp_header('PC5-Radio-Technology') -> + diameter_3gpp_ts32_299:avp_header('PC5-Radio-Technology'); +avp_header('PDN-Connection-Charging-ID') -> + diameter_3gpp_ts32_299:avp_header('PDN-Connection-Charging-ID'); +avp_header('PDP-Address') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address'); +avp_header('PDP-Address-Prefix-Length') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address-Prefix-Length'); +avp_header('PDP-Context-Type') -> + diameter_3gpp_ts32_299:avp_header('PDP-Context-Type'); +avp_header('PS-Append-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Append-Free-Format-Data'); +avp_header('PS-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Free-Format-Data'); +avp_header('PS-Furnish-Charging-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Furnish-Charging-Information'); +avp_header('PS-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Information'); +avp_header('Participant-Access-Priority') -> + diameter_3gpp_ts32_299:avp_header('Participant-Access-Priority'); +avp_header('Participant-Action-Type') -> + diameter_3gpp_ts32_299:avp_header('Participant-Action-Type'); +avp_header('Participant-Group') -> + diameter_3gpp_ts32_299:avp_header('Participant-Group'); +avp_header('Participants-Involved') -> + diameter_3gpp_ts32_299:avp_header('Participants-Involved'); +avp_header('Play-Alternative') -> + diameter_3gpp_ts32_299:avp_header('Play-Alternative'); +avp_header('PoC-Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Condition'); +avp_header('PoC-Change-Time') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Time'); +avp_header('PoC-Controlling-Address') -> + diameter_3gpp_ts32_299:avp_header('PoC-Controlling-Address'); +avp_header('PoC-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Event-Type'); +avp_header('PoC-Group-Name') -> + diameter_3gpp_ts32_299:avp_header('PoC-Group-Name'); +avp_header('PoC-Information') -> + diameter_3gpp_ts32_299:avp_header('PoC-Information'); +avp_header('PoC-Server-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-Server-Role'); +avp_header('PoC-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Id'); +avp_header('PoC-Session-Initiation-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Initiation-Type'); +avp_header('PoC-Session-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Type'); +avp_header('PoC-User-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role'); +avp_header('PoC-User-Role-IDs') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-IDs'); +avp_header('PoC-User-Role-Info-Units') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-Info-Units'); +avp_header('Positioning-Data') -> + diameter_3gpp_ts32_299:avp_header('Positioning-Data'); +avp_header('Preferred-AoC-Currency') -> + diameter_3gpp_ts32_299:avp_header('Preferred-AoC-Currency'); +avp_header('Priority') -> + diameter_3gpp_ts32_299:avp_header('Priority'); +avp_header('Privacy-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Privacy-Indicator'); +avp_header('ProSe-3rd-Party-Application-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-3rd-Party-Application-ID'); +avp_header('ProSe-Direct-Communication-Reception-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Reception-Data-Container'); +avp_header('ProSe-Direct-Communication-Transmission-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Transmission-Data-Container'); +avp_header('ProSe-Direct-Discovery-Model') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Discovery-Model'); +avp_header('ProSe-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Event-Type'); +avp_header('ProSe-Function-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-IP-Address'); +avp_header('ProSe-Function-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-PLMN-Identifier'); +avp_header('ProSe-Functionality') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Functionality'); +avp_header('ProSe-Group-IP-Multicast-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Group-IP-Multicast-Address'); +avp_header('ProSe-Information') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Information'); +avp_header('ProSe-Range-Class') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Range-Class'); +avp_header('ProSe-Reason-For-Cancellation') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Reason-For-Cancellation'); +avp_header('ProSe-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Request-Timestamp'); +avp_header('ProSe-Role-Of-UE') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Role-Of-UE'); +avp_header('ProSe-Source-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Source-IP-Address'); +avp_header('ProSe-Target-Layer-2-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Target-Layer-2-ID'); +avp_header('ProSe-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-ID'); +avp_header('ProSe-UE-to-Network-Relay-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-to-Network-Relay-UE-ID'); +avp_header('Proximity-Alert-Indication') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Indication'); +avp_header('Proximity-Alert-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Timestamp'); +avp_header('Proximity-Cancellation-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Cancellation-Timestamp'); +avp_header('Quota-Consumption-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Consumption-Time'); +avp_header('Quota-Holding-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Holding-Time'); +avp_header('Quota-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Quota-Indicator'); +avp_header('RAN-End-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-End-Time'); +avp_header('RAN-Secondary-RAT-Usage-Report') -> + diameter_3gpp_ts32_299:avp_header('RAN-Secondary-RAT-Usage-Report'); +avp_header('RAN-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-Start-Time'); +avp_header('Radio-Frequency') -> + diameter_3gpp_ts32_299:avp_header('Radio-Frequency'); +avp_header('Radio-Parameter-Set-Info') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Info'); +avp_header('Radio-Parameter-Set-Values') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Values'); +avp_header('Radio-Resources-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Radio-Resources-Indicator'); +avp_header('Rate-Control-Max-Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Message-Size'); +avp_header('Rate-Control-Max-Rate') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Rate'); +avp_header('Rate-Control-Time-Unit') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Time-Unit'); +avp_header('Rate-Element') -> + diameter_3gpp_ts32_299:avp_header('Rate-Element'); +avp_header('Read-Reply-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Read-Reply-Report-Requested'); +avp_header('Real-Time-Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Real-Time-Tariff-Information'); +avp_header('Reason-Header') -> + diameter_3gpp_ts32_299:avp_header('Reason-Header'); +avp_header('Received-Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Time'); +avp_header('Received-Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Volume'); +avp_header('Recipient-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Address'); +avp_header('Recipient-Info') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Info'); +avp_header('Recipient-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Received-Address'); +avp_header('Recipient-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-SCCP-Address'); +avp_header('Refund-Information') -> + diameter_3gpp_ts32_299:avp_header('Refund-Information'); +avp_header('Related-Change-Condition-Information') -> + diameter_3gpp_ts32_299:avp_header('Related-Change-Condition-Information'); +avp_header('Related-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier'); +avp_header('Related-IMS-Charging-Identifier-Node') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier-Node'); +avp_header('Related-Trigger') -> + diameter_3gpp_ts32_299:avp_header('Related-Trigger'); +avp_header('Relationship-Mode') -> + diameter_3gpp_ts32_299:avp_header('Relationship-Mode'); +avp_header('Relay-IP-address') -> + diameter_3gpp_ts32_299:avp_header('Relay-IP-address'); +avp_header('Remaining-Balance') -> + diameter_3gpp_ts32_299:avp_header('Remaining-Balance'); +avp_header('Reply-Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Reply-Applic-ID'); +avp_header('Reply-Path-Requested') -> + diameter_3gpp_ts32_299:avp_header('Reply-Path-Requested'); +avp_header('Reporting-Reason') -> + diameter_3gpp_ts32_299:avp_header('Reporting-Reason'); +avp_header('Requested-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requested-PLMN-Identifier'); +avp_header('Requested-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Requested-Party-Address'); +avp_header('Requestor-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requestor-PLMN-Identifier'); +avp_header('Role-Of-Node') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-Node'); +avp_header('Role-Of-ProSe-Function') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-ProSe-Function'); +avp_header('Route-Header-Received') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Received'); +avp_header('Route-Header-Transmitted') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Transmitted'); +avp_header('SCS-AS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-AS-Address'); +avp_header('SCS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-Address'); +avp_header('SCS-Realm') -> + diameter_3gpp_ts32_299:avp_header('SCS-Realm'); +avp_header('SDP-Answer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Answer-Timestamp'); +avp_header('SDP-Media-Component') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Component'); +avp_header('SDP-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Description'); +avp_header('SDP-Media-Name') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Name'); +avp_header('SDP-Offer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Offer-Timestamp'); +avp_header('SDP-Session-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Session-Description'); +avp_header('SDP-TimeStamps') -> + diameter_3gpp_ts32_299:avp_header('SDP-TimeStamps'); +avp_header('SDP-Type') -> + diameter_3gpp_ts32_299:avp_header('SDP-Type'); +avp_header('SGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('SGSN-Address'); +avp_header('SGW-Address') -> + diameter_3gpp_ts32_299:avp_header('SGW-Address'); +avp_header('SGW-Change') -> + diameter_3gpp_ts32_299:avp_header('SGW-Change'); +avp_header('SGi-PtP-Tunnelling-Method') -> + diameter_3gpp_ts32_299:avp_header('SGi-PtP-Tunnelling-Method'); +avp_header('SIP-Method') -> + diameter_3gpp_ts32_299:avp_header('SIP-Method'); +avp_header('SIP-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp'); +avp_header('SIP-Request-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp-Fraction'); +avp_header('SIP-Response-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp'); +avp_header('SIP-Response-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp-Fraction'); +avp_header('SM-Device-Trigger-Indicator') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Indicator'); +avp_header('SM-Device-Trigger-Information') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Information'); +avp_header('SM-Discharge-Time') -> + diameter_3gpp_ts32_299:avp_header('SM-Discharge-Time'); +avp_header('SM-Message-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Message-Type'); +avp_header('SM-Protocol-ID') -> + diameter_3gpp_ts32_299:avp_header('SM-Protocol-ID'); +avp_header('SM-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('SM-Sequence-Number'); +avp_header('SM-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Service-Type'); +avp_header('SM-Status') -> + diameter_3gpp_ts32_299:avp_header('SM-Status'); +avp_header('SM-User-Data-Header') -> + diameter_3gpp_ts32_299:avp_header('SM-User-Data-Header'); +avp_header('SMS-Information') -> + diameter_3gpp_ts32_299:avp_header('SMS-Information'); +avp_header('SMS-Node') -> + diameter_3gpp_ts32_299:avp_header('SMS-Node'); +avp_header('SMS-Result') -> + diameter_3gpp_ts32_299:avp_header('SMS-Result'); +avp_header('SMSC-Address') -> + diameter_3gpp_ts32_299:avp_header('SMSC-Address'); +avp_header('Scale-Factor') -> + diameter_3gpp_ts32_299:avp_header('Scale-Factor'); +avp_header('Secondary-RAT-Type') -> + diameter_3gpp_ts32_299:avp_header('Secondary-RAT-Type'); +avp_header('Served-Party-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Served-Party-IP-Address'); +avp_header('Service-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('Service-Data-Container'); +avp_header('Service-Id') -> + diameter_3gpp_ts32_299:avp_header('Service-Id'); +avp_header('Service-Information') -> + diameter_3gpp_ts32_299:avp_header('Service-Information'); +avp_header('Service-Mode') -> + diameter_3gpp_ts32_299:avp_header('Service-Mode'); +avp_header('Service-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Data'); +avp_header('Service-Specific-Info') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Info'); +avp_header('Service-Specific-Type') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Type'); +avp_header('Serving-Node-Identity') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Identity'); +avp_header('Serving-Node-Type') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Type'); +avp_header('Session-Direction') -> + diameter_3gpp_ts32_299:avp_header('Session-Direction'); +avp_header('Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Start-Time'); +avp_header('Start-of-Charging') -> + diameter_3gpp_ts32_299:avp_header('Start-of-Charging'); +avp_header('Status-AS-Code') -> + diameter_3gpp_ts32_299:avp_header('Status-AS-Code'); +avp_header('Stop-Time') -> + diameter_3gpp_ts32_299:avp_header('Stop-Time'); +avp_header('Submission-Time') -> + diameter_3gpp_ts32_299:avp_header('Submission-Time'); +avp_header('Subscriber-Role') -> + diameter_3gpp_ts32_299:avp_header('Subscriber-Role'); +avp_header('Supplementary-Service') -> + diameter_3gpp_ts32_299:avp_header('Supplementary-Service'); +avp_header('TAD-Identifier') -> + diameter_3gpp_ts32_299:avp_header('TAD-Identifier'); +avp_header('TWAG-Address') -> + diameter_3gpp_ts32_299:avp_header('TWAG-Address'); +avp_header('TWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('TWAN-User-Location-Info'); +avp_header('Talk-Burst-Exchange') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Exchange'); +avp_header('Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Time'); +avp_header('Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Volume'); +avp_header('Target-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Target-IP-Address'); +avp_header('Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Tariff-Information'); +avp_header('Tariff-XML') -> + diameter_3gpp_ts32_299:avp_header('Tariff-XML'); +avp_header('Teleservice') -> + diameter_3gpp_ts32_299:avp_header('Teleservice'); +avp_header('Terminating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Terminating-IOI'); +avp_header('Time-First-Reception') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Reception'); +avp_header('Time-First-Transmission') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Transmission'); +avp_header('Time-First-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Usage'); +avp_header('Time-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Time-Indicator'); +avp_header('Time-Last-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Last-Usage'); +avp_header('Time-Quota-Mechanism') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Mechanism'); +avp_header('Time-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Threshold'); +avp_header('Time-Quota-Type') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Type'); +avp_header('Time-Stamps') -> + diameter_3gpp_ts32_299:avp_header('Time-Stamps'); +avp_header('Time-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Usage'); +avp_header('Token-Text') -> + diameter_3gpp_ts32_299:avp_header('Token-Text'); +avp_header('Traffic-Data-Volumes') -> + diameter_3gpp_ts32_299:avp_header('Traffic-Data-Volumes'); +avp_header('Transcoder-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Transcoder-Inserted-Indication'); +avp_header('Transit-IOI-List') -> + diameter_3gpp_ts32_299:avp_header('Transit-IOI-List'); +avp_header('Transmitter-Info') -> + diameter_3gpp_ts32_299:avp_header('Transmitter-Info'); +avp_header('Trigger') -> + diameter_3gpp_ts32_299:avp_header('Trigger'); +avp_header('Trigger-Type') -> + diameter_3gpp_ts32_299:avp_header('Trigger-Type'); +avp_header('Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Trunk-Group-Id'); +avp_header('Type-Number') -> + diameter_3gpp_ts32_299:avp_header('Type-Number'); +avp_header('UNI-PDU-CP-Only-Flag') -> + diameter_3gpp_ts32_299:avp_header('UNI-PDU-CP-Only-Flag'); +avp_header('UWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('UWAN-User-Location-Info'); +avp_header('Unit-Cost') -> + diameter_3gpp_ts32_299:avp_header('Unit-Cost'); +avp_header('Unit-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Unit-Quota-Threshold'); +avp_header('Unused-Quota-Timer') -> + diameter_3gpp_ts32_299:avp_header('Unused-Quota-Timer'); +avp_header('Usage-Information-Report-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Usage-Information-Report-Sequence-Number'); +avp_header('User-CSG-Information') -> + diameter_3gpp_ts32_299:avp_header('User-CSG-Information'); +avp_header('User-Participating-Type') -> + diameter_3gpp_ts32_299:avp_header('User-Participating-Type'); +avp_header('User-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('User-Session-Id'); +avp_header('VCS-Information') -> + diameter_3gpp_ts32_299:avp_header('VCS-Information'); +avp_header('VLR-Number') -> + diameter_3gpp_ts32_299:avp_header('VLR-Number'); +avp_header('Variable-Part') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part'); +avp_header('Variable-Part-Order') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Order'); +avp_header('Variable-Part-Type') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Type'); +avp_header('Variable-Part-Value') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Value'); +avp_header('Volume-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Volume-Quota-Threshold'); +avp_header('Address-Realm') -> + diameter_etsi_es283_034:avp_header('Address-Realm'); +avp_header('Aggregation-Network-Type') -> + diameter_etsi_es283_034:avp_header('Aggregation-Network-Type'); +avp_header('Application-Class-ID') -> + diameter_etsi_es283_034:avp_header('Application-Class-ID'); +avp_header('IP-Connectivity-Status') -> + diameter_etsi_es283_034:avp_header('IP-Connectivity-Status'); +avp_header('Initial-Gate-Setting-ID') -> + diameter_etsi_es283_034:avp_header('Initial-Gate-Setting-ID'); +avp_header('Logical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Logical-Access-ID'); +avp_header('Maximum-Allowed-Bandwidth-DL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-DL'); +avp_header('Maximum-Allowed-Bandwidth-UL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-UL'); +avp_header('Physical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Physical-Access-ID'); +avp_header('QoS-Profile-ID') -> + diameter_etsi_es283_034:avp_header('QoS-Profile-ID'); +avp_header('Transport-Class') -> + diameter_etsi_es283_034:avp_header('Transport-Class'); +avp_header('MIP-Algorithm-Type') -> + diameter_rfc4004:avp_header('MIP-Algorithm-Type'); +avp_header('MIP-Auth-Input-Data-Length') -> + diameter_rfc4004:avp_header('MIP-Auth-Input-Data-Length'); +avp_header('MIP-Authenticator-Length') -> + diameter_rfc4004:avp_header('MIP-Authenticator-Length'); +avp_header('MIP-Authenticator-Offset') -> + diameter_rfc4004:avp_header('MIP-Authenticator-Offset'); +avp_header('MIP-Candidate-Home-Agent-Host') -> + diameter_rfc4004:avp_header('MIP-Candidate-Home-Agent-Host'); +avp_header('MIP-FA-Challenge') -> + diameter_rfc4004:avp_header('MIP-FA-Challenge'); +avp_header('MIP-FA-to-HA-MSA') -> + diameter_rfc4004:avp_header('MIP-FA-to-HA-MSA'); +avp_header('MIP-FA-to-HA-SPI') -> + diameter_rfc4004:avp_header('MIP-FA-to-HA-SPI'); +avp_header('MIP-FA-to-MN-MSA') -> + diameter_rfc4004:avp_header('MIP-FA-to-MN-MSA'); +avp_header('MIP-FA-to-MN-SPI') -> + diameter_rfc4004:avp_header('MIP-FA-to-MN-SPI'); +avp_header('MIP-Feature-Vector') -> + diameter_rfc4004:avp_header('MIP-Feature-Vector'); +avp_header('MIP-Filter-Rule') -> + diameter_rfc4004:avp_header('MIP-Filter-Rule'); +avp_header('MIP-HA-to-FA-MSA') -> + diameter_rfc4004:avp_header('MIP-HA-to-FA-MSA'); +avp_header('MIP-HA-to-FA-SPI') -> + diameter_rfc4004:avp_header('MIP-HA-to-FA-SPI'); +avp_header('MIP-HA-to-MN-MSA') -> + diameter_rfc4004:avp_header('MIP-HA-to-MN-MSA'); +avp_header('MIP-Home-Agent-Address') -> + diameter_rfc4004:avp_header('MIP-Home-Agent-Address'); +avp_header('MIP-Home-Agent-Host') -> + diameter_rfc4004:avp_header('MIP-Home-Agent-Host'); +avp_header('MIP-MN-AAA-Auth') -> + diameter_rfc4004:avp_header('MIP-MN-AAA-Auth'); +avp_header('MIP-MN-AAA-SPI') -> + diameter_rfc4004:avp_header('MIP-MN-AAA-SPI'); +avp_header('MIP-MN-to-FA-MSA') -> + diameter_rfc4004:avp_header('MIP-MN-to-FA-MSA'); +avp_header('MIP-MN-to-HA-MSA') -> + diameter_rfc4004:avp_header('MIP-MN-to-HA-MSA'); +avp_header('MIP-MSA-Lifetime') -> + diameter_rfc4004:avp_header('MIP-MSA-Lifetime'); +avp_header('MIP-Mobile-Node-Address') -> + diameter_rfc4004:avp_header('MIP-Mobile-Node-Address'); +avp_header('MIP-Nonce') -> + diameter_rfc4004:avp_header('MIP-Nonce'); +avp_header('MIP-Originating-Foreign-AAA') -> + diameter_rfc4004:avp_header('MIP-Originating-Foreign-AAA'); +avp_header('MIP-Reg-Reply') -> + diameter_rfc4004:avp_header('MIP-Reg-Reply'); +avp_header('MIP-Reg-Request') -> + diameter_rfc4004:avp_header('MIP-Reg-Request'); +avp_header('MIP-Replay-Mode') -> + diameter_rfc4004:avp_header('MIP-Replay-Mode'); +avp_header('MIP-Session-Key') -> + diameter_rfc4004:avp_header('MIP-Session-Key'); +avp_header('CC-Correlation-Id') -> + diameter_rfc4006_cc:avp_header('CC-Correlation-Id'); +avp_header('CC-Input-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Input-Octets'); +avp_header('CC-Money') -> + diameter_rfc4006_cc:avp_header('CC-Money'); +avp_header('CC-Output-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Output-Octets'); +avp_header('CC-Request-Number') -> + diameter_rfc4006_cc:avp_header('CC-Request-Number'); +avp_header('CC-Request-Type') -> + diameter_rfc4006_cc:avp_header('CC-Request-Type'); +avp_header('CC-Service-Specific-Units') -> + diameter_rfc4006_cc:avp_header('CC-Service-Specific-Units'); +avp_header('CC-Session-Failover') -> + diameter_rfc4006_cc:avp_header('CC-Session-Failover'); +avp_header('CC-Sub-Session-Id') -> + diameter_rfc4006_cc:avp_header('CC-Sub-Session-Id'); +avp_header('CC-Time') -> + diameter_rfc4006_cc:avp_header('CC-Time'); +avp_header('CC-Total-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Total-Octets'); +avp_header('CC-Unit-Type') -> + diameter_rfc4006_cc:avp_header('CC-Unit-Type'); +avp_header('Check-Balance-Result') -> + diameter_rfc4006_cc:avp_header('Check-Balance-Result'); +avp_header('Cost-Information') -> + diameter_rfc4006_cc:avp_header('Cost-Information'); +avp_header('Cost-Unit') -> + diameter_rfc4006_cc:avp_header('Cost-Unit'); +avp_header('Credit-Control') -> + diameter_rfc4006_cc:avp_header('Credit-Control'); +avp_header('Credit-Control-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Credit-Control-Failure-Handling'); +avp_header('Currency-Code') -> + diameter_rfc4006_cc:avp_header('Currency-Code'); +avp_header('Direct-Debiting-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Direct-Debiting-Failure-Handling'); +avp_header('Exponent') -> + diameter_rfc4006_cc:avp_header('Exponent'); +avp_header('Final-Unit-Action') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Action'); +avp_header('Final-Unit-Indication') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Indication'); +avp_header('G-S-U-Pool-Identifier') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Identifier'); +avp_header('G-S-U-Pool-Reference') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Reference'); +avp_header('Granted-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Granted-Service-Unit'); +avp_header('Multiple-Services-Credit-Control') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Credit-Control'); +avp_header('Multiple-Services-Indicator') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Indicator'); +avp_header('Rating-Group') -> + diameter_rfc4006_cc:avp_header('Rating-Group'); +avp_header('Redirect-Address-Type') -> + diameter_rfc4006_cc:avp_header('Redirect-Address-Type'); +avp_header('Redirect-Server') -> + diameter_rfc4006_cc:avp_header('Redirect-Server'); +avp_header('Redirect-Server-Address') -> + diameter_rfc4006_cc:avp_header('Redirect-Server-Address'); +avp_header('Requested-Action') -> + diameter_rfc4006_cc:avp_header('Requested-Action'); +avp_header('Requested-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Requested-Service-Unit'); +avp_header('Restriction-Filter-Rule') -> + diameter_rfc4006_cc:avp_header('Restriction-Filter-Rule'); +avp_header('Service-Context-Id') -> + diameter_rfc4006_cc:avp_header('Service-Context-Id'); +avp_header('Service-Identifier') -> + diameter_rfc4006_cc:avp_header('Service-Identifier'); +avp_header('Service-Parameter-Info') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Info'); +avp_header('Service-Parameter-Type') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Type'); +avp_header('Service-Parameter-Value') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Value'); +avp_header('Subscription-Id') -> + diameter_rfc4006_cc:avp_header('Subscription-Id'); +avp_header('Subscription-Id-Data') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Data'); +avp_header('Subscription-Id-Type') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Type'); +avp_header('Tariff-Change-Usage') -> + diameter_rfc4006_cc:avp_header('Tariff-Change-Usage'); +avp_header('Tariff-Time-Change') -> + diameter_rfc4006_cc:avp_header('Tariff-Time-Change'); +avp_header('Unit-Value') -> + diameter_rfc4006_cc:avp_header('Unit-Value'); +avp_header('Used-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Used-Service-Unit'); +avp_header('User-Equipment-Info') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info'); +avp_header('User-Equipment-Info-Type') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Type'); +avp_header('User-Equipment-Info-Value') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Value'); +avp_header('Validity-Time') -> + diameter_rfc4006_cc:avp_header('Validity-Time'); +avp_header('Value-Digits') -> + diameter_rfc4006_cc:avp_header('Value-Digits'); +avp_header('MIP6-Agent-Info') -> + diameter_rfc5447:avp_header('MIP6-Agent-Info'); +avp_header('MIP6-Home-Link-Prefix') -> + diameter_rfc5447:avp_header('MIP6-Home-Link-Prefix'); +avp_header('Location-Data') -> + diameter_rfc5580:avp_header('Location-Data'); +avp_header('Location-Information') -> + diameter_rfc5580:avp_header('Location-Information'); +avp_header('Operator-Name') -> + diameter_rfc5580:avp_header('Operator-Name'); +avp_header('Absolute-End-Fractional-Seconds') -> + diameter_rfc5777:avp_header('Absolute-End-Fractional-Seconds'); +avp_header('Absolute-End-Time') -> + diameter_rfc5777:avp_header('Absolute-End-Time'); +avp_header('Absolute-Start-Fractional-Seconds') -> + diameter_rfc5777:avp_header('Absolute-Start-Fractional-Seconds'); +avp_header('Absolute-Start-Time') -> + diameter_rfc5777:avp_header('Absolute-Start-Time'); +avp_header('C-VID-End') -> + diameter_rfc5777:avp_header('C-VID-End'); +avp_header('C-VID-Start') -> + diameter_rfc5777:avp_header('C-VID-Start'); +avp_header('Classifier') -> + diameter_rfc5777:avp_header('Classifier'); +avp_header('Classifier-ID') -> + diameter_rfc5777:avp_header('Classifier-ID'); +avp_header('Day-Of-Month-Mask') -> + diameter_rfc5777:avp_header('Day-Of-Month-Mask'); +avp_header('Day-Of-Week-Mask') -> + diameter_rfc5777:avp_header('Day-Of-Week-Mask'); +avp_header('Diffserv-Code-Point') -> + diameter_rfc5777:avp_header('Diffserv-Code-Point'); +avp_header('Direction') -> + diameter_rfc5777:avp_header('Direction'); +avp_header('ETH-Ether-Type') -> + diameter_rfc5777:avp_header('ETH-Ether-Type'); +avp_header('ETH-Option') -> + diameter_rfc5777:avp_header('ETH-Option'); +avp_header('ETH-Proto-Type') -> + diameter_rfc5777:avp_header('ETH-Proto-Type'); +avp_header('ETH-SAP') -> + diameter_rfc5777:avp_header('ETH-SAP'); +avp_header('EUI64-Address') -> + diameter_rfc5777:avp_header('EUI64-Address'); +avp_header('EUI64-Address-Mask') -> + diameter_rfc5777:avp_header('EUI64-Address-Mask'); +avp_header('EUI64-Address-Mask-Pattern') -> + diameter_rfc5777:avp_header('EUI64-Address-Mask-Pattern'); +avp_header('Excess-Treatment') -> + diameter_rfc5777:avp_header('Excess-Treatment'); +avp_header('Filter-Rule') -> + diameter_rfc5777:avp_header('Filter-Rule'); +avp_header('Filter-Rule-Precedence') -> + diameter_rfc5777:avp_header('Filter-Rule-Precedence'); +avp_header('Fragmentation-Flag') -> + diameter_rfc5777:avp_header('Fragmentation-Flag'); +avp_header('From-Spec') -> + diameter_rfc5777:avp_header('From-Spec'); +avp_header('High-User-Priority') -> + diameter_rfc5777:avp_header('High-User-Priority'); +avp_header('ICMP-Code') -> + diameter_rfc5777:avp_header('ICMP-Code'); +avp_header('ICMP-Type') -> + diameter_rfc5777:avp_header('ICMP-Type'); +avp_header('ICMP-Type-Number') -> + diameter_rfc5777:avp_header('ICMP-Type-Number'); +avp_header('IP-Address') -> + diameter_rfc5777:avp_header('IP-Address'); +avp_header('IP-Address-End') -> + diameter_rfc5777:avp_header('IP-Address-End'); +avp_header('IP-Address-Mask') -> + diameter_rfc5777:avp_header('IP-Address-Mask'); +avp_header('IP-Address-Range') -> + diameter_rfc5777:avp_header('IP-Address-Range'); +avp_header('IP-Address-Start') -> + diameter_rfc5777:avp_header('IP-Address-Start'); +avp_header('IP-Mask-Bit-Mask-Width') -> + diameter_rfc5777:avp_header('IP-Mask-Bit-Mask-Width'); +avp_header('IP-Option') -> + diameter_rfc5777:avp_header('IP-Option'); +avp_header('IP-Option-Type') -> + diameter_rfc5777:avp_header('IP-Option-Type'); +avp_header('IP-Option-Value') -> + diameter_rfc5777:avp_header('IP-Option-Value'); +avp_header('Low-User-Priority') -> + diameter_rfc5777:avp_header('Low-User-Priority'); +avp_header('MAC-Address') -> + diameter_rfc5777:avp_header('MAC-Address'); +avp_header('MAC-Address-Mask') -> + diameter_rfc5777:avp_header('MAC-Address-Mask'); +avp_header('MAC-Address-Mask-Pattern') -> + diameter_rfc5777:avp_header('MAC-Address-Mask-Pattern'); +avp_header('Month-Of-Year-Mask') -> + diameter_rfc5777:avp_header('Month-Of-Year-Mask'); +avp_header('Negated') -> + diameter_rfc5777:avp_header('Negated'); +avp_header('Port') -> + diameter_rfc5777:avp_header('Port'); +avp_header('Port-End') -> + diameter_rfc5777:avp_header('Port-End'); +avp_header('Port-Range') -> + diameter_rfc5777:avp_header('Port-Range'); +avp_header('Port-Start') -> + diameter_rfc5777:avp_header('Port-Start'); +avp_header('Protocol') -> + diameter_rfc5777:avp_header('Protocol'); +avp_header('QoS-Capability') -> + diameter_rfc5777:avp_header('QoS-Capability'); +avp_header('QoS-Parameters') -> + diameter_rfc5777:avp_header('QoS-Parameters'); +avp_header('QoS-Profile-Id') -> + diameter_rfc5777:avp_header('QoS-Profile-Id'); +avp_header('QoS-Profile-Template') -> + diameter_rfc5777:avp_header('QoS-Profile-Template'); +avp_header('QoS-Resources') -> + diameter_rfc5777:avp_header('QoS-Resources'); +avp_header('QoS-Semantics') -> + diameter_rfc5777:avp_header('QoS-Semantics'); +avp_header('S-VID-End') -> + diameter_rfc5777:avp_header('S-VID-End'); +avp_header('S-VID-Start') -> + diameter_rfc5777:avp_header('S-VID-Start'); +avp_header('TCP-Flag-Type') -> + diameter_rfc5777:avp_header('TCP-Flag-Type'); +avp_header('TCP-Flags') -> + diameter_rfc5777:avp_header('TCP-Flags'); +avp_header('TCP-Option') -> + diameter_rfc5777:avp_header('TCP-Option'); +avp_header('TCP-Option-Type') -> + diameter_rfc5777:avp_header('TCP-Option-Type'); +avp_header('TCP-Option-Value') -> + diameter_rfc5777:avp_header('TCP-Option-Value'); +avp_header('Time-Of-Day-Condition') -> + diameter_rfc5777:avp_header('Time-Of-Day-Condition'); +avp_header('Time-Of-Day-End') -> + diameter_rfc5777:avp_header('Time-Of-Day-End'); +avp_header('Time-Of-Day-Start') -> + diameter_rfc5777:avp_header('Time-Of-Day-Start'); +avp_header('Timezone-Flag') -> + diameter_rfc5777:avp_header('Timezone-Flag'); +avp_header('Timezone-Offset') -> + diameter_rfc5777:avp_header('Timezone-Offset'); +avp_header('To-Spec') -> + diameter_rfc5777:avp_header('To-Spec'); +avp_header('Treatment-Action') -> + diameter_rfc5777:avp_header('Treatment-Action'); +avp_header('Use-Assigned-Address') -> + diameter_rfc5777:avp_header('Use-Assigned-Address'); +avp_header('User-Priority-Range') -> + diameter_rfc5777:avp_header('User-Priority-Range'); +avp_header('VLAN-ID-Range') -> + diameter_rfc5777:avp_header('VLAN-ID-Range'); +avp_header('Service-Selection') -> + diameter_rfc5778:avp_header('Service-Selection'); +avp_header('OC-Feature-Vector') -> + diameter_rfc7683:avp_header('OC-Feature-Vector'); +avp_header('OC-OLR') -> + diameter_rfc7683:avp_header('OC-OLR'); +avp_header('OC-Reduction-Percentage') -> + diameter_rfc7683:avp_header('OC-Reduction-Percentage'); +avp_header('OC-Report-Type') -> + diameter_rfc7683:avp_header('OC-Report-Type'); +avp_header('OC-Sequence-Number') -> + diameter_rfc7683:avp_header('OC-Sequence-Number'); +avp_header('OC-Supported-Features') -> + diameter_rfc7683:avp_header('OC-Supported-Features'); +avp_header('OC-Validity-Duration') -> + diameter_rfc7683:avp_header('OC-Validity-Duration'); +avp_header('DRMP') -> + diameter_rfc7944:avp_header('DRMP'); +avp_header('Load') -> + diameter_rfc8583:avp_header('Load'); +avp_header('Load-Type') -> + diameter_rfc8583:avp_header('Load-Type'); +avp_header('Load-Value') -> + diameter_rfc8583:avp_header('Load-Value'); +avp_header('SourceID') -> + diameter_rfc8583:avp_header('SourceID'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(T, Data, 'APN-OI-Replacement', Opts) -> + avp(T, + Data, + 'APN-OI-Replacement', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'Emergency-Info', Opts) -> + grouped_avp(T, 'Emergency-Info', Data, Opts); +avp(T, Data, 'GMLC-Number', Opts) -> + avp(T, + Data, + 'GMLC-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'SGSN-Number', Opts) -> + avp(T, + Data, + 'SGSN-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'AN-GW-Address', Opts) -> + avp(T, + Data, + 'AN-GW-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AN-GW-Status', Opts) -> + avp(T, + Data, + 'AN-GW-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-DL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-UL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Access-Network-Charging-Identifier-Gx', + Opts) -> + grouped_avp(T, + 'Access-Network-Charging-Identifier-Gx', + Data, + Opts); +avp(T, Data, 'Allocation-Retention-Priority', Opts) -> + grouped_avp(T, + 'Allocation-Retention-Priority', + Data, + Opts); +avp(T, Data, 'Application-Detection-Information', + Opts) -> + grouped_avp(T, + 'Application-Detection-Information', + Data, + Opts); +avp(T, Data, 'Bearer-Control-Mode', Opts) -> + avp(T, + Data, + 'Bearer-Control-Mode', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Identifier', Opts) -> + avp(T, + Data, + 'Bearer-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Operation', Opts) -> + avp(T, + Data, + 'Bearer-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Usage', Opts) -> + avp(T, + Data, + 'Bearer-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CSG-Information-Reporting', Opts) -> + avp(T, + Data, + 'CSG-Information-Reporting', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Correlation-Indicator', Opts) -> + avp(T, + Data, + 'Charging-Correlation-Indicator', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Base-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Base-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Definition', Opts) -> + grouped_avp(T, 'Charging-Rule-Definition', Data, Opts); +avp(T, Data, 'Charging-Rule-Install', Opts) -> + grouped_avp(T, 'Charging-Rule-Install', Data, Opts); +avp(T, Data, 'Charging-Rule-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Remove', Opts) -> + grouped_avp(T, 'Charging-Rule-Remove', Data, Opts); +avp(T, Data, 'Charging-Rule-Report', Opts) -> + grouped_avp(T, 'Charging-Rule-Report', Data, Opts); +avp(T, Data, 'CoA-IP-Address', Opts) -> + avp(T, + Data, + 'CoA-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CoA-Information', Opts) -> + grouped_avp(T, 'CoA-Information', Data, Opts); +avp(T, Data, 'Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + grouped_avp(T, + 'Conditional-APN-Aggregate-Max-Bitrate', + Data, + Opts); +avp(T, Data, 'Credit-Management-Status', Opts) -> + avp(T, + Data, + 'Credit-Management-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Default-EPS-Bearer-QoS', Opts) -> + grouped_avp(T, 'Default-EPS-Bearer-QoS', Data, Opts); +avp(T, Data, 'Default-QoS-Information', Opts) -> + grouped_avp(T, 'Default-QoS-Information', Data, Opts); +avp(T, Data, 'Default-QoS-Name', Opts) -> + avp(T, + Data, + 'Default-QoS-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Event-Report-Indication', Opts) -> + grouped_avp(T, 'Event-Report-Indication', Data, Opts); +avp(T, Data, 'Event-Trigger', Opts) -> + avp(T, + Data, + 'Event-Trigger', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Fixed-User-Location-Info', Opts) -> + grouped_avp(T, 'Fixed-User-Location-Info', Data, Opts); +avp(T, Data, 'Flow-Direction', Opts) -> + avp(T, + Data, + 'Flow-Direction', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Flow-Information', Opts) -> + grouped_avp(T, 'Flow-Information', Data, Opts); +avp(T, Data, 'Flow-Label', Opts) -> + avp(T, + Data, + 'Flow-Label', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-DL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-UL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'HeNB-Local-IP-Address', Opts) -> + avp(T, + Data, + 'HeNB-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Session-Charging-Scope', Opts) -> + avp(T, + Data, + 'IP-CAN-Session-Charging-Scope', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Type', Opts) -> + avp(T, + Data, + 'IP-CAN-Type', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Metering-Method', Opts) -> + avp(T, + Data, + 'Metering-Method', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Key', Opts) -> + avp(T, + Data, + 'Monitoring-Key', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Time', Opts) -> + avp(T, + Data, + 'Monitoring-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Mute-Notification', Opts) -> + avp(T, + Data, + 'Mute-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'NetLoc-Access-Support', Opts) -> + avp(T, + Data, + 'NetLoc-Access-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Network-Request-Support', Opts) -> + avp(T, + Data, + 'Network-Request-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Offline', Opts) -> + avp(T, Data, 'Offline', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Online', Opts) -> + avp(T, Data, 'Online', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'PCC-Rule-Status', Opts) -> + avp(T, + Data, + 'PCC-Rule-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PCSCF-Restoration-Indication', Opts) -> + avp(T, + Data, + 'PCSCF-Restoration-Indication', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PDN-Connection-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-ID', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PS-to-CS-Session-Continuity', Opts) -> + avp(T, + Data, + 'PS-to-CS-Session-Continuity', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Content', Opts) -> + avp(T, + Data, + 'Packet-Filter-Content', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Identifier', Opts) -> + avp(T, + Data, + 'Packet-Filter-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Information', Opts) -> + grouped_avp(T, 'Packet-Filter-Information', Data, Opts); +avp(T, Data, 'Packet-Filter-Operation', Opts) -> + avp(T, + Data, + 'Packet-Filter-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Usage', Opts) -> + avp(T, + Data, + 'Packet-Filter-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Capability', Opts) -> + avp(T, + Data, + 'Pre-emption-Capability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Vulnerability', Opts) -> + avp(T, + Data, + 'Pre-emption-Vulnerability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Precedence', Opts) -> + avp(T, + Data, + 'Precedence', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Elements-List', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Elements-List', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Identifier', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Information', + Opts) -> + grouped_avp(T, + 'Presence-Reporting-Area-Information', + Data, + Opts); +avp(T, Data, 'Presence-Reporting-Area-Status', Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Priority-Level', Opts) -> + avp(T, + Data, + 'Priority-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Class-Identifier', Opts) -> + avp(T, + Data, + 'QoS-Class-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Information', Opts) -> + grouped_avp(T, 'QoS-Information', Data, Opts); +avp(T, Data, 'QoS-Negotiation', Opts) -> + avp(T, + Data, + 'QoS-Negotiation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Upgrade', Opts) -> + avp(T, + Data, + 'QoS-Upgrade', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAN-NAS-Release-Cause', Opts) -> + avp(T, + Data, + 'RAN-NAS-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAT-Type', Opts) -> + avp(T, Data, 'RAT-Type', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Redirect-Information', Opts) -> + grouped_avp(T, 'Redirect-Information', Data, Opts); +avp(T, Data, 'Redirect-Support', Opts) -> + avp(T, + Data, + 'Redirect-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Reporting-Level', Opts) -> + avp(T, + Data, + 'Reporting-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Resource-Allocation-Notification', + Opts) -> + avp(T, + Data, + 'Resource-Allocation-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Revalidation-Time', Opts) -> + avp(T, + Data, + 'Revalidation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Filter', Opts) -> + grouped_avp(T, 'Routing-Filter', Data, Opts); +avp(T, Data, 'Routing-IP-Address', Opts) -> + avp(T, + Data, + 'Routing-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Definition', Opts) -> + grouped_avp(T, 'Routing-Rule-Definition', Data, Opts); +avp(T, Data, 'Routing-Rule-Identifier', Opts) -> + avp(T, + Data, + 'Routing-Rule-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Install', Opts) -> + grouped_avp(T, 'Routing-Rule-Install', Data, Opts); +avp(T, Data, 'Routing-Rule-Remove', Opts) -> + grouped_avp(T, 'Routing-Rule-Remove', Data, Opts); +avp(T, Data, 'Rule-Activation-Time', Opts) -> + avp(T, + Data, + 'Rule-Activation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Deactivation-Time', Opts) -> + avp(T, + Data, + 'Rule-Deactivation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Failure-Code', Opts) -> + avp(T, + Data, + 'Rule-Failure-Code', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Security-Parameter-Index', Opts) -> + avp(T, + Data, + 'Security-Parameter-Index', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Session-Release-Cause', Opts) -> + avp(T, + Data, + 'Session-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Identifier', Opts) -> + avp(T, + Data, + 'TDF-Application-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Instance-Identifier', + Opts) -> + avp(T, + Data, + 'TDF-Application-Instance-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Host', Opts) -> + avp(T, + Data, + 'TDF-Destination-Host', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Realm', Opts) -> + avp(T, + Data, + 'TDF-Destination-Realm', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-IP-Address', Opts) -> + avp(T, + Data, + 'TDF-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Information', Opts) -> + grouped_avp(T, 'TDF-Information', Data, Opts); +avp(T, Data, 'TFT-Filter', Opts) -> + avp(T, + Data, + 'TFT-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TFT-Packet-Filter-Information', Opts) -> + grouped_avp(T, + 'TFT-Packet-Filter-Information', + Data, + Opts); +avp(T, Data, 'ToS-Traffic-Class', Opts) -> + avp(T, + Data, + 'ToS-Traffic-Class', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Filter', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Length', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Length', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Information', Opts) -> + grouped_avp(T, 'Tunnel-Information', Data, Opts); +avp(T, Data, 'UDP-Source-Port', Opts) -> + avp(T, + Data, + 'UDP-Source-Port', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'UE-Local-IP-Address', Opts) -> + avp(T, + Data, + 'UE-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Information', Opts) -> + grouped_avp(T, + 'Usage-Monitoring-Information', + Data, + Opts); +avp(T, Data, 'Usage-Monitoring-Level', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Report', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Report', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Support', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'User-Location-Info-Time', Opts) -> + avp(T, + Data, + 'User-Location-Info-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AF-Application-Identifier', Opts) -> + avp(T, + Data, + 'AF-Application-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Charging-Identifier', Opts) -> + avp(T, + Data, + 'AF-Charging-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Signalling-Protocol', Opts) -> + avp(T, + Data, + 'AF-Signalling-Protocol', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Abort-Cause', Opts) -> + avp(T, + Data, + 'Abort-Cause', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Address', Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Address', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Identifier-Value', + Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Identifier-Value', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Application-Service-Provider-Identity', + Opts) -> + avp(T, + Data, + 'Application-Service-Provider-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Codec-Data', Opts) -> + avp(T, + Data, + 'Codec-Data', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Description', Opts) -> + avp(T, + Data, + 'Flow-Description', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Number', Opts) -> + avp(T, + Data, + 'Flow-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Status', Opts) -> + avp(T, + Data, + 'Flow-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Usage', Opts) -> + avp(T, + Data, + 'Flow-Usage', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flows', Opts) -> + grouped_avp(T, 'Flows', Data, Opts); +avp(T, Data, 'GCS-Identifier', Opts) -> + avp(T, + Data, + 'GCS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'IP-Domain-Id', Opts) -> + avp(T, + Data, + 'IP-Domain-Id', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'MPS-Identifier', Opts) -> + avp(T, + Data, + 'MPS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Component-Number', Opts) -> + avp(T, + Data, + 'Media-Component-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Type', Opts) -> + avp(T, + Data, + 'Media-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RR-Bandwidth', Opts) -> + avp(T, + Data, + 'RR-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RS-Bandwidth', Opts) -> + avp(T, + Data, + 'RS-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Required-Access-Info', Opts) -> + avp(T, + Data, + 'Required-Access-Info', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Rx-Request-Type', Opts) -> + avp(T, + Data, + 'Rx-Request-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'SIP-Forking-Indication', Opts) -> + avp(T, + Data, + 'SIP-Forking-Indication', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-Info-Status', Opts) -> + avp(T, + Data, + 'Service-Info-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-URN', Opts) -> + avp(T, + Data, + 'Service-URN', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Specific-Action', Opts) -> + avp(T, + Data, + 'Specific-Action', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Sponsor-Identity', Opts) -> + avp(T, + Data, + 'Sponsor-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Call-ID-SIP-Header', Opts) -> + avp(T, + Data, + 'Call-ID-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Charging-Information', Opts) -> + grouped_avp(T, 'Charging-Information', Data, Opts); +avp(T, Data, 'Confidentiality-Key', Opts) -> + avp(T, + Data, + 'Confidentiality-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Contact', Opts) -> + avp(T, Data, 'Contact', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Deregistration-Reason', Opts) -> + grouped_avp(T, 'Deregistration-Reason', Data, Opts); +avp(T, Data, 'Digest-Algorithm', Opts) -> + avp(T, + Data, + 'Digest-Algorithm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-HA1', Opts) -> + avp(T, + Data, + 'Digest-HA1', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-QoP', Opts) -> + avp(T, + Data, + 'Digest-QoP', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-Realm', Opts) -> + avp(T, + Data, + 'Digest-Realm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List', Opts) -> + avp(T, + Data, + 'Feature-List', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List-ID', Opts) -> + avp(T, + Data, + 'Feature-List-ID', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'From-SIP-Header', Opts) -> + avp(T, + Data, + 'From-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Initial-CSeq-Sequence-Number', Opts) -> + avp(T, + Data, + 'Initial-CSeq-Sequence-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Integrity-Key', Opts) -> + avp(T, + Data, + 'Integrity-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'LIA-Flags', Opts) -> + avp(T, Data, 'LIA-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Loose-Route-Indication', Opts) -> + avp(T, + Data, + 'Loose-Route-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Mandatory-Capability', Opts) -> + avp(T, + Data, + 'Mandatory-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Multiple-Registration-Indication', + Opts) -> + avp(T, + Data, + 'Multiple-Registration-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Optional-Capability', Opts) -> + avp(T, + Data, + 'Optional-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Originating-Request', Opts) -> + avp(T, + Data, + 'Originating-Request', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Path', Opts) -> + avp(T, Data, 'Path', Opts, diameter_3gpp_ts29_229); +avp(T, Data, + 'Primary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Primary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Primary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Primary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Priviledged-Sender-Indication', Opts) -> + avp(T, + Data, + 'Priviledged-Sender-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Public-Identity', Opts) -> + avp(T, + Data, + 'Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Code', Opts) -> + avp(T, + Data, + 'Reason-Code', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Info', Opts) -> + avp(T, + Data, + 'Reason-Info', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Record-Route', Opts) -> + avp(T, + Data, + 'Record-Route', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SAR-Flags', Opts) -> + avp(T, Data, 'SAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Auth-Data-Item', Opts) -> + grouped_avp(T, 'SIP-Auth-Data-Item', Data, Opts); +avp(T, Data, 'SIP-Authenticate', Opts) -> + avp(T, + Data, + 'SIP-Authenticate', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Context', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Context', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Scheme', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Scheme', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authorization', Opts) -> + avp(T, + Data, + 'SIP-Authorization', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Digest-Authenticate', Opts) -> + grouped_avp(T, 'SIP-Digest-Authenticate', Data, Opts); +avp(T, Data, 'SIP-Item-Number', Opts) -> + avp(T, + Data, + 'SIP-Item-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Number-Auth-Items', Opts) -> + avp(T, + Data, + 'SIP-Number-Auth-Items', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, + 'Secondary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Secondary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Secondary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Secondary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Assignment-Type', Opts) -> + avp(T, + Data, + 'Server-Assignment-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Name', Opts) -> + avp(T, + Data, + 'Server-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Session-Priority', Opts) -> + avp(T, + Data, + 'Session-Priority', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Supported-Applications', Opts) -> + grouped_avp(T, 'Supported-Applications', Data, Opts); +avp(T, Data, 'Supported-Features', Opts) -> + grouped_avp(T, 'Supported-Features', Data, Opts); +avp(T, Data, 'To-SIP-Header', Opts) -> + avp(T, + Data, + 'To-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'UAR-Flags', Opts) -> + avp(T, Data, 'UAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Authorization-Type', Opts) -> + avp(T, + Data, + 'User-Authorization-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data', Opts) -> + avp(T, Data, 'User-Data', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data-Already-Available', Opts) -> + avp(T, + Data, + 'User-Data-Already-Available', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'Visited-Network-Identifier', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Wildcarded-Public-Identity', Opts) -> + avp(T, + Data, + 'Wildcarded-Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, '3GPP2-MEID', Opts) -> + avp(T, + Data, + '3GPP2-MEID', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'A-MSISDN', Opts) -> + avp(T, Data, 'A-MSISDN', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'AMBR', Opts) -> + grouped_avp(T, 'AMBR', Data, Opts); +avp(T, Data, 'APN-Configuration', Opts) -> + grouped_avp(T, 'APN-Configuration', Data, Opts); +avp(T, Data, 'APN-Configuration-Profile', Opts) -> + grouped_avp(T, 'APN-Configuration-Profile', Data, Opts); +avp(T, Data, 'AUTN', Opts) -> + avp(T, Data, 'AUTN', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Access-Restriction-Data', Opts) -> + avp(T, + Data, + 'Access-Restriction-Data', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Active-APN', Opts) -> + grouped_avp(T, 'Active-APN', Data, Opts); +avp(T, Data, 'Age-Of-Location-Information', Opts) -> + avp(T, + Data, + 'Age-Of-Location-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Alert-Reason', Opts) -> + avp(T, + Data, + 'Alert-Reason', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, + 'All-APN-Configurations-Included-Indicator', Opts) -> + avp(T, + Data, + 'All-APN-Configurations-Included-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Area-Scope', Opts) -> + grouped_avp(T, 'Area-Scope', Data, Opts); +avp(T, Data, 'Authentication-Info', Opts) -> + grouped_avp(T, 'Authentication-Info', Data, Opts); +avp(T, Data, 'CLR-Flags', Opts) -> + avp(T, Data, 'CLR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'CSG-Id', Opts) -> + avp(T, Data, 'CSG-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'CSG-Subscription-Data', Opts) -> + grouped_avp(T, 'CSG-Subscription-Data', Data, Opts); +avp(T, Data, 'Call-Barring-Info', Opts) -> + grouped_avp(T, 'Call-Barring-Info', Data, Opts); +avp(T, Data, 'Cancellation-Type', Opts) -> + avp(T, + Data, + 'Cancellation-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Cell-Global-Identity', Opts) -> + avp(T, + Data, + 'Cell-Global-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Client-Identity', Opts) -> + avp(T, + Data, + 'Client-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Collection-Period-RRM-LTE', Opts) -> + avp(T, + Data, + 'Collection-Period-RRM-LTE', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Collection-Period-RRM-UMTS', Opts) -> + avp(T, + Data, + 'Collection-Period-RRM-UMTS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Complete-Data-List-Included-Indicator', + Opts) -> + avp(T, + Data, + 'Complete-Data-List-Included-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Context-Identifier', Opts) -> + avp(T, + Data, + 'Context-Identifier', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Core-Network-Restrictions', Opts) -> + avp(T, + Data, + 'Core-Network-Restrictions', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Current-Location-Retrieved', Opts) -> + avp(T, + Data, + 'Current-Location-Retrieved', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'DSA-Flags', Opts) -> + avp(T, Data, 'DSA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'DSR-Flags', Opts) -> + avp(T, Data, 'DSR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Daylight-Saving-Time', Opts) -> + avp(T, + Data, + 'Daylight-Saving-Time', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'E-UTRAN-Cell-Global-Identity', Opts) -> + avp(T, + Data, + 'E-UTRAN-Cell-Global-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'E-UTRAN-Vector', Opts) -> + grouped_avp(T, 'E-UTRAN-Vector', Data, Opts); +avp(T, Data, 'EPS-Location-Information', Opts) -> + grouped_avp(T, 'EPS-Location-Information', Data, Opts); +avp(T, Data, 'EPS-Subscribed-QoS-Profile', Opts) -> + grouped_avp(T, + 'EPS-Subscribed-QoS-Profile', + Data, + Opts); +avp(T, Data, 'EPS-User-State', Opts) -> + grouped_avp(T, 'EPS-User-State', Data, Opts); +avp(T, Data, 'Equipment-Status', Opts) -> + avp(T, + Data, + 'Equipment-Status', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Equivalent-PLMN-List', Opts) -> + grouped_avp(T, 'Equivalent-PLMN-List', Data, Opts); +avp(T, Data, 'Error-Diagnostic', Opts) -> + avp(T, + Data, + 'Error-Diagnostic', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-Event-1F', Opts) -> + avp(T, + Data, + 'Event-Threshold-Event-1F', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-Event-1I', Opts) -> + avp(T, + Data, + 'Event-Threshold-Event-1I', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-RSRP', Opts) -> + avp(T, + Data, + 'Event-Threshold-RSRP', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-RSRQ', Opts) -> + avp(T, + Data, + 'Event-Threshold-RSRQ', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Expiration-Date', Opts) -> + avp(T, + Data, + 'Expiration-Date', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Ext-PDP-Address', Opts) -> + avp(T, + Data, + 'Ext-PDP-Address', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Ext-PDP-Type', Opts) -> + avp(T, + Data, + 'Ext-PDP-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'External-Client', Opts) -> + grouped_avp(T, 'External-Client', Data, Opts); +avp(T, Data, 'GERAN-Vector', Opts) -> + grouped_avp(T, 'GERAN-Vector', Data, Opts); +avp(T, Data, 'GMLC-Restriction', Opts) -> + avp(T, + Data, + 'GMLC-Restriction', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'GPRS-Subscription-Data', Opts) -> + grouped_avp(T, 'GPRS-Subscription-Data', Data, Opts); +avp(T, Data, 'Geodetic-Information', Opts) -> + avp(T, + Data, + 'Geodetic-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Geographical-Information', Opts) -> + avp(T, + Data, + 'Geographical-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'HPLMN-ODB', Opts) -> + avp(T, Data, 'HPLMN-ODB', Opts, diameter_3gpp_ts29_272); +avp(T, Data, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + Opts) -> + avp(T, + Data, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'ICS-Indicator', Opts) -> + avp(T, + Data, + 'ICS-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'IDA-Flags', Opts) -> + avp(T, Data, 'IDA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IDR-Flags', Opts) -> + avp(T, Data, 'IDR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IMEI', Opts) -> + avp(T, Data, 'IMEI', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IMS-Voice-Over-PS-Sessions-Supported', + Opts) -> + avp(T, + Data, + 'IMS-Voice-Over-PS-Sessions-Supported', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Immediate-Response-Preferred', Opts) -> + avp(T, + Data, + 'Immediate-Response-Preferred', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Item-Number', Opts) -> + avp(T, + Data, + 'Item-Number', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Job-Type', Opts) -> + avp(T, Data, 'Job-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'KASME', Opts) -> + avp(T, Data, 'KASME', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Kc', Opts) -> + avp(T, Data, 'Kc', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'LCS-Info', Opts) -> + grouped_avp(T, 'LCS-Info', Data, Opts); +avp(T, Data, 'LCS-PrivacyException', Opts) -> + grouped_avp(T, 'LCS-PrivacyException', Data, Opts); +avp(T, Data, 'LIPA-Permission', Opts) -> + avp(T, + Data, + 'LIPA-Permission', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Last-UE-Activity-Time', Opts) -> + avp(T, + Data, + 'Last-UE-Activity-Time', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'List-Of-Measurements', Opts) -> + avp(T, + Data, + 'List-Of-Measurements', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Local-Time-Zone', Opts) -> + grouped_avp(T, 'Local-Time-Zone', Data, Opts); +avp(T, Data, 'Location-Area-Identity', Opts) -> + avp(T, + Data, + 'Location-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Logging-Duration', Opts) -> + avp(T, + Data, + 'Logging-Duration', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Logging-Interval', Opts) -> + avp(T, + Data, + 'Logging-Interval', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MDT-Configuration', Opts) -> + grouped_avp(T, 'MDT-Configuration', Data, Opts); +avp(T, Data, 'MDT-User-Consent', Opts) -> + avp(T, + Data, + 'MDT-User-Consent', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MME-Location-Information', Opts) -> + grouped_avp(T, 'MME-Location-Information', Data, Opts); +avp(T, Data, 'MME-Number-for-MT-SMS', Opts) -> + avp(T, + Data, + 'MME-Number-for-MT-SMS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MME-User-State', Opts) -> + grouped_avp(T, 'MME-User-State', Data, Opts); +avp(T, Data, 'MO-LR', Opts) -> + grouped_avp(T, 'MO-LR', Data, Opts); +avp(T, Data, 'MPS-Priority', Opts) -> + avp(T, + Data, + 'MPS-Priority', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Period-LTE', Opts) -> + avp(T, + Data, + 'Measurement-Period-LTE', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Period-UMTS', Opts) -> + avp(T, + Data, + 'Measurement-Period-UMTS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Quantity', Opts) -> + avp(T, + Data, + 'Measurement-Quantity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'NOR-Flags', Opts) -> + avp(T, Data, 'NOR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Network-Access-Mode', Opts) -> + avp(T, + Data, + 'Network-Access-Mode', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Notification-To-UE-User', Opts) -> + avp(T, + Data, + 'Notification-To-UE-User', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Number-Of-Requested-Vectors', Opts) -> + avp(T, + Data, + 'Number-Of-Requested-Vectors', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'OMC-Id', Opts) -> + avp(T, Data, 'OMC-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Operator-Determined-Barring', Opts) -> + avp(T, + Data, + 'Operator-Determined-Barring', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PDN-GW-Allocation-Type', Opts) -> + avp(T, + Data, + 'PDN-GW-Allocation-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PDN-Type', Opts) -> + avp(T, Data, 'PDN-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PDP-Context', Opts) -> + grouped_avp(T, 'PDP-Context', Data, Opts); +avp(T, Data, 'PDP-Type', Opts) -> + avp(T, Data, 'PDP-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PLMN-Client', Opts) -> + avp(T, + Data, + 'PLMN-Client', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PUA-Flags', Opts) -> + avp(T, Data, 'PUA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PUR-Flags', Opts) -> + avp(T, Data, 'PUR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Positioning-Method', Opts) -> + avp(T, + Data, + 'Positioning-Method', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'QoS-Subscribed', Opts) -> + avp(T, + Data, + 'QoS-Subscribed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'RAND', Opts) -> + avp(T, Data, 'RAND', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'RAT-Frequency-Selection-Priority-ID', + Opts) -> + avp(T, + Data, + 'RAT-Frequency-Selection-Priority-ID', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Re-Synchronization-Info', Opts) -> + avp(T, + Data, + 'Re-Synchronization-Info', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Regional-Subscription-Zone-Code', Opts) -> + avp(T, + Data, + 'Regional-Subscription-Zone-Code', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Relay-Node-Indicator', Opts) -> + avp(T, + Data, + 'Relay-Node-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Report-Amount', Opts) -> + avp(T, + Data, + 'Report-Amount', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Report-Interval', Opts) -> + avp(T, + Data, + 'Report-Interval', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Reporting-Trigger', Opts) -> + avp(T, + Data, + 'Reporting-Trigger', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Requested-EUTRAN-Authentication-Info', + Opts) -> + grouped_avp(T, + 'Requested-EUTRAN-Authentication-Info', + Data, + Opts); +avp(T, Data, + 'Requested-UTRAN-GERAN-Authentication-Info', Opts) -> + grouped_avp(T, + 'Requested-UTRAN-GERAN-Authentication-Info', + Data, + Opts); +avp(T, Data, 'Restoration-Priority', Opts) -> + avp(T, + Data, + 'Restoration-Priority', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + Opts) -> + avp(T, + Data, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Routing-Area-Identity', Opts) -> + avp(T, + Data, + 'Routing-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SGSN-Location-Information', Opts) -> + grouped_avp(T, 'SGSN-Location-Information', Data, Opts); +avp(T, Data, 'SGSN-User-State', Opts) -> + grouped_avp(T, 'SGSN-User-State', Data, Opts); +avp(T, Data, 'SIPTO-Permission', Opts) -> + avp(T, + Data, + 'SIPTO-Permission', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SMS-Register-Request', Opts) -> + avp(T, + Data, + 'SMS-Register-Request', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SRES', Opts) -> + avp(T, Data, 'SRES', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'SS-Code', Opts) -> + avp(T, Data, 'SS-Code', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'SS-Status', Opts) -> + avp(T, Data, 'SS-Status', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'STN-SR', Opts) -> + avp(T, Data, 'STN-SR', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Service-Area-Identity', Opts) -> + avp(T, + Data, + 'Service-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Service-Type', Opts) -> + grouped_avp(T, 'Service-Type', Data, Opts); +avp(T, Data, 'ServiceTypeIdentity', Opts) -> + avp(T, + Data, + 'ServiceTypeIdentity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Software-Version', Opts) -> + avp(T, + Data, + 'Software-Version', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Specific-APN-Info', Opts) -> + grouped_avp(T, 'Specific-APN-Info', Data, Opts); +avp(T, Data, 'Subscribed-Periodic-RAU-TAU-Timer', + Opts) -> + avp(T, + Data, + 'Subscribed-Periodic-RAU-TAU-Timer', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscribed-VSRVCC', Opts) -> + avp(T, + Data, + 'Subscribed-VSRVCC', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscriber-Status', Opts) -> + avp(T, + Data, + 'Subscriber-Status', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscription-Data', Opts) -> + grouped_avp(T, 'Subscription-Data', Data, Opts); +avp(T, Data, 'Subscription-Data-Flags', Opts) -> + avp(T, + Data, + 'Subscription-Data-Flags', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'TS-Code', Opts) -> + avp(T, Data, 'TS-Code', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Teleservice-List', Opts) -> + grouped_avp(T, 'Teleservice-List', Data, Opts); +avp(T, Data, 'Terminal-Information', Opts) -> + grouped_avp(T, 'Terminal-Information', Data, Opts); +avp(T, Data, 'Time-Zone', Opts) -> + avp(T, Data, 'Time-Zone', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Collection-Entity', Opts) -> + avp(T, + Data, + 'Trace-Collection-Entity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Data', Opts) -> + grouped_avp(T, 'Trace-Data', Data, Opts); +avp(T, Data, 'Trace-Depth', Opts) -> + avp(T, + Data, + 'Trace-Depth', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Event-List', Opts) -> + avp(T, + Data, + 'Trace-Event-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Interface-List', Opts) -> + avp(T, + Data, + 'Trace-Interface-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-NE-Type-List', Opts) -> + avp(T, + Data, + 'Trace-NE-Type-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Reference', Opts) -> + avp(T, + Data, + 'Trace-Reference', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Tracking-Area-Identity', Opts) -> + avp(T, + Data, + 'Tracking-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'UE-SRVCC-Capability', Opts) -> + avp(T, + Data, + 'UE-SRVCC-Capability', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'UE-Usage-Type', Opts) -> + avp(T, + Data, + 'UE-Usage-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'ULA-Flags', Opts) -> + avp(T, Data, 'ULA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'ULR-Flags', Opts) -> + avp(T, Data, 'ULR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'UTRAN-Vector', Opts) -> + grouped_avp(T, 'UTRAN-Vector', Data, Opts); +avp(T, Data, 'UVA-Flags', Opts) -> + avp(T, Data, 'UVA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'UVR-Flags', Opts) -> + avp(T, Data, 'UVR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'User-Id', Opts) -> + avp(T, Data, 'User-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'User-State', Opts) -> + avp(T, + Data, + 'User-State', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'VPLMN-CSG-Subscription-Data', Opts) -> + grouped_avp(T, + 'VPLMN-CSG-Subscription-Data', + Data, + Opts); +avp(T, Data, 'VPLMN-Dynamic-Address-Allowed', Opts) -> + avp(T, + Data, + 'VPLMN-Dynamic-Address-Allowed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'VPLMN-LIPA-Allowed', Opts) -> + avp(T, + Data, + 'VPLMN-LIPA-Allowed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Visited-PLMN-Id', Opts) -> + avp(T, + Data, + 'Visited-PLMN-Id', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'XRES', Opts) -> + avp(T, Data, 'XRES', Opts, diameter_3gpp_ts29_272); +avp(T, Data, '3GPP-AAA-Server-Name', Opts) -> + avp(T, + Data, + '3GPP-AAA-Server-Name', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'AAA-Failure-Indication', Opts) -> + avp(T, + Data, + 'AAA-Failure-Indication', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'AAR-Flags', Opts) -> + avp(T, Data, 'AAR-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'AN-Trusted', Opts) -> + avp(T, + Data, + 'AN-Trusted', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'ANID', Opts) -> + avp(T, Data, 'ANID', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'Access-Authorization-Flags', Opts) -> + avp(T, + Data, + 'Access-Authorization-Flags', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Access-Network-Info', Opts) -> + grouped_avp(T, 'Access-Network-Info', Data, Opts); +avp(T, Data, 'Connectivity-Flags', Opts) -> + avp(T, + Data, + 'Connectivity-Flags', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'DEA-Flags', Opts) -> + avp(T, Data, 'DEA-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'DER-Flags', Opts) -> + avp(T, Data, 'DER-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'DER-S6b-Flags', Opts) -> + avp(T, + Data, + 'DER-S6b-Flags', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'ERP-Authorization', Opts) -> + avp(T, + Data, + 'ERP-Authorization', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Emergency-Services', Opts) -> + avp(T, + Data, + 'Emergency-Services', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Full-Network-Name', Opts) -> + avp(T, + Data, + 'Full-Network-Name', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'HESSID', Opts) -> + avp(T, Data, 'HESSID', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'IMEI-Check-In-VPLMN-Result', Opts) -> + avp(T, + Data, + 'IMEI-Check-In-VPLMN-Result', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'MIP-FA-RK', Opts) -> + avp(T, Data, 'MIP-FA-RK', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'MIP-FA-RK-SPI', Opts) -> + avp(T, + Data, + 'MIP-FA-RK-SPI', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'MIP6-Feature-Vector', Opts) -> + avp(T, + Data, + 'MIP6-Feature-Vector', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Maximum-Wait-Time', Opts) -> + avp(T, + Data, + 'Maximum-Wait-Time', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Mobile-Node-Identifier', Opts) -> + avp(T, + Data, + 'Mobile-Node-Identifier', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Non-3GPP-IP-Access', Opts) -> + avp(T, + Data, + 'Non-3GPP-IP-Access', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Non-3GPP-IP-Access-APN', Opts) -> + avp(T, + Data, + 'Non-3GPP-IP-Access-APN', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Non-3GPP-User-Data', Opts) -> + grouped_avp(T, 'Non-3GPP-User-Data', Data, Opts); +avp(T, Data, 'Origination-Time-Stamp', Opts) -> + avp(T, + Data, + 'Origination-Time-Stamp', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'PPR-Flags', Opts) -> + avp(T, Data, 'PPR-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'RAR-Flags', Opts) -> + avp(T, Data, 'RAR-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'SM-Back-Off-Timer', Opts) -> + avp(T, + Data, + 'SM-Back-Off-Timer', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'SSID', Opts) -> + avp(T, Data, 'SSID', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'Short-Network-Name', Opts) -> + avp(T, + Data, + 'Short-Network-Name', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAG-CP-Address', Opts) -> + avp(T, + Data, + 'TWAG-CP-Address', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAG-UP-Address', Opts) -> + avp(T, + Data, + 'TWAG-UP-Address', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-Access-Info', Opts) -> + grouped_avp(T, 'TWAN-Access-Info', Data, Opts); +avp(T, Data, 'TWAN-Connection-Mode', Opts) -> + avp(T, + Data, + 'TWAN-Connection-Mode', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-Connectivity-Parameters', Opts) -> + grouped_avp(T, + 'TWAN-Connectivity-Parameters', + Data, + Opts); +avp(T, Data, 'TWAN-Default-APN-Context-Id', Opts) -> + avp(T, + Data, + 'TWAN-Default-APN-Context-Id', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-PCO', Opts) -> + avp(T, Data, 'TWAN-PCO', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-S2a-Failure-Cause', Opts) -> + avp(T, + Data, + 'TWAN-S2a-Failure-Cause', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Trace-Info', Opts) -> + grouped_avp(T, 'Trace-Info', Data, Opts); +avp(T, Data, 'Transport-Access-Type', Opts) -> + avp(T, + Data, + 'Transport-Access-Type', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'WLAN-Identifier', Opts) -> + grouped_avp(T, 'WLAN-Identifier', Data, Opts); +avp(T, Data, 'WLCP-Key', Opts) -> + avp(T, Data, 'WLCP-Key', Opts, diameter_3gpp_ts29_273); +avp(T, Data, '3GPP-PS-Data-Off-Status', Opts) -> + avp(T, + Data, + '3GPP-PS-Data-Off-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AF-Correlation-Information', Opts) -> + grouped_avp(T, + 'AF-Correlation-Information', + Data, + Opts); +avp(T, Data, 'APN-Rate-Control', Opts) -> + grouped_avp(T, 'APN-Rate-Control', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Downlink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Downlink', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Uplink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Uplink', Data, Opts); +avp(T, Data, 'Access-Network-Info-Change', Opts) -> + grouped_avp(T, + 'Access-Network-Info-Change', + Data, + Opts); +avp(T, Data, 'Access-Network-Information', Opts) -> + avp(T, + Data, + 'Access-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Access-Transfer-Information', Opts) -> + grouped_avp(T, + 'Access-Transfer-Information', + Data, + Opts); +avp(T, Data, 'Access-Transfer-Type', Opts) -> + avp(T, + Data, + 'Access-Transfer-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Account-Expiration', Opts) -> + avp(T, + Data, + 'Account-Expiration', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Accumulated-Cost', Opts) -> + grouped_avp(T, 'Accumulated-Cost', Data, Opts); +avp(T, Data, 'Adaptations', Opts) -> + avp(T, + Data, + 'Adaptations', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Content-Information', Opts) -> + grouped_avp(T, + 'Additional-Content-Information', + Data, + Opts); +avp(T, Data, 'Additional-Exception-Reports', Opts) -> + avp(T, + Data, + 'Additional-Exception-Reports', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Type-Information', Opts) -> + avp(T, + Data, + 'Additional-Type-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Data', Opts) -> + avp(T, + Data, + 'Address-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Domain', Opts) -> + grouped_avp(T, 'Address-Domain', Data, Opts); +avp(T, Data, 'Address-Type', Opts) -> + avp(T, + Data, + 'Address-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Addressee-Type', Opts) -> + avp(T, + Data, + 'Addressee-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Alternate-Charged-Party-Address', Opts) -> + avp(T, + Data, + 'Alternate-Charged-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Identifier', Opts) -> + avp(T, + Data, + 'Announcement-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Information', Opts) -> + grouped_avp(T, 'Announcement-Information', Data, Opts); +avp(T, Data, 'Announcement-Order', Opts) -> + avp(T, + Data, + 'Announcement-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-PLMN-ID', Opts) -> + avp(T, + Data, + 'Announcing-PLMN-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Cost-Information', Opts) -> + grouped_avp(T, 'AoC-Cost-Information', Data, Opts); +avp(T, Data, 'AoC-Format', Opts) -> + avp(T, + Data, + 'AoC-Format', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Information', Opts) -> + grouped_avp(T, 'AoC-Information', Data, Opts); +avp(T, Data, 'AoC-Request-Type', Opts) -> + avp(T, + Data, + 'AoC-Request-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service', Opts) -> + grouped_avp(T, 'AoC-Service', Data, Opts); +avp(T, Data, 'AoC-Service-Obligatory-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Obligatory-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Subscription-Information', Opts) -> + grouped_avp(T, + 'AoC-Subscription-Information', + Data, + Opts); +avp(T, Data, 'Applic-ID', Opts) -> + avp(T, Data, 'Applic-ID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, + 'Application-Provided-Called-Party-Address', Opts) -> + avp(T, + Data, + 'Application-Provided-Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server', Opts) -> + avp(T, + Data, + 'Application-Server', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server-Information', Opts) -> + grouped_avp(T, + 'Application-Server-Information', + Data, + Opts); +avp(T, Data, 'Application-Specific-Data', Opts) -> + avp(T, + Data, + 'Application-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-Party-Address', Opts) -> + avp(T, + Data, + 'Associated-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-URI', Opts) -> + avp(T, + Data, + 'Associated-URI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Authorised-QoS', Opts) -> + avp(T, + Data, + 'Authorised-QoS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Aux-Applic-Info', Opts) -> + avp(T, + Data, + 'Aux-Applic-Info', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'BSSID', Opts) -> + avp(T, Data, 'BSSID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Base-Time-Interval', Opts) -> + avp(T, + Data, + 'Base-Time-Interval', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Basic-Service-Code', Opts) -> + grouped_avp(T, 'Basic-Service-Code', Data, Opts); +avp(T, Data, 'Bearer-Capability', Opts) -> + avp(T, + Data, + 'Bearer-Capability', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Bearer-Service', Opts) -> + avp(T, + Data, + 'Bearer-Service', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CG-Address', Opts) -> + avp(T, + Data, + 'CG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CN-Operator-Selection-Entity', Opts) -> + avp(T, + Data, + 'CN-Operator-Selection-Entity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CP-CIoT-EPS-Optimisation-Indicator', + Opts) -> + avp(T, + Data, + 'CP-CIoT-EPS-Optimisation-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CPDT-Information', Opts) -> + grouped_avp(T, 'CPDT-Information', Data, Opts); +avp(T, Data, 'CSG-Access-Mode', Opts) -> + avp(T, + Data, + 'CSG-Access-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CSG-Membership-Indication', Opts) -> + avp(T, + Data, + 'CSG-Membership-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CUG-Information', Opts) -> + avp(T, + Data, + 'CUG-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Asserted-Identity', Opts) -> + avp(T, + Data, + 'Called-Asserted-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity', Opts) -> + avp(T, + Data, + 'Called-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity-Change', Opts) -> + grouped_avp(T, 'Called-Identity-Change', Data, Opts); +avp(T, Data, 'Called-Party-Address', Opts) -> + avp(T, + Data, + 'Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Calling-Party-Address', Opts) -> + avp(T, + Data, + 'Calling-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Carrier-Select-Routing-Information', + Opts) -> + avp(T, + Data, + 'Carrier-Select-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cause-Code', Opts) -> + avp(T, + Data, + 'Cause-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cellular-Network-Information', Opts) -> + avp(T, + Data, + 'Cellular-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Condition', Opts) -> + avp(T, + Data, + 'Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Time', Opts) -> + avp(T, + Data, + 'Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charge-Reason-Code', Opts) -> + avp(T, + Data, + 'Charge-Reason-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charged-Party', Opts) -> + avp(T, + Data, + 'Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Characteristics-Selection-Mode', + Opts) -> + avp(T, + Data, + 'Charging-Characteristics-Selection-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Per-IP-CAN-Session-Indicator', + Opts) -> + avp(T, + Data, + 'Charging-Per-IP-CAN-Session-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Class-Identifier', Opts) -> + avp(T, + Data, + 'Class-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Client-Address', Opts) -> + avp(T, + Data, + 'Client-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Class', Opts) -> + avp(T, + Data, + 'Content-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Disposition', Opts) -> + avp(T, + Data, + 'Content-Disposition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Length', Opts) -> + avp(T, + Data, + 'Content-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Size', Opts) -> + avp(T, + Data, + 'Content-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Type', Opts) -> + avp(T, + Data, + 'Content-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Coverage-Info', Opts) -> + grouped_avp(T, 'Coverage-Info', Data, Opts); +avp(T, Data, 'Coverage-Status', Opts) -> + avp(T, + Data, + 'Coverage-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Current-Tariff', Opts) -> + grouped_avp(T, 'Current-Tariff', Data, Opts); +avp(T, Data, 'DRM-Content', Opts) -> + avp(T, + Data, + 'DRM-Content', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Deferred-Location-Event-Type', Opts) -> + avp(T, + Data, + 'Deferred-Location-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Delivery-Report-Requested', Opts) -> + avp(T, + Data, + 'Delivery-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Destination-Interface', Opts) -> + grouped_avp(T, 'Destination-Interface', Data, Opts); +avp(T, Data, 'Diagnostics', Opts) -> + avp(T, + Data, + 'Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Domain-Name', Opts) -> + avp(T, + Data, + 'Domain-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag-Extension', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag-Extension', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'EPDG-Address', Opts) -> + avp(T, + Data, + 'EPDG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Early-Media-Description', Opts) -> + grouped_avp(T, 'Early-Media-Description', Data, Opts); +avp(T, Data, 'Enhanced-Diagnostics', Opts) -> + grouped_avp(T, 'Enhanced-Diagnostics', Data, Opts); +avp(T, Data, 'Envelope', Opts) -> + grouped_avp(T, 'Envelope', Data, Opts); +avp(T, Data, 'Envelope-End-Time', Opts) -> + avp(T, + Data, + 'Envelope-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Reporting', Opts) -> + avp(T, + Data, + 'Envelope-Reporting', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Start-Time', Opts) -> + avp(T, + Data, + 'Envelope-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event', Opts) -> + avp(T, Data, 'Event', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Charging-TimeStamp', Opts) -> + avp(T, + Data, + 'Event-Charging-TimeStamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Type', Opts) -> + grouped_avp(T, 'Event-Type', Data, Opts); +avp(T, Data, 'Expires', Opts) -> + avp(T, Data, 'Expires', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'FE-Identifier-List', Opts) -> + avp(T, + Data, + 'FE-Identifier-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'File-Repair-Supported', Opts) -> + avp(T, + Data, + 'File-Repair-Supported', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Forwarding-Pending', Opts) -> + avp(T, + Data, + 'Forwarding-Pending', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'From-Address', Opts) -> + avp(T, + Data, + 'From-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'GGSN-Address', Opts) -> + avp(T, + Data, + 'GGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Application-Reference-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Application-Reference-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Communication-Service-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Communication-Service-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Emergency-Indicator', Opts) -> + avp(T, + Data, + 'IMS-Emergency-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Information', Opts) -> + grouped_avp(T, 'IMS-Information', Data, Opts); +avp(T, Data, 'IMS-Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Visited-Network-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMSI-Unauthenticated-Flag', Opts) -> + avp(T, + Data, + 'IMSI-Unauthenticated-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IP-Realm-Default-Indication', Opts) -> + avp(T, + Data, + 'IP-Realm-Default-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause', Opts) -> + grouped_avp(T, 'ISUP-Cause', Data, Opts); +avp(T, Data, 'ISUP-Cause-Diagnostics', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Location', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Location', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Value', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Location-Number', Opts) -> + avp(T, + Data, + 'ISUP-Location-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incoming-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Incoming-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incremental-Cost', Opts) -> + grouped_avp(T, 'Incremental-Cost', Data, Opts); +avp(T, Data, 'Initial-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Initial-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Instance-Id', Opts) -> + avp(T, + Data, + 'Instance-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Inter-Operator-Identifier', Opts) -> + grouped_avp(T, 'Inter-Operator-Identifier', Data, Opts); +avp(T, Data, 'Inter-UE-Transfer', Opts) -> + avp(T, + Data, + 'Inter-UE-Transfer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Id', Opts) -> + avp(T, + Data, + 'Interface-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Port', Opts) -> + avp(T, + Data, + 'Interface-Port', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Text', Opts) -> + avp(T, + Data, + 'Interface-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Type', Opts) -> + avp(T, + Data, + 'Interface-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-APN', Opts) -> + avp(T, Data, 'LCS-APN', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-Dialed-By-MS', Opts) -> + avp(T, + Data, + 'LCS-Client-Dialed-By-MS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-External-ID', Opts) -> + avp(T, + Data, + 'LCS-Client-External-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-ID', Opts) -> + grouped_avp(T, 'LCS-Client-ID', Data, Opts); +avp(T, Data, 'LCS-Client-Name', Opts) -> + grouped_avp(T, 'LCS-Client-Name', Data, Opts); +avp(T, Data, 'LCS-Client-Type', Opts) -> + avp(T, + Data, + 'LCS-Client-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'LCS-Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Format-Indicator', Opts) -> + avp(T, + Data, + 'LCS-Format-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Information', Opts) -> + grouped_avp(T, 'LCS-Information', Data, Opts); +avp(T, Data, 'LCS-Name-String', Opts) -> + avp(T, + Data, + 'LCS-Name-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Requestor-ID', Opts) -> + grouped_avp(T, 'LCS-Requestor-ID', Data, Opts); +avp(T, Data, 'LCS-Requestor-ID-String', Opts) -> + avp(T, + Data, + 'LCS-Requestor-ID-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Language', Opts) -> + avp(T, Data, 'Language', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Layer-2-Group-ID', Opts) -> + avp(T, + Data, + 'Layer-2-Group-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-GW-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Local-GW-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-Sequence-Number', Opts) -> + avp(T, + Data, + 'Local-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate', Opts) -> + avp(T, + Data, + 'Location-Estimate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate-Type', Opts) -> + avp(T, + Data, + 'Location-Estimate-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Info', Opts) -> + grouped_avp(T, 'Location-Info', Data, Opts); +avp(T, Data, 'Location-Type', Opts) -> + grouped_avp(T, 'Location-Type', Data, Opts); +avp(T, Data, 'Low-Balance-Indication', Opts) -> + avp(T, + Data, + 'Low-Balance-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Low-Priority-Indicator', Opts) -> + avp(T, + Data, + 'Low-Priority-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Charged-Party', Opts) -> + avp(T, + Data, + 'MBMS-Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-GW-Address', Opts) -> + avp(T, + Data, + 'MBMS-GW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Information', Opts) -> + grouped_avp(T, 'MBMS-Information', Data, Opts); +avp(T, Data, 'MBMS-User-Service-Type', Opts) -> + avp(T, + Data, + 'MBMS-User-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MM-Content-Type', Opts) -> + grouped_avp(T, 'MM-Content-Type', Data, Opts); +avp(T, Data, 'MMBox-Storage-Requested', Opts) -> + avp(T, + Data, + 'MMBox-Storage-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MMS-Information', Opts) -> + grouped_avp(T, 'MMS-Information', Data, Opts); +avp(T, Data, 'MMTel-Information', Opts) -> + grouped_avp(T, 'MMTel-Information', Data, Opts); +avp(T, Data, 'MMTel-SService-Type', Opts) -> + avp(T, + Data, + 'MMTel-SService-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MSC-Address', Opts) -> + avp(T, + Data, + 'MSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MTC-IWF-Address', Opts) -> + avp(T, + Data, + 'MTC-IWF-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Flag', Opts) -> + avp(T, + Data, + 'Media-Initiator-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Party', Opts) -> + avp(T, + Data, + 'Media-Initiator-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Body', Opts) -> + grouped_avp(T, 'Message-Body', Data, Opts); +avp(T, Data, 'Message-Class', Opts) -> + grouped_avp(T, 'Message-Class', Data, Opts); +avp(T, Data, 'Message-ID', Opts) -> + avp(T, + Data, + 'Message-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Size', Opts) -> + avp(T, + Data, + 'Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Type', Opts) -> + avp(T, + Data, + 'Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitored-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitored-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Configuration-Activity', + Opts) -> + avp(T, + Data, + 'Monitoring-Event-Configuration-Activity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Functionality', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Information', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Information', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Data', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Report-Data', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Number', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Report-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'NIDD-Submission', Opts) -> + grouped_avp(T, 'NIDD-Submission', Data, Opts); +avp(T, Data, 'NNI-Information', Opts) -> + grouped_avp(T, 'NNI-Information', Data, Opts); +avp(T, Data, 'NNI-Type', Opts) -> + avp(T, Data, 'NNI-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Neighbour-Node-Address', Opts) -> + avp(T, + Data, + 'Neighbour-Node-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Network-Call-Reference-Number', Opts) -> + avp(T, + Data, + 'Network-Call-Reference-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Next-Tariff', Opts) -> + grouped_avp(T, 'Next-Tariff', Data, Opts); +avp(T, Data, 'Node-Functionality', Opts) -> + avp(T, + Data, + 'Node-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Node-Id', Opts) -> + avp(T, Data, 'Node-Id', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Diversions', Opts) -> + avp(T, + Data, + 'Number-Of-Diversions', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Messages-Sent', Opts) -> + avp(T, + Data, + 'Number-Of-Messages-Sent', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Participants', Opts) -> + avp(T, + Data, + 'Number-Of-Participants', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Received-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Received-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Portability-Routing-Information', + Opts) -> + avp(T, + Data, + 'Number-Portability-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Offline-Charging', Opts) -> + grouped_avp(T, 'Offline-Charging', Data, Opts); +avp(T, Data, 'Online-Charging-Flag', Opts) -> + avp(T, + Data, + 'Online-Charging-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originating-IOI', Opts) -> + avp(T, + Data, + 'Originating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator', Opts) -> + avp(T, + Data, + 'Originator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator-Address', Opts) -> + grouped_avp(T, 'Originator-Address', Data, Opts); +avp(T, Data, 'Originator-Interface', Opts) -> + grouped_avp(T, 'Originator-Interface', Data, Opts); +avp(T, Data, 'Originator-Received-Address', Opts) -> + grouped_avp(T, + 'Originator-Received-Address', + Data, + Opts); +avp(T, Data, 'Originator-SCCP-Address', Opts) -> + avp(T, + Data, + 'Originator-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Session-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-EPC-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-EPC-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC5-Radio-Technology', Opts) -> + avp(T, + Data, + 'PC5-Radio-Technology', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDN-Connection-Charging-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-Charging-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address', Opts) -> + avp(T, + Data, + 'PDP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address-Prefix-Length', Opts) -> + avp(T, + Data, + 'PDP-Address-Prefix-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Context-Type', Opts) -> + avp(T, + Data, + 'PDP-Context-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Append-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Append-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Furnish-Charging-Information', Opts) -> + grouped_avp(T, + 'PS-Furnish-Charging-Information', + Data, + Opts); +avp(T, Data, 'PS-Information', Opts) -> + grouped_avp(T, 'PS-Information', Data, Opts); +avp(T, Data, 'Participant-Access-Priority', Opts) -> + avp(T, + Data, + 'Participant-Access-Priority', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Action-Type', Opts) -> + avp(T, + Data, + 'Participant-Action-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Group', Opts) -> + grouped_avp(T, 'Participant-Group', Data, Opts); +avp(T, Data, 'Participants-Involved', Opts) -> + avp(T, + Data, + 'Participants-Involved', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Play-Alternative', Opts) -> + avp(T, + Data, + 'Play-Alternative', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Condition', Opts) -> + avp(T, + Data, + 'PoC-Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Time', Opts) -> + avp(T, + Data, + 'PoC-Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Controlling-Address', Opts) -> + avp(T, + Data, + 'PoC-Controlling-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Event-Type', Opts) -> + avp(T, + Data, + 'PoC-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Group-Name', Opts) -> + avp(T, + Data, + 'PoC-Group-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Information', Opts) -> + grouped_avp(T, 'PoC-Information', Data, Opts); +avp(T, Data, 'PoC-Server-Role', Opts) -> + avp(T, + Data, + 'PoC-Server-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Id', Opts) -> + avp(T, + Data, + 'PoC-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Initiation-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Initiation-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role', Opts) -> + grouped_avp(T, 'PoC-User-Role', Data, Opts); +avp(T, Data, 'PoC-User-Role-IDs', Opts) -> + avp(T, + Data, + 'PoC-User-Role-IDs', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role-Info-Units', Opts) -> + avp(T, + Data, + 'PoC-User-Role-Info-Units', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Positioning-Data', Opts) -> + avp(T, + Data, + 'Positioning-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Preferred-AoC-Currency', Opts) -> + avp(T, + Data, + 'Preferred-AoC-Currency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Priority', Opts) -> + avp(T, Data, 'Priority', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Privacy-Indicator', Opts) -> + avp(T, + Data, + 'Privacy-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-3rd-Party-Application-ID', Opts) -> + avp(T, + Data, + 'ProSe-3rd-Party-Application-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, + 'ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Reception-Data-Container', + Data, + Opts); +avp(T, Data, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Data, + Opts); +avp(T, Data, 'ProSe-Direct-Discovery-Model', Opts) -> + avp(T, + Data, + 'ProSe-Direct-Discovery-Model', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Event-Type', Opts) -> + avp(T, + Data, + 'ProSe-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Function-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'ProSe-Function-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Functionality', Opts) -> + avp(T, + Data, + 'ProSe-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Group-IP-Multicast-Address', + Opts) -> + avp(T, + Data, + 'ProSe-Group-IP-Multicast-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Information', Opts) -> + grouped_avp(T, 'ProSe-Information', Data, Opts); +avp(T, Data, 'ProSe-Range-Class', Opts) -> + avp(T, + Data, + 'ProSe-Range-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Reason-For-Cancellation', Opts) -> + avp(T, + Data, + 'ProSe-Reason-For-Cancellation', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Request-Timestamp', Opts) -> + avp(T, + Data, + 'ProSe-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Role-Of-UE', Opts) -> + avp(T, + Data, + 'ProSe-Role-Of-UE', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Source-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Source-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Target-Layer-2-ID', Opts) -> + avp(T, + Data, + 'ProSe-Target-Layer-2-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-to-Network-Relay-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-to-Network-Relay-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Indication', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Timestamp', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Cancellation-Timestamp', + Opts) -> + avp(T, + Data, + 'Proximity-Cancellation-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Consumption-Time', Opts) -> + avp(T, + Data, + 'Quota-Consumption-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Holding-Time', Opts) -> + avp(T, + Data, + 'Quota-Holding-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Indicator', Opts) -> + avp(T, + Data, + 'Quota-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-End-Time', Opts) -> + avp(T, + Data, + 'RAN-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-Secondary-RAT-Usage-Report', Opts) -> + grouped_avp(T, + 'RAN-Secondary-RAT-Usage-Report', + Data, + Opts); +avp(T, Data, 'RAN-Start-Time', Opts) -> + avp(T, + Data, + 'RAN-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Frequency', Opts) -> + avp(T, + Data, + 'Radio-Frequency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Parameter-Set-Info', Opts) -> + grouped_avp(T, 'Radio-Parameter-Set-Info', Data, Opts); +avp(T, Data, 'Radio-Parameter-Set-Values', Opts) -> + avp(T, + Data, + 'Radio-Parameter-Set-Values', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Resources-Indicator', Opts) -> + avp(T, + Data, + 'Radio-Resources-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Message-Size', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Rate', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Rate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Time-Unit', Opts) -> + avp(T, + Data, + 'Rate-Control-Time-Unit', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Element', Opts) -> + grouped_avp(T, 'Rate-Element', Data, Opts); +avp(T, Data, 'Read-Reply-Report-Requested', Opts) -> + avp(T, + Data, + 'Read-Reply-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Real-Time-Tariff-Information', Opts) -> + grouped_avp(T, + 'Real-Time-Tariff-Information', + Data, + Opts); +avp(T, Data, 'Reason-Header', Opts) -> + avp(T, + Data, + 'Reason-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Recipient-Address', Opts) -> + grouped_avp(T, 'Recipient-Address', Data, Opts); +avp(T, Data, 'Recipient-Info', Opts) -> + grouped_avp(T, 'Recipient-Info', Data, Opts); +avp(T, Data, 'Recipient-Received-Address', Opts) -> + grouped_avp(T, + 'Recipient-Received-Address', + Data, + Opts); +avp(T, Data, 'Recipient-SCCP-Address', Opts) -> + avp(T, + Data, + 'Recipient-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Refund-Information', Opts) -> + avp(T, + Data, + 'Refund-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Change-Condition-Information', + Opts) -> + grouped_avp(T, + 'Related-Change-Condition-Information', + Data, + Opts); +avp(T, Data, 'Related-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-IMS-Charging-Identifier-Node', + Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Trigger', Opts) -> + grouped_avp(T, 'Related-Trigger', Data, Opts); +avp(T, Data, 'Relationship-Mode', Opts) -> + avp(T, + Data, + 'Relationship-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Relay-IP-address', Opts) -> + avp(T, + Data, + 'Relay-IP-address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Remaining-Balance', Opts) -> + grouped_avp(T, 'Remaining-Balance', Data, Opts); +avp(T, Data, 'Reply-Applic-ID', Opts) -> + avp(T, + Data, + 'Reply-Applic-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reply-Path-Requested', Opts) -> + avp(T, + Data, + 'Reply-Path-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reporting-Reason', Opts) -> + avp(T, + Data, + 'Reporting-Reason', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requested-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-Party-Address', Opts) -> + avp(T, + Data, + 'Requested-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requestor-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requestor-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-Node', Opts) -> + avp(T, + Data, + 'Role-Of-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-ProSe-Function', Opts) -> + avp(T, + Data, + 'Role-Of-ProSe-Function', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Received', Opts) -> + avp(T, + Data, + 'Route-Header-Received', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Transmitted', Opts) -> + avp(T, + Data, + 'Route-Header-Transmitted', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-AS-Address', Opts) -> + grouped_avp(T, 'SCS-AS-Address', Data, Opts); +avp(T, Data, 'SCS-Address', Opts) -> + avp(T, + Data, + 'SCS-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-Realm', Opts) -> + avp(T, Data, 'SCS-Realm', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Answer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Answer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Component', Opts) -> + grouped_avp(T, 'SDP-Media-Component', Data, Opts); +avp(T, Data, 'SDP-Media-Description', Opts) -> + avp(T, + Data, + 'SDP-Media-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Name', Opts) -> + avp(T, + Data, + 'SDP-Media-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Offer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Offer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Session-Description', Opts) -> + avp(T, + Data, + 'SDP-Session-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-TimeStamps', Opts) -> + grouped_avp(T, 'SDP-TimeStamps', Data, Opts); +avp(T, Data, 'SDP-Type', Opts) -> + avp(T, Data, 'SDP-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SGSN-Address', Opts) -> + avp(T, + Data, + 'SGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Address', Opts) -> + avp(T, + Data, + 'SGW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Change', Opts) -> + avp(T, + Data, + 'SGW-Change', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGi-PtP-Tunnelling-Method', Opts) -> + avp(T, + Data, + 'SGi-PtP-Tunnelling-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Method', Opts) -> + avp(T, + Data, + 'SIP-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Indicator', Opts) -> + avp(T, + Data, + 'SM-Device-Trigger-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Information', Opts) -> + grouped_avp(T, + 'SM-Device-Trigger-Information', + Data, + Opts); +avp(T, Data, 'SM-Discharge-Time', Opts) -> + avp(T, + Data, + 'SM-Discharge-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Message-Type', Opts) -> + avp(T, + Data, + 'SM-Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Protocol-ID', Opts) -> + avp(T, + Data, + 'SM-Protocol-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Sequence-Number', Opts) -> + avp(T, + Data, + 'SM-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Service-Type', Opts) -> + avp(T, + Data, + 'SM-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Status', Opts) -> + avp(T, Data, 'SM-Status', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SM-User-Data-Header', Opts) -> + avp(T, + Data, + 'SM-User-Data-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Information', Opts) -> + grouped_avp(T, 'SMS-Information', Data, Opts); +avp(T, Data, 'SMS-Node', Opts) -> + avp(T, Data, 'SMS-Node', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Result', Opts) -> + avp(T, + Data, + 'SMS-Result', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMSC-Address', Opts) -> + avp(T, + Data, + 'SMSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Scale-Factor', Opts) -> + grouped_avp(T, 'Scale-Factor', Data, Opts); +avp(T, Data, 'Secondary-RAT-Type', Opts) -> + avp(T, + Data, + 'Secondary-RAT-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Served-Party-IP-Address', Opts) -> + avp(T, + Data, + 'Served-Party-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Data-Container', Opts) -> + grouped_avp(T, 'Service-Data-Container', Data, Opts); +avp(T, Data, 'Service-Id', Opts) -> + avp(T, + Data, + 'Service-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Information', Opts) -> + grouped_avp(T, 'Service-Information', Data, Opts); +avp(T, Data, 'Service-Mode', Opts) -> + avp(T, + Data, + 'Service-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Data', Opts) -> + avp(T, + Data, + 'Service-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Info', Opts) -> + grouped_avp(T, 'Service-Specific-Info', Data, Opts); +avp(T, Data, 'Service-Specific-Type', Opts) -> + avp(T, + Data, + 'Service-Specific-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Identity', Opts) -> + avp(T, + Data, + 'Serving-Node-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Type', Opts) -> + avp(T, + Data, + 'Serving-Node-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Session-Direction', Opts) -> + avp(T, + Data, + 'Session-Direction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-Time', Opts) -> + avp(T, + Data, + 'Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-of-Charging', Opts) -> + avp(T, + Data, + 'Start-of-Charging', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Status-AS-Code', Opts) -> + avp(T, + Data, + 'Status-AS-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Stop-Time', Opts) -> + avp(T, Data, 'Stop-Time', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Submission-Time', Opts) -> + avp(T, + Data, + 'Submission-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Subscriber-Role', Opts) -> + avp(T, + Data, + 'Subscriber-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Supplementary-Service', Opts) -> + grouped_avp(T, 'Supplementary-Service', Data, Opts); +avp(T, Data, 'TAD-Identifier', Opts) -> + avp(T, + Data, + 'TAD-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAG-Address', Opts) -> + avp(T, + Data, + 'TWAG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'TWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Talk-Burst-Exchange', Opts) -> + grouped_avp(T, 'Talk-Burst-Exchange', Data, Opts); +avp(T, Data, 'Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Target-IP-Address', Opts) -> + avp(T, + Data, + 'Target-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Tariff-Information', Opts) -> + grouped_avp(T, 'Tariff-Information', Data, Opts); +avp(T, Data, 'Tariff-XML', Opts) -> + avp(T, + Data, + 'Tariff-XML', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Teleservice', Opts) -> + avp(T, + Data, + 'Teleservice', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Terminating-IOI', Opts) -> + avp(T, + Data, + 'Terminating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Reception', Opts) -> + avp(T, + Data, + 'Time-First-Reception', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Transmission', Opts) -> + avp(T, + Data, + 'Time-First-Transmission', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Usage', Opts) -> + avp(T, + Data, + 'Time-First-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Indicator', Opts) -> + avp(T, + Data, + 'Time-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Last-Usage', Opts) -> + avp(T, + Data, + 'Time-Last-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Mechanism', Opts) -> + grouped_avp(T, 'Time-Quota-Mechanism', Data, Opts); +avp(T, Data, 'Time-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Time-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Type', Opts) -> + avp(T, + Data, + 'Time-Quota-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Stamps', Opts) -> + grouped_avp(T, 'Time-Stamps', Data, Opts); +avp(T, Data, 'Time-Usage', Opts) -> + avp(T, + Data, + 'Time-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Token-Text', Opts) -> + avp(T, + Data, + 'Token-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Traffic-Data-Volumes', Opts) -> + grouped_avp(T, 'Traffic-Data-Volumes', Data, Opts); +avp(T, Data, 'Transcoder-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Transcoder-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transit-IOI-List', Opts) -> + avp(T, + Data, + 'Transit-IOI-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transmitter-Info', Opts) -> + grouped_avp(T, 'Transmitter-Info', Data, Opts); +avp(T, Data, 'Trigger', Opts) -> + grouped_avp(T, 'Trigger', Data, Opts); +avp(T, Data, 'Trigger-Type', Opts) -> + avp(T, + Data, + 'Trigger-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Trunk-Group-Id', Opts) -> + grouped_avp(T, 'Trunk-Group-Id', Data, Opts); +avp(T, Data, 'Type-Number', Opts) -> + avp(T, + Data, + 'Type-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UNI-PDU-CP-Only-Flag', Opts) -> + avp(T, + Data, + 'UNI-PDU-CP-Only-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'UWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Unit-Cost', Opts) -> + grouped_avp(T, 'Unit-Cost', Data, Opts); +avp(T, Data, 'Unit-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Unit-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Unused-Quota-Timer', Opts) -> + avp(T, + Data, + 'Unused-Quota-Timer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Usage-Information-Report-Sequence-Number', + Opts) -> + avp(T, + Data, + 'Usage-Information-Report-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-CSG-Information', Opts) -> + grouped_avp(T, 'User-CSG-Information', Data, Opts); +avp(T, Data, 'User-Participating-Type', Opts) -> + avp(T, + Data, + 'User-Participating-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-Session-Id', Opts) -> + avp(T, + Data, + 'User-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'VCS-Information', Opts) -> + grouped_avp(T, 'VCS-Information', Data, Opts); +avp(T, Data, 'VLR-Number', Opts) -> + avp(T, + Data, + 'VLR-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part', Opts) -> + grouped_avp(T, 'Variable-Part', Data, Opts); +avp(T, Data, 'Variable-Part-Order', Opts) -> + avp(T, + Data, + 'Variable-Part-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Type', Opts) -> + avp(T, + Data, + 'Variable-Part-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Value', Opts) -> + avp(T, + Data, + 'Variable-Part-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Volume-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Volume-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Realm', Opts) -> + avp(T, + Data, + 'Address-Realm', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Aggregation-Network-Type', Opts) -> + avp(T, + Data, + 'Aggregation-Network-Type', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Application-Class-ID', Opts) -> + avp(T, + Data, + 'Application-Class-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'IP-Connectivity-Status', Opts) -> + avp(T, + Data, + 'IP-Connectivity-Status', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Initial-Gate-Setting-ID', Opts) -> + avp(T, + Data, + 'Initial-Gate-Setting-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Logical-Access-ID', Opts) -> + avp(T, + Data, + 'Logical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-DL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-UL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Physical-Access-ID', Opts) -> + avp(T, + Data, + 'Physical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'QoS-Profile-ID', Opts) -> + avp(T, + Data, + 'QoS-Profile-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Transport-Class', Opts) -> + avp(T, + Data, + 'Transport-Class', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'MIP-Algorithm-Type', Opts) -> + avp(T, + Data, + 'MIP-Algorithm-Type', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Auth-Input-Data-Length', Opts) -> + avp(T, + Data, + 'MIP-Auth-Input-Data-Length', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Authenticator-Length', Opts) -> + avp(T, + Data, + 'MIP-Authenticator-Length', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Authenticator-Offset', Opts) -> + avp(T, + Data, + 'MIP-Authenticator-Offset', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Candidate-Home-Agent-Host', Opts) -> + avp(T, + Data, + 'MIP-Candidate-Home-Agent-Host', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-FA-Challenge', Opts) -> + avp(T, + Data, + 'MIP-FA-Challenge', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-FA-to-HA-MSA', Opts) -> + grouped_avp(T, 'MIP-FA-to-HA-MSA', Data, Opts); +avp(T, Data, 'MIP-FA-to-HA-SPI', Opts) -> + avp(T, + Data, + 'MIP-FA-to-HA-SPI', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-FA-to-MN-MSA', Opts) -> + grouped_avp(T, 'MIP-FA-to-MN-MSA', Data, Opts); +avp(T, Data, 'MIP-FA-to-MN-SPI', Opts) -> + avp(T, + Data, + 'MIP-FA-to-MN-SPI', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Feature-Vector', Opts) -> + avp(T, + Data, + 'MIP-Feature-Vector', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Filter-Rule', Opts) -> + avp(T, Data, 'MIP-Filter-Rule', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-HA-to-FA-MSA', Opts) -> + grouped_avp(T, 'MIP-HA-to-FA-MSA', Data, Opts); +avp(T, Data, 'MIP-HA-to-FA-SPI', Opts) -> + avp(T, + Data, + 'MIP-HA-to-FA-SPI', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-HA-to-MN-MSA', Opts) -> + grouped_avp(T, 'MIP-HA-to-MN-MSA', Data, Opts); +avp(T, Data, 'MIP-Home-Agent-Address', Opts) -> + avp(T, + Data, + 'MIP-Home-Agent-Address', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Home-Agent-Host', Opts) -> + grouped_avp(T, 'MIP-Home-Agent-Host', Data, Opts); +avp(T, Data, 'MIP-MN-AAA-Auth', Opts) -> + grouped_avp(T, 'MIP-MN-AAA-Auth', Data, Opts); +avp(T, Data, 'MIP-MN-AAA-SPI', Opts) -> + avp(T, Data, 'MIP-MN-AAA-SPI', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-MN-to-FA-MSA', Opts) -> + grouped_avp(T, 'MIP-MN-to-FA-MSA', Data, Opts); +avp(T, Data, 'MIP-MN-to-HA-MSA', Opts) -> + grouped_avp(T, 'MIP-MN-to-HA-MSA', Data, Opts); +avp(T, Data, 'MIP-MSA-Lifetime', Opts) -> + avp(T, + Data, + 'MIP-MSA-Lifetime', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Mobile-Node-Address', Opts) -> + avp(T, + Data, + 'MIP-Mobile-Node-Address', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Nonce', Opts) -> + avp(T, Data, 'MIP-Nonce', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Originating-Foreign-AAA', Opts) -> + grouped_avp(T, + 'MIP-Originating-Foreign-AAA', + Data, + Opts); +avp(T, Data, 'MIP-Reg-Reply', Opts) -> + avp(T, Data, 'MIP-Reg-Reply', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Reg-Request', Opts) -> + avp(T, Data, 'MIP-Reg-Request', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Replay-Mode', Opts) -> + avp(T, Data, 'MIP-Replay-Mode', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Session-Key', Opts) -> + avp(T, Data, 'MIP-Session-Key', Opts, diameter_rfc4004); +avp(T, Data, 'CC-Correlation-Id', Opts) -> + avp(T, + Data, + 'CC-Correlation-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Input-Octets', Opts) -> + avp(T, + Data, + 'CC-Input-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Money', Opts) -> + grouped_avp(T, 'CC-Money', Data, Opts); +avp(T, Data, 'CC-Output-Octets', Opts) -> + avp(T, + Data, + 'CC-Output-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Number', Opts) -> + avp(T, + Data, + 'CC-Request-Number', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Type', Opts) -> + avp(T, + Data, + 'CC-Request-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Service-Specific-Units', Opts) -> + avp(T, + Data, + 'CC-Service-Specific-Units', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Session-Failover', Opts) -> + avp(T, + Data, + 'CC-Session-Failover', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'CC-Sub-Session-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Time', Opts) -> + avp(T, Data, 'CC-Time', Opts, diameter_rfc4006_cc); +avp(T, Data, 'CC-Total-Octets', Opts) -> + avp(T, + Data, + 'CC-Total-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Unit-Type', Opts) -> + avp(T, Data, 'CC-Unit-Type', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Check-Balance-Result', Opts) -> + avp(T, + Data, + 'Check-Balance-Result', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Cost-Information', Opts) -> + grouped_avp(T, 'Cost-Information', Data, Opts); +avp(T, Data, 'Cost-Unit', Opts) -> + avp(T, Data, 'Cost-Unit', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control', Opts) -> + avp(T, + Data, + 'Credit-Control', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control-Failure-Handling', Opts) -> + avp(T, + Data, + 'Credit-Control-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Currency-Code', Opts) -> + avp(T, + Data, + 'Currency-Code', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Direct-Debiting-Failure-Handling', + Opts) -> + avp(T, + Data, + 'Direct-Debiting-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Exponent', Opts) -> + avp(T, Data, 'Exponent', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Action', Opts) -> + avp(T, + Data, + 'Final-Unit-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Indication', Opts) -> + grouped_avp(T, 'Final-Unit-Indication', Data, Opts); +avp(T, Data, 'G-S-U-Pool-Identifier', Opts) -> + avp(T, + Data, + 'G-S-U-Pool-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'G-S-U-Pool-Reference', Opts) -> + grouped_avp(T, 'G-S-U-Pool-Reference', Data, Opts); +avp(T, Data, 'Granted-Service-Unit', Opts) -> + grouped_avp(T, 'Granted-Service-Unit', Data, Opts); +avp(T, Data, 'Multiple-Services-Credit-Control', + Opts) -> + grouped_avp(T, + 'Multiple-Services-Credit-Control', + Data, + Opts); +avp(T, Data, 'Multiple-Services-Indicator', Opts) -> + avp(T, + Data, + 'Multiple-Services-Indicator', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Rating-Group', Opts) -> + avp(T, Data, 'Rating-Group', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Address-Type', Opts) -> + avp(T, + Data, + 'Redirect-Address-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Server', Opts) -> + grouped_avp(T, 'Redirect-Server', Data, Opts); +avp(T, Data, 'Redirect-Server-Address', Opts) -> + avp(T, + Data, + 'Redirect-Server-Address', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Action', Opts) -> + avp(T, + Data, + 'Requested-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Service-Unit', Opts) -> + grouped_avp(T, 'Requested-Service-Unit', Data, Opts); +avp(T, Data, 'Restriction-Filter-Rule', Opts) -> + avp(T, + Data, + 'Restriction-Filter-Rule', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Context-Id', Opts) -> + avp(T, + Data, + 'Service-Context-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Identifier', Opts) -> + avp(T, + Data, + 'Service-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Info', Opts) -> + grouped_avp(T, 'Service-Parameter-Info', Data, Opts); +avp(T, Data, 'Service-Parameter-Type', Opts) -> + avp(T, + Data, + 'Service-Parameter-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Value', Opts) -> + avp(T, + Data, + 'Service-Parameter-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id', Opts) -> + grouped_avp(T, 'Subscription-Id', Data, Opts); +avp(T, Data, 'Subscription-Id-Data', Opts) -> + avp(T, + Data, + 'Subscription-Id-Data', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id-Type', Opts) -> + avp(T, + Data, + 'Subscription-Id-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Change-Usage', Opts) -> + avp(T, + Data, + 'Tariff-Change-Usage', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Time-Change', Opts) -> + avp(T, + Data, + 'Tariff-Time-Change', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Unit-Value', Opts) -> + grouped_avp(T, 'Unit-Value', Data, Opts); +avp(T, Data, 'Used-Service-Unit', Opts) -> + grouped_avp(T, 'Used-Service-Unit', Data, Opts); +avp(T, Data, 'User-Equipment-Info', Opts) -> + grouped_avp(T, 'User-Equipment-Info', Data, Opts); +avp(T, Data, 'User-Equipment-Info-Type', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'User-Equipment-Info-Value', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Validity-Time', Opts) -> + avp(T, + Data, + 'Validity-Time', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Value-Digits', Opts) -> + avp(T, Data, 'Value-Digits', Opts, diameter_rfc4006_cc); +avp(T, Data, 'MIP6-Agent-Info', Opts) -> + grouped_avp(T, 'MIP6-Agent-Info', Data, Opts); +avp(T, Data, 'MIP6-Home-Link-Prefix', Opts) -> + avp(T, + Data, + 'MIP6-Home-Link-Prefix', + Opts, + diameter_rfc5447); +avp(T, Data, 'Location-Data', Opts) -> + avp(T, Data, 'Location-Data', Opts, diameter_rfc5580); +avp(T, Data, 'Location-Information', Opts) -> + avp(T, + Data, + 'Location-Information', + Opts, + diameter_rfc5580); +avp(T, Data, 'Operator-Name', Opts) -> + avp(T, Data, 'Operator-Name', Opts, diameter_rfc5580); +avp(T, Data, 'Absolute-End-Fractional-Seconds', Opts) -> + avp(T, + Data, + 'Absolute-End-Fractional-Seconds', + Opts, + diameter_rfc5777); +avp(T, Data, 'Absolute-End-Time', Opts) -> + avp(T, + Data, + 'Absolute-End-Time', + Opts, + diameter_rfc5777); +avp(T, Data, 'Absolute-Start-Fractional-Seconds', + Opts) -> + avp(T, + Data, + 'Absolute-Start-Fractional-Seconds', + Opts, + diameter_rfc5777); +avp(T, Data, 'Absolute-Start-Time', Opts) -> + avp(T, + Data, + 'Absolute-Start-Time', + Opts, + diameter_rfc5777); +avp(T, Data, 'C-VID-End', Opts) -> + avp(T, Data, 'C-VID-End', Opts, diameter_rfc5777); +avp(T, Data, 'C-VID-Start', Opts) -> + avp(T, Data, 'C-VID-Start', Opts, diameter_rfc5777); +avp(T, Data, 'Classifier', Opts) -> + grouped_avp(T, 'Classifier', Data, Opts); +avp(T, Data, 'Classifier-ID', Opts) -> + avp(T, Data, 'Classifier-ID', Opts, diameter_rfc5777); +avp(T, Data, 'Day-Of-Month-Mask', Opts) -> + avp(T, + Data, + 'Day-Of-Month-Mask', + Opts, + diameter_rfc5777); +avp(T, Data, 'Day-Of-Week-Mask', Opts) -> + avp(T, + Data, + 'Day-Of-Week-Mask', + Opts, + diameter_rfc5777); +avp(T, Data, 'Diffserv-Code-Point', Opts) -> + avp(T, + Data, + 'Diffserv-Code-Point', + Opts, + diameter_rfc5777); +avp(T, Data, 'Direction', Opts) -> + avp(T, Data, 'Direction', Opts, diameter_rfc5777); +avp(T, Data, 'ETH-Ether-Type', Opts) -> + avp(T, Data, 'ETH-Ether-Type', Opts, diameter_rfc5777); +avp(T, Data, 'ETH-Option', Opts) -> + grouped_avp(T, 'ETH-Option', Data, Opts); +avp(T, Data, 'ETH-Proto-Type', Opts) -> + grouped_avp(T, 'ETH-Proto-Type', Data, Opts); +avp(T, Data, 'ETH-SAP', Opts) -> + avp(T, Data, 'ETH-SAP', Opts, diameter_rfc5777); +avp(T, Data, 'EUI64-Address', Opts) -> + avp(T, Data, 'EUI64-Address', Opts, diameter_rfc5777); +avp(T, Data, 'EUI64-Address-Mask', Opts) -> + grouped_avp(T, 'EUI64-Address-Mask', Data, Opts); +avp(T, Data, 'EUI64-Address-Mask-Pattern', Opts) -> + avp(T, + Data, + 'EUI64-Address-Mask-Pattern', + Opts, + diameter_rfc5777); +avp(T, Data, 'Excess-Treatment', Opts) -> + grouped_avp(T, 'Excess-Treatment', Data, Opts); +avp(T, Data, 'Filter-Rule', Opts) -> + grouped_avp(T, 'Filter-Rule', Data, Opts); +avp(T, Data, 'Filter-Rule-Precedence', Opts) -> + avp(T, + Data, + 'Filter-Rule-Precedence', + Opts, + diameter_rfc5777); +avp(T, Data, 'Fragmentation-Flag', Opts) -> + avp(T, + Data, + 'Fragmentation-Flag', + Opts, + diameter_rfc5777); +avp(T, Data, 'From-Spec', Opts) -> + grouped_avp(T, 'From-Spec', Data, Opts); +avp(T, Data, 'High-User-Priority', Opts) -> + avp(T, + Data, + 'High-User-Priority', + Opts, + diameter_rfc5777); +avp(T, Data, 'ICMP-Code', Opts) -> + avp(T, Data, 'ICMP-Code', Opts, diameter_rfc5777); +avp(T, Data, 'ICMP-Type', Opts) -> + grouped_avp(T, 'ICMP-Type', Data, Opts); +avp(T, Data, 'ICMP-Type-Number', Opts) -> + avp(T, + Data, + 'ICMP-Type-Number', + Opts, + diameter_rfc5777); +avp(T, Data, 'IP-Address', Opts) -> + avp(T, Data, 'IP-Address', Opts, diameter_rfc5777); +avp(T, Data, 'IP-Address-End', Opts) -> + avp(T, Data, 'IP-Address-End', Opts, diameter_rfc5777); +avp(T, Data, 'IP-Address-Mask', Opts) -> + grouped_avp(T, 'IP-Address-Mask', Data, Opts); +avp(T, Data, 'IP-Address-Range', Opts) -> + grouped_avp(T, 'IP-Address-Range', Data, Opts); +avp(T, Data, 'IP-Address-Start', Opts) -> + avp(T, + Data, + 'IP-Address-Start', + Opts, + diameter_rfc5777); +avp(T, Data, 'IP-Mask-Bit-Mask-Width', Opts) -> + avp(T, + Data, + 'IP-Mask-Bit-Mask-Width', + Opts, + diameter_rfc5777); +avp(T, Data, 'IP-Option', Opts) -> + grouped_avp(T, 'IP-Option', Data, Opts); +avp(T, Data, 'IP-Option-Type', Opts) -> + avp(T, Data, 'IP-Option-Type', Opts, diameter_rfc5777); +avp(T, Data, 'IP-Option-Value', Opts) -> + avp(T, Data, 'IP-Option-Value', Opts, diameter_rfc5777); +avp(T, Data, 'Low-User-Priority', Opts) -> + avp(T, + Data, + 'Low-User-Priority', + Opts, + diameter_rfc5777); +avp(T, Data, 'MAC-Address', Opts) -> + avp(T, Data, 'MAC-Address', Opts, diameter_rfc5777); +avp(T, Data, 'MAC-Address-Mask', Opts) -> + grouped_avp(T, 'MAC-Address-Mask', Data, Opts); +avp(T, Data, 'MAC-Address-Mask-Pattern', Opts) -> + avp(T, + Data, + 'MAC-Address-Mask-Pattern', + Opts, + diameter_rfc5777); +avp(T, Data, 'Month-Of-Year-Mask', Opts) -> + avp(T, + Data, + 'Month-Of-Year-Mask', + Opts, + diameter_rfc5777); +avp(T, Data, 'Negated', Opts) -> + avp(T, Data, 'Negated', Opts, diameter_rfc5777); +avp(T, Data, 'Port', Opts) -> + avp(T, Data, 'Port', Opts, diameter_rfc5777); +avp(T, Data, 'Port-End', Opts) -> + avp(T, Data, 'Port-End', Opts, diameter_rfc5777); +avp(T, Data, 'Port-Range', Opts) -> + grouped_avp(T, 'Port-Range', Data, Opts); +avp(T, Data, 'Port-Start', Opts) -> + avp(T, Data, 'Port-Start', Opts, diameter_rfc5777); +avp(T, Data, 'Protocol', Opts) -> + avp(T, Data, 'Protocol', Opts, diameter_rfc5777); +avp(T, Data, 'QoS-Capability', Opts) -> + grouped_avp(T, 'QoS-Capability', Data, Opts); +avp(T, Data, 'QoS-Parameters', Opts) -> + grouped_avp(T, 'QoS-Parameters', Data, Opts); +avp(T, Data, 'QoS-Profile-Id', Opts) -> + avp(T, Data, 'QoS-Profile-Id', Opts, diameter_rfc5777); +avp(T, Data, 'QoS-Profile-Template', Opts) -> + grouped_avp(T, 'QoS-Profile-Template', Data, Opts); +avp(T, Data, 'QoS-Resources', Opts) -> + grouped_avp(T, 'QoS-Resources', Data, Opts); +avp(T, Data, 'QoS-Semantics', Opts) -> + avp(T, Data, 'QoS-Semantics', Opts, diameter_rfc5777); +avp(T, Data, 'S-VID-End', Opts) -> + avp(T, Data, 'S-VID-End', Opts, diameter_rfc5777); +avp(T, Data, 'S-VID-Start', Opts) -> + avp(T, Data, 'S-VID-Start', Opts, diameter_rfc5777); +avp(T, Data, 'TCP-Flag-Type', Opts) -> + avp(T, Data, 'TCP-Flag-Type', Opts, diameter_rfc5777); +avp(T, Data, 'TCP-Flags', Opts) -> + grouped_avp(T, 'TCP-Flags', Data, Opts); +avp(T, Data, 'TCP-Option', Opts) -> + grouped_avp(T, 'TCP-Option', Data, Opts); +avp(T, Data, 'TCP-Option-Type', Opts) -> + avp(T, Data, 'TCP-Option-Type', Opts, diameter_rfc5777); +avp(T, Data, 'TCP-Option-Value', Opts) -> + avp(T, + Data, + 'TCP-Option-Value', + Opts, + diameter_rfc5777); +avp(T, Data, 'Time-Of-Day-Condition', Opts) -> + grouped_avp(T, 'Time-Of-Day-Condition', Data, Opts); +avp(T, Data, 'Time-Of-Day-End', Opts) -> + avp(T, Data, 'Time-Of-Day-End', Opts, diameter_rfc5777); +avp(T, Data, 'Time-Of-Day-Start', Opts) -> + avp(T, + Data, + 'Time-Of-Day-Start', + Opts, + diameter_rfc5777); +avp(T, Data, 'Timezone-Flag', Opts) -> + avp(T, Data, 'Timezone-Flag', Opts, diameter_rfc5777); +avp(T, Data, 'Timezone-Offset', Opts) -> + avp(T, Data, 'Timezone-Offset', Opts, diameter_rfc5777); +avp(T, Data, 'To-Spec', Opts) -> + grouped_avp(T, 'To-Spec', Data, Opts); +avp(T, Data, 'Treatment-Action', Opts) -> + avp(T, + Data, + 'Treatment-Action', + Opts, + diameter_rfc5777); +avp(T, Data, 'Use-Assigned-Address', Opts) -> + avp(T, + Data, + 'Use-Assigned-Address', + Opts, + diameter_rfc5777); +avp(T, Data, 'User-Priority-Range', Opts) -> + grouped_avp(T, 'User-Priority-Range', Data, Opts); +avp(T, Data, 'VLAN-ID-Range', Opts) -> + grouped_avp(T, 'VLAN-ID-Range', Data, Opts); +avp(T, Data, 'Service-Selection', Opts) -> + avp(T, + Data, + 'Service-Selection', + Opts, + diameter_rfc5778); +avp(T, Data, 'OC-Feature-Vector', Opts) -> + avp(T, + Data, + 'OC-Feature-Vector', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-OLR', Opts) -> + grouped_avp(T, 'OC-OLR', Data, Opts); +avp(T, Data, 'OC-Reduction-Percentage', Opts) -> + avp(T, + Data, + 'OC-Reduction-Percentage', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-Report-Type', Opts) -> + avp(T, Data, 'OC-Report-Type', Opts, diameter_rfc7683); +avp(T, Data, 'OC-Sequence-Number', Opts) -> + avp(T, + Data, + 'OC-Sequence-Number', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-Supported-Features', Opts) -> + grouped_avp(T, 'OC-Supported-Features', Data, Opts); +avp(T, Data, 'OC-Validity-Duration', Opts) -> + avp(T, + Data, + 'OC-Validity-Duration', + Opts, + diameter_rfc7683); +avp(T, Data, 'DRMP', Opts) -> + avp(T, Data, 'DRMP', Opts, diameter_rfc7944); +avp(T, Data, 'Load', Opts) -> + grouped_avp(T, 'Load', Data, Opts); +avp(T, Data, 'Load-Type', Opts) -> + avp(T, Data, 'Load-Type', Opts, diameter_rfc8583); +avp(T, Data, 'Load-Value', Opts) -> + avp(T, Data, 'Load-Value', Opts, diameter_rfc8583); +avp(T, Data, 'SourceID', Opts) -> + avp(T, Data, 'SourceID', Opts, diameter_rfc8583); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Emergency-Info', Opts) -> + empty_group('Emergency-Info', Opts); +empty_value('Access-Network-Charging-Identifier-Gx', + Opts) -> + empty_group('Access-Network-Charging-Identifier-Gx', + Opts); +empty_value('Allocation-Retention-Priority', Opts) -> + empty_group('Allocation-Retention-Priority', Opts); +empty_value('Application-Detection-Information', + Opts) -> + empty_group('Application-Detection-Information', Opts); +empty_value('Charging-Rule-Definition', Opts) -> + empty_group('Charging-Rule-Definition', Opts); +empty_value('Charging-Rule-Install', Opts) -> + empty_group('Charging-Rule-Install', Opts); +empty_value('Charging-Rule-Remove', Opts) -> + empty_group('Charging-Rule-Remove', Opts); +empty_value('Charging-Rule-Report', Opts) -> + empty_group('Charging-Rule-Report', Opts); +empty_value('CoA-Information', Opts) -> + empty_group('CoA-Information', Opts); +empty_value('Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + empty_group('Conditional-APN-Aggregate-Max-Bitrate', + Opts); +empty_value('Default-EPS-Bearer-QoS', Opts) -> + empty_group('Default-EPS-Bearer-QoS', Opts); +empty_value('Default-QoS-Information', Opts) -> + empty_group('Default-QoS-Information', Opts); +empty_value('Event-Report-Indication', Opts) -> + empty_group('Event-Report-Indication', Opts); +empty_value('Fixed-User-Location-Info', Opts) -> + empty_group('Fixed-User-Location-Info', Opts); +empty_value('Flow-Information', Opts) -> + empty_group('Flow-Information', Opts); +empty_value('Packet-Filter-Information', Opts) -> + empty_group('Packet-Filter-Information', Opts); +empty_value('Presence-Reporting-Area-Information', + Opts) -> + empty_group('Presence-Reporting-Area-Information', + Opts); +empty_value('QoS-Information', Opts) -> + empty_group('QoS-Information', Opts); +empty_value('Redirect-Information', Opts) -> + empty_group('Redirect-Information', Opts); +empty_value('Routing-Filter', Opts) -> + empty_group('Routing-Filter', Opts); +empty_value('Routing-Rule-Definition', Opts) -> + empty_group('Routing-Rule-Definition', Opts); +empty_value('Routing-Rule-Install', Opts) -> + empty_group('Routing-Rule-Install', Opts); +empty_value('Routing-Rule-Remove', Opts) -> + empty_group('Routing-Rule-Remove', Opts); +empty_value('TDF-Information', Opts) -> + empty_group('TDF-Information', Opts); +empty_value('Tunnel-Information', Opts) -> + empty_group('Tunnel-Information', Opts); +empty_value('TFT-Packet-Filter-Information', Opts) -> + empty_group('TFT-Packet-Filter-Information', Opts); +empty_value('Usage-Monitoring-Information', Opts) -> + empty_group('Usage-Monitoring-Information', Opts); +empty_value('Flows', Opts) -> + empty_group('Flows', Opts); +empty_value('Charging-Information', Opts) -> + empty_group('Charging-Information', Opts); +empty_value('Supported-Features', Opts) -> + empty_group('Supported-Features', Opts); +empty_value('Supported-Applications', Opts) -> + empty_group('Supported-Applications', Opts); +empty_value('SIP-Auth-Data-Item', Opts) -> + empty_group('SIP-Auth-Data-Item', Opts); +empty_value('Deregistration-Reason', Opts) -> + empty_group('Deregistration-Reason', Opts); +empty_value('SIP-Digest-Authenticate', Opts) -> + empty_group('SIP-Digest-Authenticate', Opts); +empty_value('Subscription-Data', Opts) -> + empty_group('Subscription-Data', Opts); +empty_value('Terminal-Information', Opts) -> + empty_group('Terminal-Information', Opts); +empty_value('Requested-EUTRAN-Authentication-Info', + Opts) -> + empty_group('Requested-EUTRAN-Authentication-Info', + Opts); +empty_value('Requested-UTRAN-GERAN-Authentication-Info', + Opts) -> + empty_group('Requested-UTRAN-GERAN-Authentication-Info', + Opts); +empty_value('Authentication-Info', Opts) -> + empty_group('Authentication-Info', Opts); +empty_value('E-UTRAN-Vector', Opts) -> + empty_group('E-UTRAN-Vector', Opts); +empty_value('UTRAN-Vector', Opts) -> + empty_group('UTRAN-Vector', Opts); +empty_value('GERAN-Vector', Opts) -> + empty_group('GERAN-Vector', Opts); +empty_value('APN-Configuration-Profile', Opts) -> + empty_group('APN-Configuration-Profile', Opts); +empty_value('APN-Configuration', Opts) -> + empty_group('APN-Configuration', Opts); +empty_value('EPS-Subscribed-QoS-Profile', Opts) -> + empty_group('EPS-Subscribed-QoS-Profile', Opts); +empty_value('AMBR', Opts) -> empty_group('AMBR', Opts); +empty_value('Trace-Data', Opts) -> + empty_group('Trace-Data', Opts); +empty_value('GPRS-Subscription-Data', Opts) -> + empty_group('GPRS-Subscription-Data', Opts); +empty_value('PDP-Context', Opts) -> + empty_group('PDP-Context', Opts); +empty_value('CSG-Subscription-Data', Opts) -> + empty_group('CSG-Subscription-Data', Opts); +empty_value('Specific-APN-Info', Opts) -> + empty_group('Specific-APN-Info', Opts); +empty_value('LCS-Info', Opts) -> + empty_group('LCS-Info', Opts); +empty_value('LCS-PrivacyException', Opts) -> + empty_group('LCS-PrivacyException', Opts); +empty_value('External-Client', Opts) -> + empty_group('External-Client', Opts); +empty_value('Service-Type', Opts) -> + empty_group('Service-Type', Opts); +empty_value('MO-LR', Opts) -> + empty_group('MO-LR', Opts); +empty_value('Teleservice-List', Opts) -> + empty_group('Teleservice-List', Opts); +empty_value('Call-Barring-Info', Opts) -> + empty_group('Call-Barring-Info', Opts); +empty_value('EPS-User-State', Opts) -> + empty_group('EPS-User-State', Opts); +empty_value('EPS-Location-Information', Opts) -> + empty_group('EPS-Location-Information', Opts); +empty_value('MME-User-State', Opts) -> + empty_group('MME-User-State', Opts); +empty_value('SGSN-User-State', Opts) -> + empty_group('SGSN-User-State', Opts); +empty_value('MME-Location-Information', Opts) -> + empty_group('MME-Location-Information', Opts); +empty_value('SGSN-Location-Information', Opts) -> + empty_group('SGSN-Location-Information', Opts); +empty_value('Active-APN', Opts) -> + empty_group('Active-APN', Opts); +empty_value('MDT-Configuration', Opts) -> + empty_group('MDT-Configuration', Opts); +empty_value('Area-Scope', Opts) -> + empty_group('Area-Scope', Opts); +empty_value('Equivalent-PLMN-List', Opts) -> + empty_group('Equivalent-PLMN-List', Opts); +empty_value('VPLMN-CSG-Subscription-Data', Opts) -> + empty_group('VPLMN-CSG-Subscription-Data', Opts); +empty_value('Local-Time-Zone', Opts) -> + empty_group('Local-Time-Zone', Opts); +empty_value('WLAN-Identifier', Opts) -> + empty_group('WLAN-Identifier', Opts); +empty_value('Access-Network-Info', Opts) -> + empty_group('Access-Network-Info', Opts); +empty_value('TWAN-Connectivity-Parameters', Opts) -> + empty_group('TWAN-Connectivity-Parameters', Opts); +empty_value('Non-3GPP-User-Data', Opts) -> + empty_group('Non-3GPP-User-Data', Opts); +empty_value('Trace-Info', Opts) -> + empty_group('Trace-Info', Opts); +empty_value('TWAN-Access-Info', Opts) -> + empty_group('TWAN-Access-Info', Opts); +empty_value('Access-Network-Info-Change', Opts) -> + empty_group('Access-Network-Info-Change', Opts); +empty_value('Access-Transfer-Information', Opts) -> + empty_group('Access-Transfer-Information', Opts); +empty_value('Accumulated-Cost', Opts) -> + empty_group('Accumulated-Cost', Opts); +empty_value('Additional-Content-Information', Opts) -> + empty_group('Additional-Content-Information', Opts); +empty_value('Address-Domain', Opts) -> + empty_group('Address-Domain', Opts); +empty_value('AF-Correlation-Information', Opts) -> + empty_group('AF-Correlation-Information', Opts); +empty_value('Announcement-Information', Opts) -> + empty_group('Announcement-Information', Opts); +empty_value('AoC-Cost-Information', Opts) -> + empty_group('AoC-Cost-Information', Opts); +empty_value('AoC-Information', Opts) -> + empty_group('AoC-Information', Opts); +empty_value('AoC-Service', Opts) -> + empty_group('AoC-Service', Opts); +empty_value('AoC-Subscription-Information', Opts) -> + empty_group('AoC-Subscription-Information', Opts); +empty_value('APN-Rate-Control', Opts) -> + empty_group('APN-Rate-Control', Opts); +empty_value('APN-Rate-Control-Downlink', Opts) -> + empty_group('APN-Rate-Control-Downlink', Opts); +empty_value('APN-Rate-Control-Uplink', Opts) -> + empty_group('APN-Rate-Control-Uplink', Opts); +empty_value('Application-Server-Information', Opts) -> + empty_group('Application-Server-Information', Opts); +empty_value('Basic-Service-Code', Opts) -> + empty_group('Basic-Service-Code', Opts); +empty_value('Called-Identity-Change', Opts) -> + empty_group('Called-Identity-Change', Opts); +empty_value('Coverage-Info', Opts) -> + empty_group('Coverage-Info', Opts); +empty_value('CPDT-Information', Opts) -> + empty_group('CPDT-Information', Opts); +empty_value('Current-Tariff', Opts) -> + empty_group('Current-Tariff', Opts); +empty_value('Destination-Interface', Opts) -> + empty_group('Destination-Interface', Opts); +empty_value('Early-Media-Description', Opts) -> + empty_group('Early-Media-Description', Opts); +empty_value('Enhanced-Diagnostics', Opts) -> + empty_group('Enhanced-Diagnostics', Opts); +empty_value('Envelope', Opts) -> + empty_group('Envelope', Opts); +empty_value('Event-Type', Opts) -> + empty_group('Event-Type', Opts); +empty_value('Incremental-Cost', Opts) -> + empty_group('Incremental-Cost', Opts); +empty_value('IMS-Information', Opts) -> + empty_group('IMS-Information', Opts); +empty_value('Inter-Operator-Identifier', Opts) -> + empty_group('Inter-Operator-Identifier', Opts); +empty_value('ISUP-Cause', Opts) -> + empty_group('ISUP-Cause', Opts); +empty_value('LCS-Client-ID', Opts) -> + empty_group('LCS-Client-ID', Opts); +empty_value('LCS-Client-Name', Opts) -> + empty_group('LCS-Client-Name', Opts); +empty_value('LCS-Information', Opts) -> + empty_group('LCS-Information', Opts); +empty_value('LCS-Requestor-ID', Opts) -> + empty_group('LCS-Requestor-ID', Opts); +empty_value('Location-Info', Opts) -> + empty_group('Location-Info', Opts); +empty_value('Location-Type', Opts) -> + empty_group('Location-Type', Opts); +empty_value('MBMS-Information', Opts) -> + empty_group('MBMS-Information', Opts); +empty_value('Message-Body', Opts) -> + empty_group('Message-Body', Opts); +empty_value('Message-Class', Opts) -> + empty_group('Message-Class', Opts); +empty_value('MM-Content-Type', Opts) -> + empty_group('MM-Content-Type', Opts); +empty_value('MMS-Information', Opts) -> + empty_group('MMS-Information', Opts); +empty_value('MMTel-Information', Opts) -> + empty_group('MMTel-Information', Opts); +empty_value('Monitoring-Event-Information', Opts) -> + empty_group('Monitoring-Event-Information', Opts); +empty_value('Monitoring-Event-Report-Data', Opts) -> + empty_group('Monitoring-Event-Report-Data', Opts); +empty_value('Next-Tariff', Opts) -> + empty_group('Next-Tariff', Opts); +empty_value('NIDD-Submission', Opts) -> + empty_group('NIDD-Submission', Opts); +empty_value('NNI-Information', Opts) -> + empty_group('NNI-Information', Opts); +empty_value('Offline-Charging', Opts) -> + empty_group('Offline-Charging', Opts); +empty_value('Originator-Address', Opts) -> + empty_group('Originator-Address', Opts); +empty_value('Originator-Interface', Opts) -> + empty_group('Originator-Interface', Opts); +empty_value('Originator-Received-Address', Opts) -> + empty_group('Originator-Received-Address', Opts); +empty_value('Participant-Group', Opts) -> + empty_group('Participant-Group', Opts); +empty_value('PoC-Information', Opts) -> + empty_group('PoC-Information', Opts); +empty_value('PoC-User-Role', Opts) -> + empty_group('PoC-User-Role', Opts); +empty_value('ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Reception-Data-Container', + Opts); +empty_value('ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Transmission-Data-Container', + Opts); +empty_value('ProSe-Information', Opts) -> + empty_group('ProSe-Information', Opts); +empty_value('PS-Furnish-Charging-Information', Opts) -> + empty_group('PS-Furnish-Charging-Information', Opts); +empty_value('PS-Information', Opts) -> + empty_group('PS-Information', Opts); +empty_value('Radio-Parameter-Set-Info', Opts) -> + empty_group('Radio-Parameter-Set-Info', Opts); +empty_value('RAN-Secondary-RAT-Usage-Report', Opts) -> + empty_group('RAN-Secondary-RAT-Usage-Report', Opts); +empty_value('Rate-Element', Opts) -> + empty_group('Rate-Element', Opts); +empty_value('Real-Time-Tariff-Information', Opts) -> + empty_group('Real-Time-Tariff-Information', Opts); +empty_value('Recipient-Address', Opts) -> + empty_group('Recipient-Address', Opts); +empty_value('Recipient-Info', Opts) -> + empty_group('Recipient-Info', Opts); +empty_value('Recipient-Received-Address', Opts) -> + empty_group('Recipient-Received-Address', Opts); +empty_value('Related-Change-Condition-Information', + Opts) -> + empty_group('Related-Change-Condition-Information', + Opts); +empty_value('Related-Trigger', Opts) -> + empty_group('Related-Trigger', Opts); +empty_value('Remaining-Balance', Opts) -> + empty_group('Remaining-Balance', Opts); +empty_value('Scale-Factor', Opts) -> + empty_group('Scale-Factor', Opts); +empty_value('SCS-AS-Address', Opts) -> + empty_group('SCS-AS-Address', Opts); +empty_value('SDP-Media-Component', Opts) -> + empty_group('SDP-Media-Component', Opts); +empty_value('SDP-TimeStamps', Opts) -> + empty_group('SDP-TimeStamps', Opts); +empty_value('Service-Data-Container', Opts) -> + empty_group('Service-Data-Container', Opts); +empty_value('Service-Information', Opts) -> + empty_group('Service-Information', Opts); +empty_value('Service-Specific-Info', Opts) -> + empty_group('Service-Specific-Info', Opts); +empty_value('SM-Device-Trigger-Information', Opts) -> + empty_group('SM-Device-Trigger-Information', Opts); +empty_value('SMS-Information', Opts) -> + empty_group('SMS-Information', Opts); +empty_value('Supplementary-Service', Opts) -> + empty_group('Supplementary-Service', Opts); +empty_value('Talk-Burst-Exchange', Opts) -> + empty_group('Talk-Burst-Exchange', Opts); +empty_value('Tariff-Information', Opts) -> + empty_group('Tariff-Information', Opts); +empty_value('Time-Quota-Mechanism', Opts) -> + empty_group('Time-Quota-Mechanism', Opts); +empty_value('Time-Stamps', Opts) -> + empty_group('Time-Stamps', Opts); +empty_value('Traffic-Data-Volumes', Opts) -> + empty_group('Traffic-Data-Volumes', Opts); +empty_value('Transmitter-Info', Opts) -> + empty_group('Transmitter-Info', Opts); +empty_value('Trigger', Opts) -> + empty_group('Trigger', Opts); +empty_value('Trunk-Group-Id', Opts) -> + empty_group('Trunk-Group-Id', Opts); +empty_value('TWAN-User-Location-Info', Opts) -> + empty_group('TWAN-User-Location-Info', Opts); +empty_value('Unit-Cost', Opts) -> + empty_group('Unit-Cost', Opts); +empty_value('User-CSG-Information', Opts) -> + empty_group('User-CSG-Information', Opts); +empty_value('UWAN-User-Location-Info', Opts) -> + empty_group('UWAN-User-Location-Info', Opts); +empty_value('Variable-Part', Opts) -> + empty_group('Variable-Part', Opts); +empty_value('VCS-Information', Opts) -> + empty_group('VCS-Information', Opts); +empty_value('MIP-MN-AAA-Auth', Opts) -> + empty_group('MIP-MN-AAA-Auth', Opts); +empty_value('MIP-MN-to-FA-MSA', Opts) -> + empty_group('MIP-MN-to-FA-MSA', Opts); +empty_value('MIP-FA-to-MN-MSA', Opts) -> + empty_group('MIP-FA-to-MN-MSA', Opts); +empty_value('MIP-MN-to-HA-MSA', Opts) -> + empty_group('MIP-MN-to-HA-MSA', Opts); +empty_value('MIP-HA-to-MN-MSA', Opts) -> + empty_group('MIP-HA-to-MN-MSA', Opts); +empty_value('MIP-FA-to-HA-MSA', Opts) -> + empty_group('MIP-FA-to-HA-MSA', Opts); +empty_value('MIP-HA-to-FA-MSA', Opts) -> + empty_group('MIP-HA-to-FA-MSA', Opts); +empty_value('MIP-Originating-Foreign-AAA', Opts) -> + empty_group('MIP-Originating-Foreign-AAA', Opts); +empty_value('MIP-Home-Agent-Host', Opts) -> + empty_group('MIP-Home-Agent-Host', Opts); +empty_value('Cost-Information', Opts) -> + empty_group('Cost-Information', Opts); +empty_value('Unit-Value', Opts) -> + empty_group('Unit-Value', Opts); +empty_value('Multiple-Services-Credit-Control', Opts) -> + empty_group('Multiple-Services-Credit-Control', Opts); +empty_value('Granted-Service-Unit', Opts) -> + empty_group('Granted-Service-Unit', Opts); +empty_value('Requested-Service-Unit', Opts) -> + empty_group('Requested-Service-Unit', Opts); +empty_value('Used-Service-Unit', Opts) -> + empty_group('Used-Service-Unit', Opts); +empty_value('CC-Money', Opts) -> + empty_group('CC-Money', Opts); +empty_value('G-S-U-Pool-Reference', Opts) -> + empty_group('G-S-U-Pool-Reference', Opts); +empty_value('Final-Unit-Indication', Opts) -> + empty_group('Final-Unit-Indication', Opts); +empty_value('Redirect-Server', Opts) -> + empty_group('Redirect-Server', Opts); +empty_value('Service-Parameter-Info', Opts) -> + empty_group('Service-Parameter-Info', Opts); +empty_value('Subscription-Id', Opts) -> + empty_group('Subscription-Id', Opts); +empty_value('User-Equipment-Info', Opts) -> + empty_group('User-Equipment-Info', Opts); +empty_value('MIP6-Agent-Info', Opts) -> + empty_group('MIP6-Agent-Info', Opts); +empty_value('QoS-Resources', Opts) -> + empty_group('QoS-Resources', Opts); +empty_value('Filter-Rule', Opts) -> + empty_group('Filter-Rule', Opts); +empty_value('Classifier', Opts) -> + empty_group('Classifier', Opts); +empty_value('From-Spec', Opts) -> + empty_group('From-Spec', Opts); +empty_value('To-Spec', Opts) -> + empty_group('To-Spec', Opts); +empty_value('IP-Address-Range', Opts) -> + empty_group('IP-Address-Range', Opts); +empty_value('IP-Address-Mask', Opts) -> + empty_group('IP-Address-Mask', Opts); +empty_value('MAC-Address-Mask', Opts) -> + empty_group('MAC-Address-Mask', Opts); +empty_value('EUI64-Address-Mask', Opts) -> + empty_group('EUI64-Address-Mask', Opts); +empty_value('Port-Range', Opts) -> + empty_group('Port-Range', Opts); +empty_value('IP-Option', Opts) -> + empty_group('IP-Option', Opts); +empty_value('TCP-Option', Opts) -> + empty_group('TCP-Option', Opts); +empty_value('TCP-Flags', Opts) -> + empty_group('TCP-Flags', Opts); +empty_value('ICMP-Type', Opts) -> + empty_group('ICMP-Type', Opts); +empty_value('ETH-Option', Opts) -> + empty_group('ETH-Option', Opts); +empty_value('ETH-Proto-Type', Opts) -> + empty_group('ETH-Proto-Type', Opts); +empty_value('VLAN-ID-Range', Opts) -> + empty_group('VLAN-ID-Range', Opts); +empty_value('User-Priority-Range', Opts) -> + empty_group('User-Priority-Range', Opts); +empty_value('Time-Of-Day-Condition', Opts) -> + empty_group('Time-Of-Day-Condition', Opts); +empty_value('QoS-Profile-Template', Opts) -> + empty_group('QoS-Profile-Template', Opts); +empty_value('QoS-Parameters', Opts) -> + empty_group('QoS-Parameters', Opts); +empty_value('Excess-Treatment', Opts) -> + empty_group('Excess-Treatment', Opts); +empty_value('QoS-Capability', Opts) -> + empty_group('QoS-Capability', Opts); +empty_value('OC-Supported-Features', Opts) -> + empty_group('OC-Supported-Features', Opts); +empty_value('OC-OLR', Opts) -> + empty_group('OC-OLR', Opts); +empty_value('Load', Opts) -> empty_group('Load', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AN-GW-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Control-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Operation', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Correlation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Information-Reporting', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Trigger', _) -> <<0, 0, 0, 0>>; +empty_value('Flow-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('IP-CAN-Session-Charging-Scope', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-CAN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Metering-Method', _) -> <<0, 0, 0, 0>>; +empty_value('Mute-Notification', _) -> <<0, 0, 0, 0>>; +empty_value('Network-Request-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Offline', _) -> <<0, 0, 0, 0>>; +empty_value('Online', _) -> <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Operation', _) -> + <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('PCC-Rule-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Pre-emption-Capability', _) -> + <<0, 0, 0, 0>>; +empty_value('Pre-emption-Vulnerability', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-to-CS-Session-Continuity', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Class-Identifier', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Negotiation', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Upgrade', _) -> <<0, 0, 0, 0>>; +empty_value('RAT-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Support', _) -> <<0, 0, 0, 0>>; +empty_value('Reporting-Level', _) -> <<0, 0, 0, 0>>; +empty_value('Resource-Allocation-Notification', _) -> + <<0, 0, 0, 0>>; +empty_value('Rule-Failure-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Release-Cause', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Level', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Report', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Server-Assignment-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Network-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Cancellation-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Status', _) -> <<0, 0, 0, 0>>; +empty_value('All-APN-Configurations-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('VPLMN-Dynamic-Address-Allowed', _) -> + <<0, 0, 0, 0>>; +empty_value('PDN-GW-Allocation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Equipment-Status', _) -> <<0, 0, 0, 0>>; +empty_value('PDN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Complete-Data-List-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Roaming-Restricted-Due-To-Unsupported-Feature', + _) -> + <<0, 0, 0, 0>>; +empty_value('Alert-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Notification-To-UE-User', _) -> + <<0, 0, 0, 0>>; +empty_value('GMLC-Restriction', _) -> <<0, 0, 0, 0>>; +empty_value('PLMN-Client', _) -> <<0, 0, 0, 0>>; +empty_value('ICS-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Voice-Over-PS-Sessions-Supported', + _) -> + <<0, 0, 0, 0>>; +empty_value('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + _) -> + <<0, 0, 0, 0>>; +empty_value('User-State', _) -> <<0, 0, 0, 0>>; +empty_value('Current-Location-Retrieved', _) -> + <<0, 0, 0, 0>>; +empty_value('Error-Diagnostic', _) -> <<0, 0, 0, 0>>; +empty_value('UE-SRVCC-Capability', _) -> <<0, 0, 0, 0>>; +empty_value('VPLMN-LIPA-Allowed', _) -> <<0, 0, 0, 0>>; +empty_value('LIPA-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('SIPTO-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('Relay-Node-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MDT-User-Consent', _) -> <<0, 0, 0, 0>>; +empty_value('Subscribed-VSRVCC', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Register-Request', _) -> + <<0, 0, 0, 0>>; +empty_value('Daylight-Saving-Time', _) -> + <<0, 0, 0, 0>>; +empty_value('AN-Trusted', _) -> <<0, 0, 0, 0>>; +empty_value('Transport-Access-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Non-3GPP-IP-Access', _) -> <<0, 0, 0, 0>>; +empty_value('Non-3GPP-IP-Access-APN', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PS-Data-Off-Status', _) -> + <<0, 0, 0, 0>>; +empty_value('Access-Transfer-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Adaptations', _) -> <<0, 0, 0, 0>>; +empty_value('Additional-Exception-Reports', _) -> + <<0, 0, 0, 0>>; +empty_value('Address-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Addressee-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Format', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Service-Obligatory-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('AoC-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Charge-Reason-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Characteristics-Selection-Mode', + _) -> + <<0, 0, 0, 0>>; +empty_value('Charging-Per-IP-CAN-Session-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Class-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('CN-Operator-Selection-Entity', _) -> + <<0, 0, 0, 0>>; +empty_value('Content-Class', _) -> <<0, 0, 0, 0>>; +empty_value('Coverage-Status', _) -> <<0, 0, 0, 0>>; +empty_value('CP-CIoT-EPS-Optimisation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('CSG-Membership-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Delivery-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('DRM-Content', _) -> <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag-Extension', _) -> + <<0, 0, 0, 0>>; +empty_value('Envelope-Reporting', _) -> <<0, 0, 0, 0>>; +empty_value('File-Repair-Supported', _) -> + <<0, 0, 0, 0>>; +empty_value('Forwarding-Pending', _) -> <<0, 0, 0, 0>>; +empty_value('Interface-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Inter-UE-Transfer', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Emergency-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('IMSI-Unauthenticated-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-Realm-Default-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('LCS-Client-Type', _) -> <<0, 0, 0, 0>>; +empty_value('LCS-Format-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Local-GW-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Location-Estimate-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Balance-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Priority-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MBMS-Charged-Party', _) -> <<0, 0, 0, 0>>; +empty_value('MBMS-User-Service-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Media-Initiator-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('MMBox-Storage-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('NNI-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Node-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('Online-Charging-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Originator', _) -> <<0, 0, 0, 0>>; +empty_value('Participant-Access-Priority', _) -> + <<0, 0, 0, 0>>; +empty_value('Participant-Action-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PC5-Radio-Technology', _) -> + <<0, 0, 0, 0>>; +empty_value('PDP-Context-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Play-Alternative', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Change-Condition', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Server-Role', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Session-Initiation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Session-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-User-Role-Info-Units', _) -> + <<0, 0, 0, 0>>; +empty_value('Priority', _) -> <<0, 0, 0, 0>>; +empty_value('Privacy-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Direct-Discovery-Model', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Range-Class', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Reason-For-Cancellation', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Role-Of-UE', _) -> <<0, 0, 0, 0>>; +empty_value('Proximity-Alert-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-Append-Free-Format-Data', _) -> + <<0, 0, 0, 0>>; +empty_value('Quota-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('Read-Reply-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Relationship-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Reply-Path-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Reporting-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-Node', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-ProSe-Function', _) -> + <<0, 0, 0, 0>>; +empty_value('SDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('Serving-Node-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SGi-PtP-Tunnelling-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('SGW-Change', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Device-Trigger-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('SM-Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Node', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Status-AS-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Role', _) -> <<0, 0, 0, 0>>; +empty_value('TAD-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('Time-Quota-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Transcoder-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Trigger-Type', _) -> <<0, 0, 0, 0>>; +empty_value('UNI-PDU-CP-Only-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Participating-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Variable-Part-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Session-Failover', _) -> <<0, 0, 0, 0>>; +empty_value('Check-Balance-Result', _) -> + <<0, 0, 0, 0>>; +empty_value('Credit-Control', _) -> <<0, 0, 0, 0>>; +empty_value('Credit-Control-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Direct-Debiting-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Tariff-Change-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Unit-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Final-Unit-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Address-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Multiple-Services-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Subscription-Id-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Equipment-Info-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Direction', _) -> <<0, 0, 0, 0>>; +empty_value('Negated', _) -> <<0, 0, 0, 0>>; +empty_value('Use-Assigned-Address', _) -> + <<0, 0, 0, 0>>; +empty_value('Diffserv-Code-Point', _) -> <<0, 0, 0, 0>>; +empty_value('Fragmentation-Flag', _) -> <<0, 0, 0, 0>>; +empty_value('IP-Option-Type', _) -> <<0, 0, 0, 0>>; +empty_value('TCP-Option-Type', _) -> <<0, 0, 0, 0>>; +empty_value('ICMP-Type-Number', _) -> <<0, 0, 0, 0>>; +empty_value('ICMP-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Timezone-Flag', _) -> <<0, 0, 0, 0>>; +empty_value('Treatment-Action', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Semantics', _) -> <<0, 0, 0, 0>>; +empty_value('OC-Report-Type', _) -> <<0, 0, 0, 0>>; +empty_value('DRMP', _) -> <<0, 0, 0, 0>>; +empty_value('Load-Type', _) -> <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, []}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, + [{258, "RAR", "RAA"}, + {274, "ASR", "ASA"}, + {275, "STR", "STA"}, + {265, "AAR", "AAA"}]}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 16777272}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {diameter_3gpp_break_circles, + [{"APN-OI-Replacement", 1427, "UTF8String", "MV"}, + {"Emergency-Info", 1687, "Grouped", "V"}, + {"GMLC-Number", 1474, "OctetString", "MV"}, + {"SGSN-Number", 1489, "OctetString", "MV"}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Address", 1050, "Address", "V"}, + {"AN-GW-Status", 2811, "Enumerated", "V"}, + {"APN-Aggregate-Max-Bitrate-DL", + 1040, + "Unsigned32", + "V"}, + {"APN-Aggregate-Max-Bitrate-UL", + 1041, + "Unsigned32", + "V"}, + {"Access-Network-Charging-Identifier-Gx", + 1022, + "Grouped", + "MV"}, + {"Allocation-Retention-Priority", 1034, "Grouped", "V"}, + {"Application-Detection-Information", + 1098, + "Grouped", + "V"}, + {"Bearer-Control-Mode", 1023, "Enumerated", "MV"}, + {"Bearer-Identifier", 1020, "OctetString", "MV"}, + {"Bearer-Operation", 1021, "Enumerated", "MV"}, + {"Bearer-Usage", 1000, "Enumerated", "MV"}, + {"CSG-Information-Reporting", 1071, "Enumerated", "V"}, + {"Charging-Correlation-Indicator", + 1073, + "Enumerated", + "V"}, + {"Charging-Rule-Base-Name", 1004, "UTF8String", "MV"}, + {"Charging-Rule-Definition", 1003, "Grouped", "MV"}, + {"Charging-Rule-Install", 1001, "Grouped", "MV"}, + {"Charging-Rule-Name", 1005, "OctetString", "MV"}, + {"Charging-Rule-Remove", 1002, "Grouped", "MV"}, + {"Charging-Rule-Report", 1018, "Grouped", "MV"}, + {"CoA-IP-Address", 1035, "Address", "V"}, + {"CoA-Information", 1039, "Grouped", "V"}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + "Grouped", + "V"}, + {"Credit-Management-Status", 1082, "Unsigned32", "V"}, + {"Default-EPS-Bearer-QoS", 1049, "Grouped", "V"}, + {"Default-QoS-Information", 2816, "Grouped", "V"}, + {"Default-QoS-Name", 2817, "UTF8String", "V"}, + {"Event-Report-Indication", 1033, "Grouped", "V"}, + {"Event-Trigger", 1006, "Enumerated", "MV"}, + {"Fixed-User-Location-Info", 2825, "Grouped", "V"}, + {"Flow-Direction", 1080, "Enumerated", "V"}, + {"Flow-Information", 1058, "Grouped", "V"}, + {"Flow-Label", 1057, "OctetString", "V"}, + {"Guaranteed-Bitrate-DL", 1025, "Unsigned32", "MV"}, + {"Guaranteed-Bitrate-UL", 1026, "Unsigned32", "MV"}, + {"HeNB-Local-IP-Address", 2804, "Address", "V"}, + {"IP-CAN-Session-Charging-Scope", + 2827, + "Enumerated", + "V"}, + {"IP-CAN-Type", 1027, "Enumerated", "MV"}, + {"Metering-Method", 1007, "Enumerated", "MV"}, + {"Monitoring-Key", 1066, "OctetString", "V"}, + {"Monitoring-Time", 2810, "Time", "V"}, + {"Mute-Notification", 2809, "Enumerated", "V"}, + {"NetLoc-Access-Support", 2824, "Unsigned32", "V"}, + {"Network-Request-Support", 1024, "Enumerated", "MV"}, + {"Offline", 1008, "Enumerated", "MV"}, + {"Online", 1009, "Enumerated", "MV"}, + {"PCC-Rule-Status", 1019, "Enumerated", "MV"}, + {"PCSCF-Restoration-Indication", + 2826, + "Unsigned32", + "V"}, + {"PDN-Connection-ID", 1065, "OctetString", "V"}, + {"PS-to-CS-Session-Continuity", + 1099, + "Enumerated", + "V"}, + {"Packet-Filter-Content", 1059, "IPFilterRule", "V"}, + {"Packet-Filter-Identifier", 1060, "OctetString", "V"}, + {"Packet-Filter-Information", 1061, "Grouped", "V"}, + {"Packet-Filter-Operation", 1062, "Enumerated", "V"}, + {"Packet-Filter-Usage", 1072, "Enumerated", "V"}, + {"Pre-emption-Capability", 1047, "Enumerated", "V"}, + {"Pre-emption-Vulnerability", 1048, "Enumerated", "V"}, + {"Precedence", 1010, "Unsigned32", "MV"}, + {"Presence-Reporting-Area-Elements-List", + 2820, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Identifier", + 2821, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Information", + 2822, + "Grouped", + "V"}, + {"Presence-Reporting-Area-Status", + 2823, + "Unsigned32", + "V"}, + {"Priority-Level", 1046, "Unsigned32", "V"}, + {"QoS-Class-Identifier", 1028, "Enumerated", "MV"}, + {"QoS-Information", 1016, "Grouped", "MV"}, + {"QoS-Negotiation", 1029, "Enumerated", "MV"}, + {"QoS-Upgrade", 1030, "Enumerated", "MV"}, + {"RAN-NAS-Release-Cause", 2819, "OctetString", "V"}, + {"RAT-Type", 1032, "Enumerated", "V"}, + {"Redirect-Information", 1085, "Grouped", "V"}, + {"Redirect-Support", 1086, "Enumerated", "V"}, + {"Reporting-Level", 1011, "Enumerated", "MV"}, + {"Resource-Allocation-Notification", + 1063, + "Enumerated", + "V"}, + {"Revalidation-Time", 1042, "Time", "MV"}, + {"Routing-Filter", 1078, "Grouped", "V"}, + {"Routing-IP-Address", 1079, "Address", "V"}, + {"Routing-Rule-Definition", 1076, "Grouped", "V"}, + {"Routing-Rule-Identifier", 1077, "OctetString", "V"}, + {"Routing-Rule-Install", 1081, "Grouped", "V"}, + {"Routing-Rule-Remove", 1075, "Grouped", "V"}, + {"Rule-Activation-Time", 1043, "Time", "MV"}, + {"Rule-Deactivation-Time", 1044, "Time", "MV"}, + {"Rule-Failure-Code", 1031, "Enumerated", "MV"}, + {"Security-Parameter-Index", 1056, "OctetString", "V"}, + {"Session-Release-Cause", 1045, "Enumerated", "MV"}, + {"TDF-Application-Identifier", + 1088, + "OctetString", + "V"}, + {"TDF-Application-Instance-Identifier", + 2802, + "OctetString", + "V"}, + {"TDF-Destination-Host", 1089, "DiameterIdentity", "V"}, + {"TDF-Destination-Realm", + 1090, + "DiameterIdentity", + "V"}, + {"TDF-IP-Address", 1091, "Address", "V"}, + {"TDF-Information", 1087, "Grouped", "V"}, + {"TFT-Filter", 1012, "IPFilterRule", "MV"}, + {"TFT-Packet-Filter-Information", + 1013, + "Grouped", + "MV"}, + {"ToS-Traffic-Class", 1014, "OctetString", "MV"}, + {"Tunnel-Header-Filter", 1036, "IPFilterRule", "V"}, + {"Tunnel-Header-Length", 1037, "Unsigned32", "V"}, + {"Tunnel-Information", 1038, "Grouped", "V"}, + {"UDP-Source-Port", 2806, "Unsigned32", "V"}, + {"UE-Local-IP-Address", 2805, "Address", "V"}, + {"Usage-Monitoring-Information", 1067, "Grouped", "V"}, + {"Usage-Monitoring-Level", 1068, "Enumerated", "V"}, + {"Usage-Monitoring-Report", 1069, "Enumerated", "V"}, + {"Usage-Monitoring-Support", 1070, "Enumerated", "V"}, + {"User-Location-Info-Time", 2812, "Time", "V"}]}, + {diameter_3gpp_ts29_214, + [{"AF-Application-Identifier", + 504, + "OctetString", + "MV"}, + {"AF-Charging-Identifier", 505, "OctetString", "MV"}, + {"AF-Signalling-Protocol", 529, "Enumerated", "V"}, + {"Abort-Cause", 500, "Enumerated", "MV"}, + {"Access-Network-Charging-Address", + 501, + "Address", + "MV"}, + {"Access-Network-Charging-Identifier-Value", + 503, + "OctetString", + "MV"}, + {"Application-Service-Provider-Identity", + 532, + "UTF8String", + "V"}, + {"Codec-Data", 524, "OctetString", "MV"}, + {"Flow-Description", 507, "IPFilterRule", "MV"}, + {"Flow-Number", 509, "Unsigned32", "MV"}, + {"Flow-Status", 511, "Enumerated", "MV"}, + {"Flow-Usage", 512, "Enumerated", "MV"}, + {"Flows", 510, "Grouped", "MV"}, + {"GCS-Identifier", 538, "OctetString", "V"}, + {"IP-Domain-Id", 537, "OctetString", "V"}, + {"MPS-Identifier", 528, "OctetString", "V"}, + {"Max-Requested-Bandwidth-DL", 515, "Unsigned32", "MV"}, + {"Max-Requested-Bandwidth-UL", 516, "Unsigned32", "MV"}, + {"Media-Component-Number", 518, "Unsigned32", "MV"}, + {"Media-Type", 520, "Enumerated", "MV"}, + {"Min-Requested-Bandwidth-DL", 534, "Unsigned32", "V"}, + {"Min-Requested-Bandwidth-UL", 535, "Unsigned32", "V"}, + {"RR-Bandwidth", 521, "Unsigned32", "MV"}, + {"RS-Bandwidth", 522, "Unsigned32", "MV"}, + {"Required-Access-Info", 536, "Enumerated", "V"}, + {"Rx-Request-Type", 533, "Enumerated", "V"}, + {"SIP-Forking-Indication", 523, "Enumerated", "MV"}, + {"Service-Info-Status", 527, "Enumerated", "MV"}, + {"Service-URN", 525, "OctetString", "MV"}, + {"Specific-Action", 513, "Enumerated", "MV"}, + {"Sponsor-Identity", 531, "UTF8String", "V"}]}, + {diameter_3gpp_ts29_229, + [{"Call-ID-SIP-Header", 643, "OctetString", "V"}, + {"Charging-Information", 618, "Grouped", "MV"}, + {"Confidentiality-Key", 625, "OctetString", "MV"}, + {"Contact", 641, "OctetString", "V"}, + {"Deregistration-Reason", 615, "Grouped", "MV"}, + {"Digest-Algorithm", 111, "UTF8String", "M"}, + {"Digest-HA1", 121, "UTF8String", "M"}, + {"Digest-QoP", 110, "UTF8String", "M"}, + {"Digest-Realm", 104, "UTF8String", "M"}, + {"Feature-List", 630, "Unsigned32", "V"}, + {"Feature-List-ID", 629, "Unsigned32", "V"}, + {"From-SIP-Header", 644, "OctetString", "V"}, + {"Initial-CSeq-Sequence-Number", + 654, + "Unsigned32", + "V"}, + {"Integrity-Key", 626, "OctetString", "MV"}, + {"LIA-Flags", 653, "Unsigned32", "V"}, + {"Loose-Route-Indication", 638, "Enumerated", "V"}, + {"Mandatory-Capability", 604, "Unsigned32", "MV"}, + {"Multiple-Registration-Indication", + 648, + "Enumerated", + "V"}, + {"Optional-Capability", 605, "Unsigned32", "MV"}, + {"Originating-Request", 633, "Enumerated", "MV"}, + {"Path", 640, "OctetString", "V"}, + {"Primary-Charging-Collection-Function-Name", + 621, + "DiameterURI", + "MV"}, + {"Primary-Event-Charging-Function-Name", + 619, + "DiameterURI", + "MV"}, + {"Priviledged-Sender-Indication", + 652, + "Enumerated", + "V"}, + {"Public-Identity", 601, "UTF8String", "MV"}, + {"Reason-Code", 616, "Enumerated", "MV"}, + {"Reason-Info", 617, "UTF8String", "MV"}, + {"Record-Route", 646, "OctetString", "V"}, + {"SAR-Flags", 655, "Unsigned32", "V"}, + {"SIP-Auth-Data-Item", 612, "Grouped", "MV"}, + {"SIP-Authenticate", 609, "OctetString", "MV"}, + {"SIP-Authentication-Context", + 611, + "OctetString", + "MV"}, + {"SIP-Authentication-Scheme", 608, "UTF8String", "MV"}, + {"SIP-Authorization", 610, "OctetString", "MV"}, + {"SIP-Digest-Authenticate", 635, "Grouped", "V"}, + {"SIP-Item-Number", 613, "Unsigned32", "MV"}, + {"SIP-Number-Auth-Items", 607, "Unsigned32", "MV"}, + {"Secondary-Charging-Collection-Function-Name", + 622, + "DiameterURI", + "MV"}, + {"Secondary-Event-Charging-Function-Name", + 620, + "DiameterURI", + "MV"}, + {"Server-Assignment-Type", 614, "Enumerated", "MV"}, + {"Server-Name", 602, "UTF8String", "MV"}, + {"Session-Priority", 650, "Enumerated", "V"}, + {"Supported-Applications", 631, "Grouped", "V"}, + {"Supported-Features", 628, "Grouped", "V"}, + {"To-SIP-Header", 645, "OctetString", "V"}, + {"UAR-Flags", 637, "Unsigned32", "V"}, + {"User-Authorization-Type", 623, "Enumerated", "MV"}, + {"User-Data", 606, "OctetString", "MV"}, + {"User-Data-Already-Available", + 624, + "Enumerated", + "MV"}, + {"Visited-Network-Identifier", + 600, + "OctetString", + "MV"}, + {"Wildcarded-Public-Identity", + 634, + "UTF8String", + "V"}]}, + {diameter_3gpp_ts29_272, + [{"3GPP2-MEID", 1471, "OctetString", "MV"}, + {"A-MSISDN", 1643, "OctetString", "V"}, + {"AMBR", 1435, "Grouped", "MV"}, + {"APN-Configuration", 1430, "Grouped", "MV"}, + {"APN-Configuration-Profile", 1429, "Grouped", "MV"}, + {"AUTN", 1449, "OctetString", "MV"}, + {"Access-Restriction-Data", 1426, "Unsigned32", "MV"}, + {"Active-APN", 1612, "Grouped", "V"}, + {"Age-Of-Location-Information", + 1611, + "Unsigned32", + "V"}, + {"Alert-Reason", 1434, "Enumerated", "MV"}, + {"All-APN-Configurations-Included-Indicator", + 1428, + "Enumerated", + "MV"}, + {"Area-Scope", 1624, "Grouped", "V"}, + {"Authentication-Info", 1413, "Grouped", "MV"}, + {"CLR-Flags", 1638, "Unsigned32", "V"}, + {"CSG-Id", 1437, "Unsigned32", "MV"}, + {"CSG-Subscription-Data", 1436, "Grouped", "MV"}, + {"Call-Barring-Info", 1488, "Grouped", "MV"}, + {"Cancellation-Type", 1420, "Enumerated", "MV"}, + {"Cell-Global-Identity", 1604, "OctetString", "V"}, + {"Client-Identity", 1480, "OctetString", "MV"}, + {"Collection-Period-RRM-LTE", 1657, "Enumerated", "V"}, + {"Collection-Period-RRM-UMTS", 1658, "Enumerated", "V"}, + {"Complete-Data-List-Included-Indicator", + 1468, + "Enumerated", + "MV"}, + {"Context-Identifier", 1423, "Unsigned32", "MV"}, + {"Core-Network-Restrictions", 1704, "Unsigned32", "V"}, + {"Current-Location-Retrieved", 1610, "Enumerated", "V"}, + {"DSA-Flags", 1422, "Unsigned32", "MV"}, + {"DSR-Flags", 1421, "Unsigned32", "MV"}, + {"Daylight-Saving-Time", 1650, "Enumerated", "V"}, + {"E-UTRAN-Cell-Global-Identity", + 1602, + "OctetString", + "V"}, + {"E-UTRAN-Vector", 1414, "Grouped", "MV"}, + {"EPS-Location-Information", 1496, "Grouped", "V"}, + {"EPS-Subscribed-QoS-Profile", 1431, "Grouped", "MV"}, + {"EPS-User-State", 1495, "Grouped", "V"}, + {"Equipment-Status", 1445, "Enumerated", "MV"}, + {"Equivalent-PLMN-List", 1637, "Grouped", "V"}, + {"Error-Diagnostic", 1614, "Enumerated", "V"}, + {"Event-Threshold-Event-1F", 1661, "Integer32", "V"}, + {"Event-Threshold-Event-1I", 1662, "Integer32", "V"}, + {"Event-Threshold-RSRP", 1629, "Unsigned32", "V"}, + {"Event-Threshold-RSRQ", 1630, "Unsigned32", "V"}, + {"Expiration-Date", 1439, "Time", "MV"}, + {"Ext-PDP-Address", 1621, "Address", "V"}, + {"Ext-PDP-Type", 1620, "OctetString", "V"}, + {"External-Client", 1479, "Grouped", "MV"}, + {"GERAN-Vector", 1416, "Grouped", "MV"}, + {"GMLC-Restriction", 1481, "Enumerated", "MV"}, + {"GPRS-Subscription-Data", 1467, "Grouped", "MV"}, + {"Geodetic-Information", 1609, "OctetString", "V"}, + {"Geographical-Information", 1608, "OctetString", "V"}, + {"HPLMN-ODB", 1418, "Unsigned32", "MV"}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + 1493, + "Enumerated", + "V"}, + {"ICS-Indicator", 1491, "Enumerated", "V"}, + {"IDA-Flags", 1441, "Unsigned32", "MV"}, + {"IDR-Flags", 1490, "Unsigned32", "MV"}, + {"IMEI", 1402, "UTF8String", "MV"}, + {"IMS-Voice-Over-PS-Sessions-Supported", + 1492, + "Enumerated", + "V"}, + {"Immediate-Response-Preferred", + 1412, + "Unsigned32", + "MV"}, + {"Item-Number", 1419, "Unsigned32", "MV"}, + {"Job-Type", 1623, "Enumerated", "V"}, + {"KASME", 1450, "OctetString", "MV"}, + {"Kc", 1453, "OctetString", "MV"}, + {"LCS-Info", 1473, "Grouped", "MV"}, + {"LCS-PrivacyException", 1475, "Grouped", "MV"}, + {"LIPA-Permission", 1618, "Enumerated", "V"}, + {"Last-UE-Activity-Time", 1494, "Time", "V"}, + {"List-Of-Measurements", 1625, "Unsigned32", "V"}, + {"Local-Time-Zone", 1649, "Grouped", "V"}, + {"Location-Area-Identity", 1606, "OctetString", "V"}, + {"Logging-Duration", 1632, "Enumerated", "V"}, + {"Logging-Interval", 1631, "Enumerated", "V"}, + {"MDT-Configuration", 1622, "Grouped", "V"}, + {"MDT-User-Consent", 1634, "Enumerated", "V"}, + {"MME-Location-Information", 1600, "Grouped", "V"}, + {"MME-Number-for-MT-SMS", 1645, "OctetString", "V"}, + {"MME-User-State", 1497, "Grouped", "V"}, + {"MO-LR", 1485, "Grouped", "MV"}, + {"MPS-Priority", 1616, "Unsigned32", "V"}, + {"Measurement-Period-LTE", 1656, "Enumerated", "V"}, + {"Measurement-Period-UMTS", 1655, "Enumerated", "V"}, + {"Measurement-Quantity", 1660, "OctetString", "V"}, + {"NOR-Flags", 1443, "Unsigned32", "MV"}, + {"Network-Access-Mode", 1417, "Enumerated", "MV"}, + {"Notification-To-UE-User", 1478, "Enumerated", "MV"}, + {"Number-Of-Requested-Vectors", + 1410, + "Unsigned32", + "MV"}, + {"OMC-Id", 1466, "OctetString", "MV"}, + {"Operator-Determined-Barring", + 1425, + "Unsigned32", + "MV"}, + {"PDN-GW-Allocation-Type", 1438, "Enumerated", "MV"}, + {"PDN-Type", 1456, "Enumerated", "MV"}, + {"PDP-Context", 1469, "Grouped", "MV"}, + {"PDP-Type", 1470, "OctetString", "MV"}, + {"PLMN-Client", 1482, "Enumerated", "MV"}, + {"PUA-Flags", 1442, "Unsigned32", "MV"}, + {"PUR-Flags", 1635, "Unsigned32", "V"}, + {"Positioning-Method", 1659, "OctetString", "V"}, + {"QoS-Subscribed", 1404, "OctetString", "MV"}, + {"RAND", 1447, "OctetString", "MV"}, + {"RAT-Frequency-Selection-Priority-ID", + 1440, + "Unsigned32", + "MV"}, + {"Re-Synchronization-Info", 1411, "OctetString", "MV"}, + {"Regional-Subscription-Zone-Code", + 1446, + "OctetString", + "MV"}, + {"Relay-Node-Indicator", 1633, "Enumerated", "V"}, + {"Report-Amount", 1628, "Enumerated", "V"}, + {"Report-Interval", 1627, "Enumerated", "V"}, + {"Reporting-Trigger", 1626, "Unsigned32", "V"}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + "Grouped", + "MV"}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + "Grouped", + "MV"}, + {"Restoration-Priority", 1663, "Unsigned32", "V"}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + 1457, + "Enumerated", + "MV"}, + {"Routing-Area-Identity", 1605, "OctetString", "V"}, + {"SGSN-Location-Information", 1601, "Grouped", "V"}, + {"SGSN-User-State", 1498, "Grouped", "V"}, + {"SIPTO-Permission", 1613, "Enumerated", "V"}, + {"SMS-Register-Request", 1648, "Enumerated", "V"}, + {"SRES", 1454, "OctetString", "MV"}, + {"SS-Code", 1476, "OctetString", "MV"}, + {"SS-Status", 1477, "OctetString", "MV"}, + {"STN-SR", 1433, "OctetString", "MV"}, + {"Service-Area-Identity", 1607, "OctetString", "V"}, + {"Service-Type", 1483, "Grouped", "MV"}, + {"ServiceTypeIdentity", 1484, "Unsigned32", "MV"}, + {"Software-Version", 1403, "UTF8String", "MV"}, + {"Specific-APN-Info", 1472, "Grouped", "MV"}, + {"Subscribed-Periodic-RAU-TAU-Timer", + 1619, + "Unsigned32", + "V"}, + {"Subscribed-VSRVCC", 1636, "Enumerated", "V"}, + {"Subscriber-Status", 1424, "Enumerated", "MV"}, + {"Subscription-Data", 1400, "Grouped", "MV"}, + {"Subscription-Data-Flags", 1654, "Unsigned32", "V"}, + {"TS-Code", 1487, "OctetString", "MV"}, + {"Teleservice-List", 1486, "Grouped", "MV"}, + {"Terminal-Information", 1401, "Grouped", "MV"}, + {"Time-Zone", 1642, "UTF8String", "V"}, + {"Trace-Collection-Entity", 1452, "Address", "MV"}, + {"Trace-Data", 1458, "Grouped", "MV"}, + {"Trace-Depth", 1462, "Enumerated", "MV"}, + {"Trace-Event-List", 1465, "OctetString", "MV"}, + {"Trace-Interface-List", 1464, "OctetString", "MV"}, + {"Trace-NE-Type-List", 1463, "OctetString", "MV"}, + {"Trace-Reference", 1459, "OctetString", "MV"}, + {"Tracking-Area-Identity", 1603, "OctetString", "V"}, + {"UE-SRVCC-Capability", 1615, "Enumerated", "V"}, + {"UE-Usage-Type", 1680, "Unsigned32", "V"}, + {"ULA-Flags", 1406, "Unsigned32", "MV"}, + {"ULR-Flags", 1405, "Unsigned32", "MV"}, + {"UTRAN-Vector", 1415, "Grouped", "MV"}, + {"UVA-Flags", 1640, "Unsigned32", "MV"}, + {"UVR-Flags", 1639, "Unsigned32", "MV"}, + {"User-Id", 1444, "UTF8String", "V"}, + {"User-State", 1499, "Enumerated", "V"}, + {"VPLMN-CSG-Subscription-Data", 1641, "Grouped", "MV"}, + {"VPLMN-Dynamic-Address-Allowed", + 1432, + "Enumerated", + "MV"}, + {"VPLMN-LIPA-Allowed", 1617, "Enumerated", "V"}, + {"Visited-PLMN-Id", 1407, "OctetString", "MV"}, + {"XRES", 1448, "OctetString", "MV"}]}, + {diameter_3gpp_ts29_273, + [{"3GPP-AAA-Server-Name", + 318, + "DiameterIdentity", + "MV"}, + {"AAA-Failure-Indication", 1518, "Unsigned32", "V"}, + {"AAR-Flags", 1539, "Unsigned32", "V"}, + {"AN-Trusted", 1503, "Enumerated", "MV"}, + {"ANID", 1504, "UTF8String", "MV"}, + {"Access-Authorization-Flags", 1511, "Unsigned32", "V"}, + {"Access-Network-Info", 1526, "Grouped", "V"}, + {"Connectivity-Flags", 1529, "Unsigned32", "V"}, + {"DEA-Flags", 1521, "Unsigned32", "V"}, + {"DER-Flags", 1520, "Unsigned32", "V"}, + {"DER-S6b-Flags", 1523, "Unsigned32", "V"}, + {"ERP-Authorization", 1541, "Unsigned32", "V"}, + {"Emergency-Services", 1538, "Unsigned32", "V"}, + {"Full-Network-Name", 1516, "OctetString", "V"}, + {"HESSID", 1525, "UTF8String", "V"}, + {"IMEI-Check-In-VPLMN-Result", 1540, "Unsigned32", "V"}, + {"MIP-FA-RK", 1506, "OctetString", "MV"}, + {"MIP-FA-RK-SPI", 1507, "Unsigned32", "MV"}, + {"MIP6-Feature-Vector", 124, "Unsigned64", "M"}, + {"Maximum-Wait-Time", 1537, "Unsigned32", "V"}, + {"Mobile-Node-Identifier", 506, "UTF8String", "M"}, + {"Non-3GPP-IP-Access", 1501, "Enumerated", "MV"}, + {"Non-3GPP-IP-Access-APN", 1502, "Enumerated", "MV"}, + {"Non-3GPP-User-Data", 1500, "Grouped", "MV"}, + {"Origination-Time-Stamp", 1536, "Unsigned64", "V"}, + {"PPR-Flags", 1508, "Unsigned32", "V"}, + {"RAR-Flags", 1522, "Unsigned32", "V"}, + {"SM-Back-Off-Timer", 1534, "Unsigned32", "V"}, + {"SSID", 1524, "UTF8String", "V"}, + {"Short-Network-Name", 1517, "OctetString", "V"}, + {"TWAG-CP-Address", 1531, "Address", "V"}, + {"TWAG-UP-Address", 1532, "UTF8String", "V"}, + {"TWAN-Access-Info", 1510, "Grouped", "V"}, + {"TWAN-Connection-Mode", 1527, "Unsigned32", "V"}, + {"TWAN-Connectivity-Parameters", 1528, "Grouped", "V"}, + {"TWAN-Default-APN-Context-Id", + 1512, + "Unsigned32", + "V"}, + {"TWAN-PCO", 1530, "OctetString", "V"}, + {"TWAN-S2a-Failure-Cause", 1533, "Unsigned32", "V"}, + {"Trace-Info", 1505, "Grouped", "V"}, + {"Transport-Access-Type", 1519, "Enumerated", "V"}, + {"WLAN-Identifier", 1509, "Grouped", "V"}, + {"WLCP-Key", 1535, "OctetString", "V"}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", 4406, "Enumerated", "MV"}, + {"AF-Correlation-Information", 1276, "Grouped", "MV"}, + {"APN-Rate-Control", 3933, "Grouped", "MV"}, + {"APN-Rate-Control-Downlink", 3934, "Grouped", "MV"}, + {"APN-Rate-Control-Uplink", 3935, "Grouped", "MV"}, + {"Access-Network-Info-Change", 4401, "Grouped", "MV"}, + {"Access-Network-Information", + 1263, + "OctetString", + "MV"}, + {"Access-Transfer-Information", 2709, "Grouped", "MV"}, + {"Access-Transfer-Type", 2710, "Enumerated", "MV"}, + {"Account-Expiration", 2309, "Time", "MV"}, + {"Accumulated-Cost", 2052, "Grouped", "MV"}, + {"Adaptations", 1217, "Enumerated", "MV"}, + {"Additional-Content-Information", + 1207, + "Grouped", + "MV"}, + {"Additional-Exception-Reports", + 3936, + "Enumerated", + "MV"}, + {"Additional-Type-Information", + 1205, + "UTF8String", + "MV"}, + {"Address-Data", 897, "UTF8String", "MV"}, + {"Address-Domain", 898, "Grouped", "MV"}, + {"Address-Type", 899, "Enumerated", "MV"}, + {"Addressee-Type", 1208, "Enumerated", "MV"}, + {"Alternate-Charged-Party-Address", + 1280, + "UTF8String", + "MV"}, + {"Announcement-Identifier", 3905, "Unsigned32", "MV"}, + {"Announcement-Information", 3904, "Grouped", "MV"}, + {"Announcement-Order", 3906, "Unsigned32", "MV"}, + {"Announcing-PLMN-ID", 4408, "UTF8String", "MV"}, + {"Announcing-UE-HPLMN-Identifier", + 3426, + "UTF8String", + "MV"}, + {"Announcing-UE-VPLMN-Identifier", + 3427, + "UTF8String", + "MV"}, + {"AoC-Cost-Information", 2053, "Grouped", "MV"}, + {"AoC-Format", 2310, "Enumerated", "MV"}, + {"AoC-Information", 2054, "Grouped", "MV"}, + {"AoC-Request-Type", 2055, "Enumerated", "MV"}, + {"AoC-Service", 2311, "Grouped", "MV"}, + {"AoC-Service-Obligatory-Type", + 2312, + "Enumerated", + "MV"}, + {"AoC-Service-Type", 2313, "Enumerated", "MV"}, + {"AoC-Subscription-Information", 2314, "Grouped", "MV"}, + {"Applic-ID", 1218, "UTF8String", "MV"}, + {"Application-Provided-Called-Party-Address", + 837, + "UTF8String", + "MV"}, + {"Application-Server", 836, "UTF8String", "MV"}, + {"Application-Server-Information", + 850, + "Grouped", + "MV"}, + {"Application-Specific-Data", + 3458, + "OctetString", + "MV"}, + {"Associated-Party-Address", 2035, "UTF8String", "MV"}, + {"Associated-URI", 856, "UTF8String", "MV"}, + {"Authorised-QoS", 849, "UTF8String", "MV"}, + {"Aux-Applic-Info", 1219, "UTF8String", "MV"}, + {"BSSID", 2716, "UTF8String", "MV"}, + {"Base-Time-Interval", 1265, "Unsigned32", "MV"}, + {"Basic-Service-Code", 3411, "Grouped", "MV"}, + {"Bearer-Capability", 3412, "OctetString", "MV"}, + {"Bearer-Service", 854, "OctetString", "MV"}, + {"CG-Address", 846, "Address", "MV"}, + {"CN-Operator-Selection-Entity", + 3421, + "Enumerated", + "MV"}, + {"CP-CIoT-EPS-Optimisation-Indicator", + 3930, + "Enumerated", + "MV"}, + {"CPDT-Information", 3927, "Grouped", "MV"}, + {"CSG-Access-Mode", 2317, "Enumerated", "MV"}, + {"CSG-Membership-Indication", 2318, "Enumerated", "MV"}, + {"CUG-Information", 2304, "OctetString", "MV"}, + {"Called-Asserted-Identity", 1250, "UTF8String", "MV"}, + {"Called-Identity", 3916, "UTF8String", "MV"}, + {"Called-Identity-Change", 3917, "Grouped", "MV"}, + {"Called-Party-Address", 832, "UTF8String", "MV"}, + {"Calling-Party-Address", 831, "UTF8String", "MV"}, + {"Carrier-Select-Routing-Information", + 2023, + "UTF8String", + "MV"}, + {"Cause-Code", 861, "Integer32", "MV"}, + {"Cellular-Network-Information", + 3924, + "OctetString", + "MV"}, + {"Change-Condition", 2037, "Integer32", "MV"}, + {"Change-Time", 2038, "Time", "MV"}, + {"Charge-Reason-Code", 2118, "Enumerated", "MV"}, + {"Charged-Party", 857, "UTF8String", "MV"}, + {"Charging-Characteristics-Selection-Mode", + 2066, + "Enumerated", + "MV"}, + {"Charging-Per-IP-CAN-Session-Indicator", + 4400, + "Enumerated", + "MV"}, + {"Class-Identifier", 1214, "Enumerated", "MV"}, + {"Client-Address", 2018, "Address", "MV"}, + {"Content-Class", 1220, "Enumerated", "MV"}, + {"Content-Disposition", 828, "UTF8String", "MV"}, + {"Content-Length", 827, "Unsigned32", "MV"}, + {"Content-Size", 1206, "Unsigned32", "MV"}, + {"Content-Type", 826, "UTF8String", "MV"}, + {"Coverage-Info", 3459, "Grouped", "MV"}, + {"Coverage-Status", 3428, "Enumerated", "MV"}, + {"Current-Tariff", 2056, "Grouped", "MV"}, + {"DRM-Content", 1221, "Enumerated", "MV"}, + {"Data-Coding-Scheme", 2001, "Integer32", "MV"}, + {"Deferred-Location-Event-Type", + 1230, + "UTF8String", + "MV"}, + {"Delivery-Report-Requested", 1216, "Enumerated", "MV"}, + {"Destination-Interface", 2002, "Grouped", "MV"}, + {"Diagnostics", 2039, "Integer32", "MV"}, + {"Discoveree-UE-HPLMN-Identifier", + 4402, + "UTF8String", + "MV"}, + {"Discoveree-UE-VPLMN-Identifier", + 4403, + "UTF8String", + "MV"}, + {"Discoverer-UE-HPLMN-Identifier", + 4404, + "UTF8String", + "MV"}, + {"Discoverer-UE-VPLMN-Identifier", + 4405, + "UTF8String", + "MV"}, + {"Domain-Name", 1200, "UTF8String", "MV"}, + {"Dynamic-Address-Flag", 2051, "Enumerated", "MV"}, + {"Dynamic-Address-Flag-Extension", + 2068, + "Enumerated", + "MV"}, + {"EPDG-Address", 3425, "Address", "MV"}, + {"Early-Media-Description", 1272, "Grouped", "MV"}, + {"Enhanced-Diagnostics", 3901, "Grouped", "MV"}, + {"Envelope", 1266, "Grouped", "MV"}, + {"Envelope-End-Time", 1267, "Time", "MV"}, + {"Envelope-Reporting", 1268, "Enumerated", "MV"}, + {"Envelope-Start-Time", 1269, "Time", "MV"}, + {"Event", 825, "UTF8String", "MV"}, + {"Event-Charging-TimeStamp", 1258, "Time", "MV"}, + {"Event-Type", 823, "Grouped", "MV"}, + {"Expires", 888, "Unsigned32", "MV"}, + {"FE-Identifier-List", 4413, "UTF8String", "MV"}, + {"File-Repair-Supported", 1224, "Enumerated", "MV"}, + {"Forwarding-Pending", 3415, "Enumerated", "MV"}, + {"From-Address", 2708, "UTF8String", "MV"}, + {"GGSN-Address", 847, "Address", "MV"}, + {"IMS-Application-Reference-Identifier", + 2601, + "UTF8String", + "MV"}, + {"IMS-Charging-Identifier", 841, "UTF8String", "MV"}, + {"IMS-Communication-Service-Identifier", + 1281, + "UTF8String", + "MV"}, + {"IMS-Emergency-Indicator", 2322, "Enumerated", "MV"}, + {"IMS-Information", 876, "Grouped", "MV"}, + {"IMS-Visited-Network-Identifier", + 2713, + "UTF8String", + "MV"}, + {"IMSI-Unauthenticated-Flag", 2308, "Enumerated", "MV"}, + {"IP-Realm-Default-Indication", + 2603, + "Enumerated", + "MV"}, + {"ISUP-Cause", 3416, "Grouped", "MV"}, + {"ISUP-Cause-Diagnostics", 3422, "OctetString", "MV"}, + {"ISUP-Cause-Location", 3423, "Unsigned32", "MV"}, + {"ISUP-Cause-Value", 3424, "Unsigned32", "MV"}, + {"ISUP-Location-Number", 3414, "OctetString", "MV"}, + {"Incoming-Trunk-Group-Id", 852, "UTF8String", "MV"}, + {"Incremental-Cost", 2062, "Grouped", "MV"}, + {"Initial-IMS-Charging-Identifier", + 2321, + "UTF8String", + "MV"}, + {"Instance-Id", 3402, "UTF8String", "MV"}, + {"Inter-Operator-Identifier", 838, "Grouped", "MV"}, + {"Inter-UE-Transfer", 3902, "Enumerated", "MV"}, + {"Interface-Id", 2003, "UTF8String", "MV"}, + {"Interface-Port", 2004, "UTF8String", "MV"}, + {"Interface-Text", 2005, "UTF8String", "MV"}, + {"Interface-Type", 2006, "Enumerated", "MV"}, + {"LCS-APN", 1231, "UTF8String", "MV"}, + {"LCS-Client-Dialed-By-MS", 1233, "UTF8String", "MV"}, + {"LCS-Client-External-ID", 1234, "UTF8String", "MV"}, + {"LCS-Client-ID", 1232, "Grouped", "MV"}, + {"LCS-Client-Name", 1235, "Grouped", "MV"}, + {"LCS-Client-Type", 1241, "Enumerated", "MV"}, + {"LCS-Data-Coding-Scheme", 1236, "UTF8String", "MV"}, + {"LCS-Format-Indicator", 1237, "Enumerated", "MV"}, + {"LCS-Information", 878, "Grouped", "MV"}, + {"LCS-Name-String", 1238, "UTF8String", "MV"}, + {"LCS-Requestor-ID", 1239, "Grouped", "MV"}, + {"LCS-Requestor-ID-String", 1240, "UTF8String", "MV"}, + {"Language", 3914, "UTF8String", "MV"}, + {"Layer-2-Group-ID", 3429, "OctetString", "MV"}, + {"Local-GW-Inserted-Indication", + 2604, + "Enumerated", + "MV"}, + {"Local-Sequence-Number", 2063, "Unsigned32", "MV"}, + {"Location-Estimate", 1242, "OctetString", "MV"}, + {"Location-Estimate-Type", 1243, "Enumerated", "MV"}, + {"Location-Info", 3460, "Grouped", "MV"}, + {"Location-Type", 1244, "Grouped", "MV"}, + {"Low-Balance-Indication", 2020, "Enumerated", "MV"}, + {"Low-Priority-Indicator", 2602, "Enumerated", "MV"}, + {"MBMS-Charged-Party", 2323, "Enumerated", "MV"}, + {"MBMS-GW-Address", 2307, "Address", "MV"}, + {"MBMS-Information", 880, "Grouped", "MV"}, + {"MBMS-User-Service-Type", 1225, "Enumerated", "MV"}, + {"MM-Content-Type", 1203, "Grouped", "MV"}, + {"MMBox-Storage-Requested", 1248, "Enumerated", "MV"}, + {"MMS-Information", 877, "Grouped", "MV"}, + {"MMTel-Information", 2030, "Grouped", "MV"}, + {"MMTel-SService-Type", 2031, "Unsigned32", "MV"}, + {"MSC-Address", 3417, "OctetString", "MV"}, + {"MTC-IWF-Address", 3406, "Address", "MV"}, + {"Media-Initiator-Flag", 882, "Enumerated", "MV"}, + {"Media-Initiator-Party", 1288, "UTF8String", "MV"}, + {"Message-Body", 889, "Grouped", "MV"}, + {"Message-Class", 1213, "Grouped", "MV"}, + {"Message-ID", 1210, "UTF8String", "MV"}, + {"Message-Size", 1212, "Unsigned32", "MV"}, + {"Message-Type", 1211, "Enumerated", "MV"}, + {"Monitored-PLMN-Identifier", 3430, "UTF8String", "MV"}, + {"Monitoring-Event-Configuration-Activity", + 3919, + "Integer32", + "MV"}, + {"Monitoring-Event-Functionality", + 3922, + "Integer32", + "MV"}, + {"Monitoring-Event-Information", 3921, "Grouped", "MV"}, + {"Monitoring-Event-Report-Data", 3920, "Grouped", "MV"}, + {"Monitoring-Event-Report-Number", + 3923, + "Unsigned32", + "MV"}, + {"Monitoring-UE-HPLMN-Identifier", + 3431, + "UTF8String", + "MV"}, + {"Monitoring-UE-Identifier", 3432, "UTF8String", "MV"}, + {"Monitoring-UE-VPLMN-Identifier", + 3433, + "UTF8String", + "MV"}, + {"NIDD-Submission", 3928, "Grouped", "VM"}, + {"NNI-Information", 2703, "Grouped", "MV"}, + {"NNI-Type", 2704, "Enumerated", "MV"}, + {"Neighbour-Node-Address", 2705, "Address", "MV"}, + {"Network-Call-Reference-Number", + 3418, + "OctetString", + "MV"}, + {"Next-Tariff", 2057, "Grouped", "VM"}, + {"Node-Functionality", 862, "Enumerated", "MV"}, + {"Node-Id", 2064, "UTF8String", "MV"}, + {"Number-Of-Diversions", 2034, "Unsigned32", "MV"}, + {"Number-Of-Messages-Sent", 2019, "Unsigned32", "MV"}, + {"Number-Of-Participants", 885, "Unsigned32", "MV"}, + {"Number-Of-Received-Talk-Bursts", + 1282, + "Unsigned32", + "MV"}, + {"Number-Of-Talk-Bursts", 1283, "Unsigned32", "MV"}, + {"Number-Portability-Routing-Information", + 2024, + "UTF8String", + "MV"}, + {"Offline-Charging", 1278, "Grouped", "MV"}, + {"Online-Charging-Flag", 2303, "Enumerated", "MV"}, + {"Originating-IOI", 839, "UTF8String", "MV"}, + {"Originator", 864, "Enumerated", "MV"}, + {"Originator-Address", 886, "Grouped", "MV"}, + {"Originator-Interface", 2009, "Grouped", "MV"}, + {"Originator-Received-Address", 2027, "Grouped", "MV"}, + {"Originator-SCCP-Address", 2008, "Address", "MV"}, + {"Outgoing-Session-Id", 2320, "UTF8String", "MV"}, + {"Outgoing-Trunk-Group-Id", 853, "UTF8String", "MV"}, + {"PC3-Control-Protocol-Cause", 3434, "Integer32", "MV"}, + {"PC3-EPC-Control-Protocol-Cause", + 3435, + "Integer32", + "MV"}, + {"PC5-Radio-Technology", 1300, "Enumerated", "V"}, + {"PDN-Connection-Charging-ID", + 2050, + "Unsigned32", + "MV"}, + {"PDP-Address", 1227, "Address", "MV"}, + {"PDP-Address-Prefix-Length", 2606, "Unsigned32", "MV"}, + {"PDP-Context-Type", 1247, "Enumerated", "MV"}, + {"PS-Append-Free-Format-Data", 867, "Enumerated", "MV"}, + {"PS-Free-Format-Data", 866, "OctetString", "MV"}, + {"PS-Furnish-Charging-Information", + 865, + "Grouped", + "MV"}, + {"PS-Information", 874, "Grouped", "MV"}, + {"Participant-Access-Priority", + 1259, + "Enumerated", + "MV"}, + {"Participant-Action-Type", 2049, "Enumerated", "MV"}, + {"Participant-Group", 1260, "Grouped", "MV"}, + {"Participants-Involved", 887, "UTF8String", "MV"}, + {"Play-Alternative", 3913, "Enumerated", "MV"}, + {"PoC-Change-Condition", 1261, "Enumerated", "MV"}, + {"PoC-Change-Time", 1262, "Time", "MV"}, + {"PoC-Controlling-Address", 858, "UTF8String", "MV"}, + {"PoC-Event-Type", 2025, "Enumerated", "MV"}, + {"PoC-Group-Name", 859, "UTF8String", "MV"}, + {"PoC-Information", 879, "Grouped", "MV"}, + {"PoC-Server-Role", 883, "Enumerated", "MV"}, + {"PoC-Session-Id", 1229, "UTF8String", "MV"}, + {"PoC-Session-Initiation-Type", + 1277, + "Enumerated", + "MV"}, + {"PoC-Session-Type", 884, "Enumerated", "MV"}, + {"PoC-User-Role", 1252, "Grouped", "MV"}, + {"PoC-User-Role-IDs", 1253, "UTF8String", "MV"}, + {"PoC-User-Role-Info-Units", 1254, "Enumerated", "MV"}, + {"Positioning-Data", 1245, "UTF8String", "MV"}, + {"Preferred-AoC-Currency", 2315, "Unsigned32", "MV"}, + {"Priority", 1209, "Enumerated", "MV"}, + {"Privacy-Indicator", 3915, "Enumerated", "MV"}, + {"ProSe-3rd-Party-Application-ID", + 3440, + "UTF8String", + "MV"}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + "Grouped", + "MV"}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + "Grouped", + "MV"}, + {"ProSe-Direct-Discovery-Model", + 3442, + "Enumerated", + "MV"}, + {"ProSe-Event-Type", 3443, "Enumerated", "MV"}, + {"ProSe-Function-IP-Address", 3444, "Address", "MV"}, + {"ProSe-Function-PLMN-Identifier", + 3457, + "UTF8String", + "MV"}, + {"ProSe-Functionality", 3445, "Enumerated", "MV"}, + {"ProSe-Group-IP-Multicast-Address", + 3446, + "Address", + "MV"}, + {"ProSe-Information", 3447, "Grouped", "MV"}, + {"ProSe-Range-Class", 3448, "Enumerated", "MV"}, + {"ProSe-Reason-For-Cancellation", + 3449, + "Enumerated", + "MV"}, + {"ProSe-Request-Timestamp", 3450, "Time", "MV"}, + {"ProSe-Role-Of-UE", 3451, "Enumerated", "MV"}, + {"ProSe-Source-IP-Address", 3452, "Address", "MV"}, + {"ProSe-Target-Layer-2-ID", 4410, "OctetString", "MV"}, + {"ProSe-UE-ID", 3453, "OctetString", "MV"}, + {"ProSe-UE-to-Network-Relay-UE-ID", + 4409, + "OctetString", + "MV"}, + {"Proximity-Alert-Indication", + 3454, + "Enumerated", + "MV"}, + {"Proximity-Alert-Timestamp", 3455, "Time", "MV"}, + {"Proximity-Cancellation-Timestamp", + 3456, + "Time", + "MV"}, + {"Quota-Consumption-Time", 881, "Unsigned32", "MV"}, + {"Quota-Holding-Time", 871, "Unsigned32", "MV"}, + {"Quota-Indicator", 3912, "Enumerated", "MV"}, + {"RAN-End-Time", 1301, "Time", "V"}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + "Grouped", + "V"}, + {"RAN-Start-Time", 1303, "Time", "V"}, + {"Radio-Frequency", 3462, "OctetString", "MV"}, + {"Radio-Parameter-Set-Info", 3463, "Grouped", "MV"}, + {"Radio-Parameter-Set-Values", + 3464, + "OctetString", + "MV"}, + {"Radio-Resources-Indicator", 3465, "Integer32", "MV"}, + {"Rate-Control-Max-Message-Size", + 3937, + "Unsigned32", + "MV"}, + {"Rate-Control-Max-Rate", 3938, "Unsigned32", "MV"}, + {"Rate-Control-Time-Unit", 3939, "Unsigned32", "MV"}, + {"Rate-Element", 2058, "Grouped", "MV"}, + {"Read-Reply-Report-Requested", + 1222, + "Enumerated", + "MV"}, + {"Real-Time-Tariff-Information", 2305, "Grouped", "MV"}, + {"Reason-Header", 3401, "UTF8String", "MV"}, + {"Received-Talk-Burst-Time", 1284, "Unsigned32", "MV"}, + {"Received-Talk-Burst-Volume", + 1285, + "Unsigned32", + "MV"}, + {"Recipient-Address", 1201, "Grouped", "MV"}, + {"Recipient-Info", 2026, "Grouped", "MV"}, + {"Recipient-Received-Address", 2028, "Grouped", "MV"}, + {"Recipient-SCCP-Address", 2010, "Address", "MV"}, + {"Refund-Information", 2022, "OctetString", "MV"}, + {"Related-Change-Condition-Information", + 3925, + "Grouped", + "MV"}, + {"Related-IMS-Charging-Identifier", + 2711, + "UTF8String", + "MV"}, + {"Related-IMS-Charging-Identifier-Node", + 2712, + "Address", + "MV"}, + {"Related-Trigger", 3926, "Grouped", "MV"}, + {"Relationship-Mode", 2706, "Enumerated", "MV"}, + {"Relay-IP-address", 4411, "Address", "MV"}, + {"Remaining-Balance", 2021, "Grouped", "MV"}, + {"Reply-Applic-ID", 1223, "UTF8String", "MV"}, + {"Reply-Path-Requested", 2011, "Enumerated", "MV"}, + {"Reporting-Reason", 872, "Enumerated", "MV"}, + {"Requested-PLMN-Identifier", 3436, "UTF8String", "MV"}, + {"Requested-Party-Address", 1251, "UTF8String", "MV"}, + {"Requestor-PLMN-Identifier", 3437, "UTF8String", "MV"}, + {"Role-Of-Node", 829, "Enumerated", "MV"}, + {"Role-Of-ProSe-Function", 3438, "Enumerated", "MV"}, + {"Route-Header-Received", 3403, "UTF8String", "MV"}, + {"Route-Header-Transmitted", 3404, "UTF8String", "MV"}, + {"SCS-AS-Address", 3940, "Grouped", "MV"}, + {"SCS-Address", 3941, "Address", "MV"}, + {"SCS-Realm", 3942, "DiameterIdentity", "MV"}, + {"SDP-Answer-Timestamp", 1275, "Time", "MV"}, + {"SDP-Media-Component", 843, "Grouped", "MV"}, + {"SDP-Media-Description", 845, "UTF8String", "MV"}, + {"SDP-Media-Name", 844, "UTF8String", "MV"}, + {"SDP-Offer-Timestamp", 1274, "Time", "MV"}, + {"SDP-Session-Description", 842, "UTF8String", "MV"}, + {"SDP-TimeStamps", 1273, "Grouped", "MV"}, + {"SDP-Type", 2036, "Enumerated", "MV"}, + {"SGSN-Address", 1228, "Address", "MV"}, + {"SGW-Address", 2067, "Address", "MV"}, + {"SGW-Change", 2065, "Enumerated", "MV"}, + {"SGi-PtP-Tunnelling-Method", 3931, "Enumerated", "MV"}, + {"SIP-Method", 824, "UTF8String", "MV"}, + {"SIP-Request-Timestamp", 834, "Time", "MV"}, + {"SIP-Request-Timestamp-Fraction", + 2301, + "Unsigned32", + "MV"}, + {"SIP-Response-Timestamp", 835, "Time", "MV"}, + {"SIP-Response-Timestamp-Fraction", + 2302, + "Unsigned32", + "MV"}, + {"SM-Device-Trigger-Indicator", + 3407, + "Enumerated", + "MV"}, + {"SM-Device-Trigger-Information", + 3405, + "Grouped", + "MV"}, + {"SM-Discharge-Time", 2012, "Time", "MV"}, + {"SM-Message-Type", 2007, "Enumerated", "MV"}, + {"SM-Protocol-ID", 2013, "OctetString", "MV"}, + {"SM-Sequence-Number", 3408, "Unsigned32", "MV"}, + {"SM-Service-Type", 2029, "Enumerated", "MV"}, + {"SM-Status", 2014, "OctetString", "MV"}, + {"SM-User-Data-Header", 2015, "OctetString", "MV"}, + {"SMS-Information", 2000, "Grouped", "MV"}, + {"SMS-Node", 2016, "Enumerated", "MV"}, + {"SMS-Result", 3409, "Unsigned32", "MV"}, + {"SMSC-Address", 2017, "Address", "MV"}, + {"Scale-Factor", 2059, "Grouped", "MV"}, + {"Secondary-RAT-Type", 1304, "OctetString", "V"}, + {"Served-Party-IP-Address", 848, "Address", "MV"}, + {"Service-Data-Container", 2040, "Grouped", "MV"}, + {"Service-Id", 855, "UTF8String", "MV"}, + {"Service-Information", 873, "Grouped", "MV"}, + {"Service-Mode", 2032, "Unsigned32", "MV"}, + {"Service-Specific-Data", 863, "UTF8String", "MV"}, + {"Service-Specific-Info", 1249, "Grouped", "MV"}, + {"Service-Specific-Type", 1257, "Unsigned32", "MV"}, + {"Serving-Node-Identity", + 3929, + "DiameterIdentity", + "MV"}, + {"Serving-Node-Type", 2047, "Enumerated", "MV"}, + {"Session-Direction", 2707, "Enumerated", "MV"}, + {"Start-Time", 2041, "Time", "MV"}, + {"Start-of-Charging", 3419, "Time", "MV"}, + {"Status-AS-Code", 2702, "Enumerated", "MV"}, + {"Stop-Time", 2042, "Time", "MV"}, + {"Submission-Time", 1202, "Time", "MV"}, + {"Subscriber-Role", 2033, "Enumerated", "MV"}, + {"Supplementary-Service", 2048, "Grouped", "MV"}, + {"TAD-Identifier", 2717, "Enumerated", "MV"}, + {"TWAG-Address", 3903, "Address", "MV"}, + {"TWAN-User-Location-Info", 2714, "Grouped", "MV"}, + {"Talk-Burst-Exchange", 1255, "Grouped", "MV"}, + {"Talk-Burst-Time", 1286, "Unsigned32", "MV"}, + {"Talk-Burst-Volume", 1287, "Unsigned32", "MV"}, + {"Target-IP-Address", 4412, "Address", "MV"}, + {"Tariff-Information", 2060, "Grouped", "MV"}, + {"Tariff-XML", 2306, "UTF8String", "MV"}, + {"Teleservice", 3413, "OctetString", "MV"}, + {"Terminating-IOI", 840, "UTF8String", "MV"}, + {"Time-First-Reception", 3466, "Time", "MV"}, + {"Time-First-Transmission", 3467, "Time", "MV"}, + {"Time-First-Usage", 2043, "Time", "MV"}, + {"Time-Indicator", 3911, "Unsigned32", "MV"}, + {"Time-Last-Usage", 2044, "Time", "MV"}, + {"Time-Quota-Mechanism", 1270, "Grouped", "MV"}, + {"Time-Quota-Threshold", 868, "Unsigned32", "MV"}, + {"Time-Quota-Type", 1271, "Enumerated", "MV"}, + {"Time-Stamps", 833, "Grouped", "MV"}, + {"Time-Usage", 2045, "Unsigned32", "MV"}, + {"Token-Text", 1215, "UTF8String", "MV"}, + {"Traffic-Data-Volumes", 2046, "Grouped", "MV"}, + {"Transcoder-Inserted-Indication", + 2605, + "Enumerated", + "MV"}, + {"Transit-IOI-List", 2701, "UTF8String", "MV"}, + {"Transmitter-Info", 3468, "Grouped", "MV"}, + {"Trigger", 1264, "Grouped", "MV"}, + {"Trigger-Type", 870, "Enumerated", "MV"}, + {"Trunk-Group-Id", 851, "Grouped", "MV"}, + {"Type-Number", 1204, "Enumerated", "MV"}, + {"UNI-PDU-CP-Only-Flag", 3932, "Enumerated", "MV"}, + {"UWAN-User-Location-Info", 3918, "Grouped", "MV"}, + {"Unit-Cost", 2061, "Grouped", "MV"}, + {"Unit-Quota-Threshold", 1226, "Unsigned32", "MV"}, + {"Unused-Quota-Timer", 4407, "Unsigned32", "MV"}, + {"Usage-Information-Report-Sequence-Number", + 3439, + "Integer32", + "MV"}, + {"User-CSG-Information", 2319, "Grouped", "MV"}, + {"User-Participating-Type", 1279, "Enumerated", "MV"}, + {"User-Session-Id", 830, "UTF8String", "MV"}, + {"VCS-Information", 3410, "Grouped", "MV"}, + {"VLR-Number", 3420, "OctetString", "MV"}, + {"Variable-Part", 3907, "Grouped", "MV"}, + {"Variable-Part-Order", 3908, "Unsigned32", "MV"}, + {"Variable-Part-Type", 3909, "Enumerated", "MV"}, + {"Variable-Part-Value", 3910, "UTF8String", "MV"}, + {"Volume-Quota-Threshold", 869, "Unsigned32", "MV"}]}, + {diameter_etsi_es283_034, + [{"Address-Realm", 301, "OctetString", "MV"}, + {"Aggregation-Network-Type", 307, "Enumerated", "V"}, + {"Application-Class-ID", 312, "UTF8String", "V"}, + {"IP-Connectivity-Status", 305, "Enumerated", "V"}, + {"Initial-Gate-Setting-ID", 314, "Unsigned32", "V"}, + {"Logical-Access-ID", 302, "OctetString", "V"}, + {"Maximum-Allowed-Bandwidth-DL", + 309, + "Unsigned32", + "V"}, + {"Maximum-Allowed-Bandwidth-UL", + 308, + "Unsigned32", + "V"}, + {"Physical-Access-ID", 313, "UTF8String", "V"}, + {"QoS-Profile-ID", 315, "Unsigned32", "V"}, + {"Transport-Class", 311, "Unsigned32", "V"}]}, + {diameter_rfc4004, + [{"MIP-Algorithm-Type", 345, "Enumerated", "M"}, + {"MIP-Auth-Input-Data-Length", 338, "Unsigned32", "M"}, + {"MIP-Authenticator-Length", 339, "Unsigned32", "M"}, + {"MIP-Authenticator-Offset", 340, "Unsigned32", "M"}, + {"MIP-Candidate-Home-Agent-Host", + 336, + "DiameterIdentity", + "M"}, + {"MIP-FA-Challenge", 344, "OctetString", "M"}, + {"MIP-FA-to-HA-MSA", 328, "Grouped", "M"}, + {"MIP-FA-to-HA-SPI", 318, "Unsigned32", "M"}, + {"MIP-FA-to-MN-MSA", 326, "Grouped", "M"}, + {"MIP-FA-to-MN-SPI", 319, "Unsigned32", "M"}, + {"MIP-Feature-Vector", 337, "Unsigned32", "M"}, + {"MIP-Filter-Rule", 342, "IPFilterRule", "M"}, + {"MIP-HA-to-FA-MSA", 329, "Grouped", "M"}, + {"MIP-HA-to-FA-SPI", 323, "Unsigned32", "M"}, + {"MIP-HA-to-MN-MSA", 332, "Grouped", "M"}, + {"MIP-Home-Agent-Address", 334, "Address", "M"}, + {"MIP-Home-Agent-Host", 348, "Grouped", "M"}, + {"MIP-MN-AAA-Auth", 322, "Grouped", "M"}, + {"MIP-MN-AAA-SPI", 341, "Unsigned32", "M"}, + {"MIP-MN-to-FA-MSA", 325, "Grouped", "M"}, + {"MIP-MN-to-HA-MSA", 331, "Grouped", "M"}, + {"MIP-MSA-Lifetime", 367, "Unsigned32", "M"}, + {"MIP-Mobile-Node-Address", 333, "Address", "M"}, + {"MIP-Nonce", 335, "OctetString", "M"}, + {"MIP-Originating-Foreign-AAA", 347, "Grouped", "M"}, + {"MIP-Reg-Reply", 321, "OctetString", "M"}, + {"MIP-Reg-Request", 320, "OctetString", "M"}, + {"MIP-Replay-Mode", 346, "Enumerated", "M"}, + {"MIP-Session-Key", 343, "OctetString", "M"}]}, + {diameter_rfc4006_cc, + [{"CC-Correlation-Id", 411, "OctetString", []}, + {"CC-Input-Octets", 412, "Unsigned64", "M"}, + {"CC-Money", 413, "Grouped", "M"}, + {"CC-Output-Octets", 414, "Unsigned64", "M"}, + {"CC-Request-Number", 415, "Unsigned32", "M"}, + {"CC-Request-Type", 416, "Enumerated", "M"}, + {"CC-Service-Specific-Units", 417, "Unsigned64", "M"}, + {"CC-Session-Failover", 418, "Enumerated", "M"}, + {"CC-Sub-Session-Id", 419, "Unsigned64", "M"}, + {"CC-Time", 420, "Unsigned32", "M"}, + {"CC-Total-Octets", 421, "Unsigned64", "M"}, + {"CC-Unit-Type", 454, "Enumerated", "M"}, + {"Check-Balance-Result", 422, "Enumerated", "M"}, + {"Cost-Information", 423, "Grouped", "M"}, + {"Cost-Unit", 424, "UTF8String", "M"}, + {"Credit-Control", 426, "Enumerated", "M"}, + {"Credit-Control-Failure-Handling", + 427, + "Enumerated", + "M"}, + {"Currency-Code", 425, "Unsigned32", "M"}, + {"Direct-Debiting-Failure-Handling", + 428, + "Enumerated", + "M"}, + {"Exponent", 429, "Integer32", "M"}, + {"Final-Unit-Action", 449, "Enumerated", "M"}, + {"Final-Unit-Indication", 430, "Grouped", "M"}, + {"G-S-U-Pool-Identifier", 453, "Unsigned32", "M"}, + {"G-S-U-Pool-Reference", 457, "Grouped", "M"}, + {"Granted-Service-Unit", 431, "Grouped", "M"}, + {"Multiple-Services-Credit-Control", + 456, + "Grouped", + "M"}, + {"Multiple-Services-Indicator", 455, "Enumerated", "M"}, + {"Rating-Group", 432, "Unsigned32", "M"}, + {"Redirect-Address-Type", 433, "Enumerated", "M"}, + {"Redirect-Server", 434, "Grouped", "M"}, + {"Redirect-Server-Address", 435, "UTF8String", "M"}, + {"Requested-Action", 436, "Enumerated", "M"}, + {"Requested-Service-Unit", 437, "Grouped", "M"}, + {"Restriction-Filter-Rule", 438, "IPFilterRule", "M"}, + {"Service-Context-Id", 461, "UTF8String", "M"}, + {"Service-Identifier", 439, "Unsigned32", "M"}, + {"Service-Parameter-Info", 440, "Grouped", []}, + {"Service-Parameter-Type", 441, "Unsigned32", []}, + {"Service-Parameter-Value", 442, "OctetString", []}, + {"Subscription-Id", 443, "Grouped", "M"}, + {"Subscription-Id-Data", 444, "UTF8String", "M"}, + {"Subscription-Id-Type", 450, "Enumerated", "M"}, + {"Tariff-Change-Usage", 452, "Enumerated", "M"}, + {"Tariff-Time-Change", 451, "Time", "M"}, + {"Unit-Value", 445, "Grouped", "M"}, + {"Used-Service-Unit", 446, "Grouped", "M"}, + {"User-Equipment-Info", 458, "Grouped", []}, + {"User-Equipment-Info-Type", 459, "Enumerated", []}, + {"User-Equipment-Info-Value", 460, "OctetString", []}, + {"Validity-Time", 448, "Unsigned32", "M"}, + {"Value-Digits", 447, "Integer64", "M"}]}, + {diameter_rfc5447, + [{"MIP6-Agent-Info", 486, "Grouped", "M"}, + {"MIP6-Home-Link-Prefix", 125, "OctetString", "M"}]}, + {diameter_rfc5580, + [{"Location-Data", 128, "OctetString", []}, + {"Location-Information", 127, "OctetString", []}, + {"Operator-Name", 126, "OctetString", []}]}, + {diameter_rfc5777, + [{"Absolute-End-Fractional-Seconds", + 569, + "Unsigned32", + []}, + {"Absolute-End-Time", 568, "Time", []}, + {"Absolute-Start-Fractional-Seconds", + 567, + "Unsigned32", + []}, + {"Absolute-Start-Time", 566, "Time", []}, + {"C-VID-End", 556, "Unsigned32", []}, + {"C-VID-Start", 555, "Unsigned32", []}, + {"Classifier", 511, "Grouped", []}, + {"Classifier-ID", 512, "OctetString", []}, + {"Day-Of-Month-Mask", 564, "Unsigned32", []}, + {"Day-Of-Week-Mask", 563, "Unsigned32", []}, + {"Diffserv-Code-Point", 535, "Enumerated", []}, + {"Direction", 514, "Enumerated", []}, + {"ETH-Ether-Type", 550, "OctetString", []}, + {"ETH-Option", 548, "Grouped", []}, + {"ETH-Proto-Type", 549, "Grouped", []}, + {"ETH-SAP", 551, "OctetString", []}, + {"EUI64-Address", 527, "OctetString", []}, + {"EUI64-Address-Mask", 528, "Grouped", []}, + {"EUI64-Address-Mask-Pattern", 529, "OctetString", []}, + {"Excess-Treatment", 577, "Grouped", []}, + {"Filter-Rule", 509, "Grouped", []}, + {"Filter-Rule-Precedence", 510, "Unsigned32", []}, + {"Fragmentation-Flag", 536, "Enumerated", []}, + {"From-Spec", 515, "Grouped", []}, + {"High-User-Priority", 559, "Unsigned32", []}, + {"ICMP-Code", 547, "Enumerated", []}, + {"ICMP-Type", 545, "Grouped", []}, + {"ICMP-Type-Number", 546, "Enumerated", []}, + {"IP-Address", 518, "Address", []}, + {"IP-Address-End", 521, "Address", []}, + {"IP-Address-Mask", 522, "Grouped", []}, + {"IP-Address-Range", 519, "Grouped", []}, + {"IP-Address-Start", 520, "Address", []}, + {"IP-Mask-Bit-Mask-Width", 523, "Unsigned32", []}, + {"IP-Option", 537, "Grouped", []}, + {"IP-Option-Type", 538, "Enumerated", []}, + {"IP-Option-Value", 539, "OctetString", []}, + {"Low-User-Priority", 558, "Unsigned32", []}, + {"MAC-Address", 524, "OctetString", []}, + {"MAC-Address-Mask", 525, "Grouped", []}, + {"MAC-Address-Mask-Pattern", 526, "OctetString", []}, + {"Month-Of-Year-Mask", 565, "Unsigned32", []}, + {"Negated", 517, "Enumerated", []}, + {"Port", 530, "Integer32", []}, + {"Port-End", 533, "Integer32", []}, + {"Port-Range", 531, "Grouped", []}, + {"Port-Start", 532, "Integer32", []}, + {"Protocol", 513, "Enumerated", []}, + {"QoS-Capability", 578, "Grouped", []}, + {"QoS-Parameters", 576, "Grouped", []}, + {"QoS-Profile-Id", 573, "Unsigned32", []}, + {"QoS-Profile-Template", 574, "Grouped", []}, + {"QoS-Resources", 508, "Grouped", []}, + {"QoS-Semantics", 575, "Enumerated", []}, + {"S-VID-End", 554, "Unsigned32", []}, + {"S-VID-Start", 553, "Unsigned32", []}, + {"TCP-Flag-Type", 544, "Unsigned32", []}, + {"TCP-Flags", 543, "Grouped", []}, + {"TCP-Option", 540, "Grouped", []}, + {"TCP-Option-Type", 541, "Enumerated", []}, + {"TCP-Option-Value", 542, "OctetString", []}, + {"Time-Of-Day-Condition", 560, "Grouped", []}, + {"Time-Of-Day-End", 562, "Unsigned32", []}, + {"Time-Of-Day-Start", 561, "Unsigned32", []}, + {"Timezone-Flag", 570, "Enumerated", []}, + {"Timezone-Offset", 571, "Integer32", []}, + {"To-Spec", 516, "Grouped", []}, + {"Treatment-Action", 572, "Enumerated", []}, + {"Use-Assigned-Address", 534, "Enumerated", []}, + {"User-Priority-Range", 557, "Grouped", []}, + {"VLAN-ID-Range", 552, "Grouped", []}]}, + {diameter_rfc5778, + [{"Service-Selection", 493, "UTF8String", "M"}]}, + {diameter_rfc7683, + [{"OC-Feature-Vector", 622, "Unsigned64", []}, + {"OC-OLR", 623, "Grouped", []}, + {"OC-Reduction-Percentage", 627, "Unsigned32", []}, + {"OC-Report-Type", 626, "Enumerated", []}, + {"OC-Sequence-Number", 624, "Unsigned64", []}, + {"OC-Supported-Features", 621, "Grouped", []}, + {"OC-Validity-Duration", 625, "Unsigned32", []}]}, + {diameter_rfc7944, [{"DRMP", 301, "Enumerated", []}]}, + {diameter_rfc8583, + [{"Load", 650, "Grouped", []}, + {"Load-Type", 651, "Enumerated", []}, + {"Load-Value", 652, "Unsigned64", []}, + {"SourceID", 649, "DiameterIdentity", []}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Status", [{"AN_GW_FAILED", 0}]}, + {"Bearer-Control-Mode", + [{"UE_ONLY", 0}, {"RESERVED", 1}, {"UE_NW", 2}]}, + {"Bearer-Operation", + [{"TERMINATION", 0}, + {"ESTABLISHMENT", 1}, + {"MODIFICATION", 2}]}, + {"Bearer-Usage", + [{"GENERAL", 0}, {"IMS_SIGNALLING", 1}]}, + {"Charging-Correlation-Indicator", + [{"CHARGING_IDENTIFIER_REQUIRED", 0}]}, + {"CSG-Information-Reporting", + [{"CHANGE_CSG_CELL", 0}, + {"CHANGE_CSG_SUBSCRIBED_HYBRID_CELL", 1}, + {"CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL", 2}]}, + {"Event-Trigger", + [{"SGSN_CHANGE", 0}, + {"QOS_CHANGE", 1}, + {"RAT_CHANGE", 2}, + {"TFT_CHANGE", 3}, + {"PLMN_CHANGE", 4}, + {"LOSS_OF_BEARER", 5}, + {"RECOVERY_OF_BEARER", 6}, + {"IP-CAN_CHANGE", 7}, + {"QOS_CHANGE_EXCEEDING_AUTHORIZATION", 11}, + {"RAI_CHANGE", 12}, + {"USER_LOCATION_CHANGE", 13}, + {"NO_EVENT_TRIGGERS", 14}, + {"OUT_OF_CREDIT", 15}, + {"REALLOCATION_OF_CREDIT", 16}, + {"REVALIDATION_TIMEOUT", 17}, + {"UE_IP_ADDRESS_ALLOCATE", 18}, + {"UE_IP_ADDRESS_RELEASE", 19}, + {"DEFAULT_EPS_BEARER_QOS_CHANGE", 20}, + {"AN_GW_CHANGE", 21}, + {"SUCCESSFUL_RESOURCE_ALLOCATION", 22}, + {"RESOURCE_MODIFICATION_REQUEST", 23}, + {"PGW_TRACE_CONTROL", 24}, + {"UE_TIME_ZONE_CHANGE", 25}, + {"TAI_CHANGE", 26}, + {"ECGI_CHANGE", 27}, + {"CHARGING_CORRELATION_EXCHANGE", 28}, + {"APN-AMBR_MODIFICATION_FAILURE", 29}, + {"USER_CSG_INFORMATION_CHANGE", 30}, + {"USAGE_REPORT", 33}, + {"DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE", 34}, + {"USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE", 35}, + {"USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE", 36}, + {"ROUTING_RULE_CHANGE", 37}, + {"APPLICATION_START", 39}, + {"APPLICATION_STOP", 40}, + {"CS_TO_PS_HANDOVER", 42}, + {"UE_LOCAL_IP_ADDRESS_CHANGE", 43}, + {"HNB_LOCAL_IP_ADDRESS_CHANGE", 44}, + {"ACCESS_NETWORK_INFO_REPORT", 45}, + {"CREDIT_MANAGEMENT_SESSION_FAILURE", 46}, + {"DEFAULT_QOS_CHANGE", 47}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_A" + "REA_REPORT", + 48}]}, + {"Flow-Direction", + [{"UNSPECIFIED", 0}, + {"DOWNLINK", 1}, + {"UPLINK", 2}, + {"BIDIRECTIONAL", 3}]}, + {"IP-CAN-Session-Charging-Scope", + [{"IP-CAN_SESSION_SCOPE", 0}]}, + {"IP-CAN-Type", + [{"3GPP-GPRS", 0}, + {"DOCSIS", 1}, + {"xDSL", 2}, + {"WiMAX", 3}, + {"3GPP2", 4}, + {"3GPP-EPS", 5}, + {"Non-3GPP-EPS", 6}, + {"FBA", 7}]}, + {"Metering-Method", + [{"DURATION", 0}, + {"VOLUME", 1}, + {"DURATION_VOLUME", 2}, + {"EVENT", 3}]}, + {"Mute-Notification", [{"MUTE_REQUIRED", 0}]}, + {"Network-Request-Support", + [{"NETWORK_REQUEST_NOT_SUPPORTED", 0}, + {"NETWORK_REQUEST_SUPPORTED", 1}]}, + {"Offline", + [{"DISABLE_OFFLINE", 0}, {"ENABLE_OFFLINE", 1}]}, + {"Online", + [{"DISABLE_ONLINE", 0}, {"ENABLE_ONLINE", 1}]}, + {"Packet-Filter-Operation", + [{"DELETION", 0}, + {"ADDITION", 1}, + {"MODIFICATION", 2}]}, + {"Packet-Filter-Usage", [{"SEND_TO_UE", 1}]}, + {"PCC-Rule-Status", + [{"ACTIVE", 0}, + {"INACTIVE", 1}, + {"TEMPORARILY_INACTIVE", 2}]}, + {"Pre-emption-Capability", + [{"PRE-EMPTION_CAPABILITY_ENABLED", 0}, + {"PRE-EMPTION_CAPABILITY_DISABLED", 1}]}, + {"Pre-emption-Vulnerability", + [{"PRE-EMPTION_VULNERABILITY_ENABLED", 0}, + {"PRE-EMPTION_VULNERABILITY_DISABLED", 1}]}, + {"PS-to-CS-Session-Continuity", + [{"VIDEO_PS2CS_CONT_CANDIDATE", 0}]}, + {"QoS-Class-Identifier", + [{"QCI_1", 1}, + {"QCI_2", 2}, + {"QCI_3", 3}, + {"QCI_4", 4}, + {"QCI_5", 5}, + {"QCI_6", 6}, + {"QCI_7", 7}, + {"QCI_8", 8}, + {"QCI_9", 9}, + {"QCI_65", 65}, + {"QCI_66", 66}, + {"QCI_69", 69}, + {"QCI_70", 70}]}, + {"QoS-Negotiation", + [{"NO_QoS_NEGOTIATION", 0}, + {"QoS_NEGOTIATION_SUPPORTED", 1}]}, + {"QoS-Upgrade", + [{"QoS_UPGRADE_NOT_SUPPORTED", 0}, + {"QoS_UPGRADE_SUPPORTED", 1}]}, + {"RAT-Type", + [{"WLAN", 0}, + {"VIRTUAL", 1}, + {"UTRAN", 1000}, + {"GERAN", 1001}, + {"GAN", 1002}, + {"HSPA_EVOLUTION", 1003}, + {"EUTRAN", 1004}, + {"CDMA2000_1X", 2000}, + {"HRPD", 2001}, + {"UMB", 2002}, + {"EHRPD", 2003}]}, + {"Redirect-Support", + [{"REDIRECTION_DISABLED", 0}, + {"REDIRECTION_ENABLED", 1}]}, + {"Reporting-Level", + [{"SERVICE_IDENTIFIER_LEVEL", 0}, + {"RATING_GROUP_LEVEL", 1}, + {"SPONSORED_CONNECTIVITY_LEVEL", 2}]}, + {"Resource-Allocation-Notification", + [{"ENABLE_NOTIFICATION", 0}]}, + {"Rule-Failure-Code", + [{"UNKNOWN_RULE_NAME", 1}, + {"RATING_GROUP_ERROR", 2}, + {"SERVICE_IDENTIFIER_ERROR", 3}, + {"GW_PCEF_MALFUNCTION", 4}, + {"RESOURCES_LIMITATION", 5}, + {"MAX_NR_BEARERS_REACHED", 6}, + {"UNKNOWN_BEARER_ID", 7}, + {"MISSING_BEARER_ID", 8}, + {"MISSING_FLOW_INFORMATION", 9}, + {"RESOURCE_ALLOCATION_FAILURE", 10}, + {"UNSUCCESSFUL_QOS_VALIDATION", 11}, + {"INCORRECT_FLOW_INFORMATION", 12}, + {"PS_TO_CS_HANDOVER", 13}, + {"TDF_APPLICATION_IDENTIFIER_ERROR", 14}, + {"NO_BEARER_BOUND", 15}, + {"FILTER_RESTRICTIONS", 16}, + {"AN_GW_FAILED", 17}, + {"MISSING_REDIRECT_SERVER_ADDRESS", 18}, + {"CM_END_USER_SERVICE_DENIED", 19}, + {"CM_CREDIT_CONTROL_NOT_APPLICABLE", 20}, + {"CM_AUTHORIZATION_REJECTED", 21}, + {"CM_USER_UNKNOWN", 22}, + {"CM_RATING_FAILED", 23}]}, + {"Session-Release-Cause", + [{"UNSPECIFIED_REASON", 0}, + {"UE_SUBSCRIPTION_REASON", 1}, + {"INSUFFICIENT_SERVER_RESOURCES", 2}, + {"IP_CAN_SESSION_TERMINATION", 3}, + {"UE_IP_ADDRESS_RELEASE", 4}]}, + {"Usage-Monitoring-Level", + [{"SESSION_LEVEL", 0}, + {"PCC_RULE_LEVEL", 1}, + {"ADC_RULE_LEVEL", 2}]}, + {"Usage-Monitoring-Report", + [{"USAGE_MONITORING_REPORT_REQUIRED", 0}]}, + {"Usage-Monitoring-Support", + [{"USAGE_MONITORING_DISABLED", 0}]}]}, + {diameter_3gpp_ts29_229, + [{"Server-Assignment-Type", + [{"NO_ASSIGNMENT", 0}, + {"REGISTRATION", 1}, + {"RE_REGISTRATION", 2}, + {"UNREGISTERED_USER", 3}, + {"TIMEOUT_DEREGISTRATION", 4}, + {"USER_DEREGISTRATION", 5}, + {"TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 6}, + {"USER_DEREGISTRATION_STORE_SERVER_NAME", 7}, + {"ADMINISTRATIVE_DEREGISTRATION", 8}, + {"AUTHENTICATION_FAILURE", 9}, + {"AUTHENTICATION_TIMEOUT", 10}, + {"DEREGISTRATION_TOO_MUCH_DATA", 11}, + {"AAA_USER_DATA_REQUEST", 12}, + {"PGW_UPDATE", 13}, + {"RESTORATION", 14}]}]}, + {diameter_3gpp_ts29_272, + [{"Network-Access-Mode", + [{"PACKET_AND_CIRCUIT", 0}, + {"RESERVED", 1}, + {"ONLY_PACKET", 2}]}, + {"Cancellation-Type", + [{"MME_UPDATE_PROCEDURE", 0}, + {"SGSN_UPDATE_PROCEDURE", 1}, + {"SUBSCRIPTION_WITHDRAWAL", 2}, + {"UPDATE_PROCEDURE_IWF", 3}, + {"INITIAL_ATTACH_PROCEDURE", 4}]}, + {"Subscriber-Status", + [{"SERVICE_GRANTED", 0}, + {"OPERATOR_DETERMINED_BARRING", 1}]}, + {"All-APN-Configurations-Included-Indicator", + [{"All_APN_CONFIGURATIONS_INCLUDED", 0}, + {"MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED", 1}]}, + {"VPLMN-Dynamic-Address-Allowed", + [{"NOTALLOWED", 0}, {"ALLOWED", 1}]}, + {"PDN-GW-Allocation-Type", + [{"STATIC", 0}, {"DYNAMIC", 1}]}, + {"Equipment-Status", + [{"WHITELISTED", 0}, + {"BLACKLISTED", 1}, + {"GREYLISTED", 2}]}, + {"PDN-Type", + [{"IPv4", 0}, + {"IPv6", 1}, + {"IPv4v6", 2}, + {"IPv4_OR_IPv6", 3}]}, + {"Complete-Data-List-Included-Indicator", + [{"All_PDP_CONTEXTS_INCLUDED", 0}, + {"MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED", 1}]}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + [{"ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE", 0}]}, + {"Alert-Reason", + [{"UE_PRESENT", 0}, {"UE_MEMORY_AVAILABLE", 1}]}, + {"Notification-To-UE-User", + [{"NOTIFY_LOCATION_ALLOWED", 0}, + {"NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE", 1}, + {"NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RE" + "SPONSE", + 2}, + {"LOCATION_NOT_ALLOWED", 3}]}, + {"GMLC-Restriction", + [{"GMLC_LIST", 0}, {"HOME_COUNTRY", 1}]}, + {"PLMN-Client", + [{"BROADCAST_SERVICE", 0}, + {"O_AND_M_HPLMN", 1}, + {"O_AND_M_VPLMN", 2}, + {"ANONYMOUS_LOCATION", 3}, + {"TARGET_UE_SUBSCRIBED_SERVICE", 4}]}, + {"ICS-Indicator", [{"FALSE", 0}, {"TRUE", 1}]}, + {"IMS-Voice-Over-PS-Sessions-Supported", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"User-State", + [{"DETACHED", 0}, + {"ATTACHED_NOT_REACHABLE_FOR_PAGING", 1}, + {"ATTACHED_REACHABLE_FOR_PAGING", 2}, + {"CONNECTED_NOT_REACHABLE_FOR_PAGING", 3}, + {"CONNECTED_REACHABLE_FOR_PAGING", 4}, + {"NETWORK_DETERMINED_NOT_REACHABLE", 5}]}, + {"Current-Location-Retrieved", + [{"ACTIVE-LOCATION-RETRIEVAL", 0}]}, + {"Error-Diagnostic", + [{"GPRS_DATA_SUBSCRIBED", 0}, + {"NO_GPRS_DATA_SUBSCRIBED", 1}, + {"ODB-ALL-APN", 2}, + {"ODB-HPLMN-APN", 3}, + {"ODB-VPLMN-APN", 4}]}, + {"UE-SRVCC-Capability", + [{"UE-SRVCC-NOT-SUPPORTED", 0}, + {"UE-SRVCC-SUPPORTED", 1}]}, + {"VPLMN-LIPA-Allowed", + [{"LIPA-NOTALLOWED", 0}, {"LIPA-ALLOWED", 1}]}, + {"LIPA-Permission", + [{"LIPA-PROHIBITED", 0}, + {"LIPA-ONLY", 1}, + {"LIPA-CONDITIONAL", 2}]}, + {"SIPTO-Permission", + [{"SIPTO_ALLOWED", 0}, {"SIPTO_NOTALLOWED", 1}]}, + {"Relay-Node-Indicator", + [{"NOT_RELAY_NODE", 0}, {"RELAY_NODE", 1}]}, + {"MDT-User-Consent", + [{"CONSENT_NOT_GIVEN", 0}, {"CONSENT_GIVEN", 1}]}, + {"Subscribed-VSRVCC", [{"VSRVCC_SUBSCRIBED", 0}]}, + {"SMS-Register-Request", + [{"SMS_REGISTRATION_REQUIRED", 0}, + {"SMS_REGISTRATION_NOT_PREFERRED", 1}, + {"NO_PREFERENCE", 2}]}, + {"Daylight-Saving-Time", + [{"NO_ADJUSTMENT", 0}, + {"PLUS_ONE_HOUR_ADJUSTMENT", 1}, + {"PLUS_TWO_HOURS_ADJUSTMENT", 2}]}]}, + {diameter_3gpp_ts29_273, + [{"AN-Trusted", [{"TRUSTED", 0}, {"UNTRUSTED", 1}]}, + {"Transport-Access-Type", [{"BBF", 0}]}, + {"Non-3GPP-IP-Access", + [{"NON_3GPP_SUBSCRIPTION_ALLOWED", 0}, + {"NON_3GPP_SUBSCRIPTION_BARRED", 1}]}, + {"Non-3GPP-IP-Access-APN", + [{"NON_3GPP_APNS_ENABLE", 0}, + {"NON_3GPP_APNS_DISABLE", 1}]}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", + [{"Active", 0}, {"Inactive", 1}]}, + {"Access-Transfer-Type", + [{"PS-to-CS-Transfer", 0}, + {"CS-to-PS-Transfer", 1}, + {"PS-to-PS-Transfer", 2}, + {"CS-to-CS-Transfer", 3}]}, + {"Adaptations", [{"Yes", 0}, {"No", 1}]}, + {"Additional-Exception-Reports", + [{"Not-allowed", 0}, {"Allowed", 1}]}, + {"Address-Type", + [{"e-mail-address", 0}, + {"MSISDN", 1}, + {"IPv4-Address", 2}, + {"IPv6-Address", 3}, + {"Numeric-Shortcode", 4}, + {"Alphanumeric-Shortcode", 5}, + {"Other", 6}, + {"IMSI", 7}]}, + {"Addressee-Type", [{"TO", 0}, {"CC", 1}, {"BCC", 2}]}, + {"AoC-Format", + [{"MONETARY", 0}, {"NON_MONETARY", 1}, {"CAI", 2}]}, + {"AoC-Request-Type", + [{"AoC_NOT_REQUESTED", 0}, + {"AoC_FULL", 1}, + {"AoC_COST_ONLY", 2}, + {"AoC_TARIFF_ONLY", 3}]}, + {"AoC-Service-Obligatory-Type", + [{"NON_BINDING", 0}, {"BINDING", 1}]}, + {"AoC-Service-Type", + [{"NONE", 0}, + {"AOC-S", 1}, + {"AOC-D", 2}, + {"AOC-E", 3}]}, + {"Charge-Reason-Code", + [{"UNKNOWN", 0}, + {"USAGE", 1}, + {"COMMUNICATION-ATTEMPT-CHARGE", 2}, + {"SETUP-CHARGE", 3}, + {"ADD-ON-CHARGE", 4}]}, + {"Charging-Characteristics-Selection-Mode", + [{"Serving-Node-Supplied", 0}, + {"Subscription-specific", 1}, + {"APN-specific", 2}, + {"Home-Default", 3}, + {"Roaming-Default", 4}, + {"Visiting-Default", 5}]}, + {"Charging-Per-IP-CAN-Session-Indicator", + [{"Inactive", 0}, {"Active", 1}]}, + {"Class-Identifier", + [{"Personal", 0}, + {"Advertisement", 1}, + {"Informational", 2}, + {"Auto", 3}]}, + {"CN-Operator-Selection-Entity", + [{"The-Serving-Network-has-been-selected-by-the-UE", 0}, + {"The-Serving-Network-has-been-selected-by-the-" + "network", + 1}]}, + {"Content-Class", + [{"text", 0}, + {"image-basic", 1}, + {"image-rich", 2}, + {"video-basic", 3}, + {"video-rich", 4}, + {"megapixel", 5}, + {"content-basic", 6}, + {"content-rich", 7}]}, + {"Coverage-Status", + [{"Out-of-coverage", 0}, {"In-coverage", 1}]}, + {"CP-CIoT-EPS-Optimisation-Indicator", + [{"Not-Apply", 0}, {"Apply", 1}]}, + {"CSG-Access-Mode", + [{"Closed-mode", 0}, {"Hybrid-Mode", 1}]}, + {"CSG-Membership-Indication", + [{"Not-CSG-member", 0}, {"CSG-Member", 1}]}, + {"Delivery-Report-Requested", [{"No", 0}, {"Yes", 1}]}, + {"DRM-Content", [{"No", 0}, {"Yes", 1}]}, + {"Dynamic-Address-Flag", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Dynamic-Address-Flag-Extension", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Envelope-Reporting", + [{"DO_NOT_REPORT_ENVELOPES", 0}, + {"REPORT_ENVELOPES", 1}, + {"REPORT_ENVELOPES_WITH_VOLUME", 2}, + {"REPORT_ENVELOPES_WITH_EVENTS", 3}, + {"REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", 4}]}, + {"File-Repair-Supported", + [{"SUPPORTED", 1}, {"NOT_SUPPORTED", 2}]}, + {"Forwarding-Pending", + [{"Forwarding-not-pending", 0}, + {"Forwarding-pending", 1}]}, + {"Interface-Type", + [{"Unknown", 0}, + {"MOBILE_ORIGINATING", 1}, + {"MOBILE_TERMINATING", 2}, + {"APPLICATION_ORIGINATING", 3}, + {"APPLICATION_TERMINATION", 4}]}, + {"Inter-UE-Transfer", + [{"Intra-UE-transfer", 0}, {"Inter-UE-transfer", 1}]}, + {"IMS-Emergency-Indicator", + [{"Non-Emergency", 0}, {"Emergency", 1}]}, + {"IMSI-Unauthenticated-Flag", + [{"Authenticated", 0}, {"Unauthenticated", 1}]}, + {"IP-Realm-Default-Indication", + [{"Default-IP-Realm-Not-used", 0}, + {"Default-IP-realm-used", 1}]}, + {"LCS-Client-Type", + [{"EMERGENCY_SERVICES", 0}, + {"VALUE_ADDED_SERVICES", 1}, + {"PLMN_OPERATOR_SERVICES", 2}, + {"LAWFUL_INTERCEPT_SERVICES", 3}]}, + {"LCS-Format-Indicator", + [{"LOGICAL_NAME", 0}, + {"EMAIL_ADDRESS", 1}, + {"MSISDN", 2}, + {"URL", 3}, + {"SIP_URL", 4}]}, + {"Local-GW-Inserted-Indication", + [{"Local-GW-Not-Inserted", 0}, + {"Local-GW-Inserted", 1}]}, + {"Location-Estimate-Type", + [{"CURRENT_LOCATION", 0}, + {"CURRENT_LAST_KNOWN_LOCATION", 1}, + {"INITIAL_LOCATION", 2}, + {"ACTIVATE_DEFERRED_LOCATION", 3}, + {"CANCEL_DEFERRED_LOCATION", 4}]}, + {"Low-Balance-Indication", + [{"NOT-APPLICABLE", 0}, {"YES", 1}]}, + {"Low-Priority-Indicator", [{"NO", 0}, {"YES", 1}]}, + {"MBMS-Charged-Party", + [{"Content-Provider", 0}, {"Subscriber", 1}]}, + {"MBMS-User-Service-Type", + [{"DOWNLOAD", 1}, {"STREAMING", 2}]}, + {"Media-Initiator-Flag", + [{"called-party", 0}, + {"calling-party", 1}, + {"unknown", 2}]}, + {"Message-Type", + [{"m-send-req", 1}, + {"m-send-conf", 2}, + {"m-notification-ind", 3}, + {"m-notifyresp-ind", 4}, + {"m-retrieve-conf", 5}, + {"m-acknowledge-ind", 6}, + {"m-delivery-ind", 7}, + {"m-read-rec-ind", 8}, + {"m-read-orig-ind", 9}, + {"m-forward-req", 10}, + {"m-forward-conf", 11}, + {"m-mbox-store-conf", 12}, + {"m-mbox-view-conf", 13}, + {"m-mbox-upload-conf", 14}, + {"m-mbox-delete-conf", 15}]}, + {"MMBox-Storage-Requested", [{"No", 0}, {"Yes", 1}]}, + {"NNI-Type", + [{"non-roaming", 0}, + {"roaming-without-loopback", 1}, + {"roaming-with-loopback", 2}]}, + {"Node-Functionality", + [{"S-CSCF", 0}, + {"P-CSCF", 1}, + {"I-CSCF", 2}, + {"MRFC", 3}, + {"MGCF", 4}, + {"BGCF", 5}, + {"AS", 6}, + {"IBCF", 7}, + {"S-GW", 8}, + {"P-GW", 9}, + {"HSGW", 10}, + {"E-CSCF", 11}, + {"MME", 12}, + {"TRF", 13}, + {"TF", 14}, + {"ATCF", 15}, + {"Proxy-Function", 16}, + {"ePDG", 17}, + {"TDF", 18}, + {"TWAG", 19}, + {"SCEF", 20}, + {"IWK-SCEF", 21}]}, + {"Online-Charging-Flag", + [{"ECF-address-not-provided", 0}, + {"ECF-address-provided", 1}]}, + {"Originator", + [{"Calling-Party", 0}, {"Called-Party", 1}]}, + {"Participant-Access-Priority", + [{"Pre-emptive-priority", 1}, + {"High-priority", 2}, + {"Normal-priority", 3}, + {"Low-priority", 4}]}, + {"Participant-Action-Type", + [{"CREATE_CONF", 0}, + {"JOIN_CONF", 1}, + {"INVITE_INTO_CONF", 2}, + {"QUIT_CONF", 3}]}, + {"PC5-Radio-Technology", + [{"EUTRA", 0}, + {"WLAN", 1}, + {"Both-EUTRA-and-WLAN", 2}]}, + {"PDP-Context-Type", + [{"Primary", 0}, {"Secondary", 1}]}, + {"Play-Alternative", + [{"served-party", 0}, {"remote-party", 1}]}, + {"PoC-Change-Condition", + [{"ServiceChange", 0}, + {"VolumeLimit", 1}, + {"TimeLimit", 2}, + {"NumberofTalkBurstLimit", 3}, + {"NumberofActiveParticipants", 4}, + {"TariffTime", 5}]}, + {"PoC-Event-Type", + [{"Normal", 0}, + {"Instant-Personal-Alert-event", 1}, + {"PoC-Group-Advertisement-event", 2}, + {"Early-Ssession-Setting-up-event", 3}, + {"PoC-Talk-Burst", 4}]}, + {"PoC-Server-Role", + [{"Participating-PoC-Server", 0}, + {"Controlling-PoC-Server", 1}, + {"Interworking-function", 2}, + {"Interworking-selection-function", 3}]}, + {"PoC-Session-Initiation-Type", + [{"Pre-established", 0}, {"On-demand", 1}]}, + {"PoC-Session-Type", + [{"1-to-1-PoC-session", 0}, + {"Chat-PoC-group-session", 1}, + {"Pre-arranged-PoC-group-session", 2}, + {"Ad-hoc-PoC-group-session", 3}]}, + {"PoC-User-Role-Info-Units", + [{"Moderator", 1}, + {"Dispatcher", 2}, + {"Session-Owner", 3}, + {"Session-Participant", 4}]}, + {"Priority", [{"Low", 0}, {"Normal", 1}, {"High", 2}]}, + {"Privacy-Indicator", + [{"NOT_PRIVATE", 0}, {"PRIVATE", 1}]}, + {"ProSe-Direct-Discovery-Model", + [{"Model-A", 0}, {"Model-B", 1}]}, + {"ProSe-Event-Type", + [{"Annoucing", 0}, + {"Monitoring", 1}, + {"Match-Report", 2}]}, + {"ProSe-Functionality", + [{"Direct-discovery", 0}, + {"EPC-level-discovery", 1}, + {"Direct-communication", 2}]}, + {"ProSe-Range-Class", + [{"Reserved", 0}, + {"50m", 1}, + {"100m", 2}, + {"200m", 3}, + {"500m", 4}, + {"1000m", 5}]}, + {"ProSe-Reason-For-Cancellation", + [{"Proximity-Alert-sent", 0}, + {"Time-expired-with-no-renewal", 1}, + {"Requestor-cancellation", 2}]}, + {"ProSe-Role-Of-UE", + [{"Announcing-UE", 0}, + {"Monitoring-UE", 1}, + {"Requestor-UE", 2}, + {"Requested-UE", 3}]}, + {"Proximity-Alert-Indication", + [{"Alert", 0}, {"No-Alert", 1}]}, + {"PS-Append-Free-Format-Data", + [{"Append", 0}, {"Overwrite", 1}]}, + {"Quota-Indicator", + [{"QUOTA_IS_NOT_USED_DURING_PLAYBACK", 0}, + {"QUOTA_IS_USED_DURING_PLAYBACK", 1}]}, + {"Read-Reply-Report-Requested", + [{"No", 0}, {"Yes", 1}]}, + {"Relationship-Mode", + [{"trusted", 0}, {"non-trusted", 1}]}, + {"Reply-Path-Requested", + [{"No-Reply-Path-Set", 0}, {"Reply-path-Set", 1}]}, + {"Reporting-Reason", + [{"THRESHOLD", 0}, + {"QHT", 1}, + {"FINAL", 2}, + {"QUOTA_EXHAUSTED", 3}, + {"VALIDITY_TIME", 4}, + {"OTHER_QUOTA_TYPE", 5}, + {"RATING_CONDITION_CHANGE", 6}, + {"FORCED_REAUTHORISATION", 7}, + {"POOL_EXHAUSTED", 8}, + {"UNUSED_QUOTA_TIMER", 9}]}, + {"Role-Of-Node", + [{"ORIGINATING_ROLE", 0}, + {"TERMINATING_ROLE", 1}, + {"FORWARDING_ROLE", 2}]}, + {"Role-Of-ProSe-Function", + [{"HPLMN", 0}, {"VPLMN", 1}, {"Local-PLMN", 2}]}, + {"SDP-Type", [{"SDP-Offer", 0}, {"SDP-Answer", 1}]}, + {"Session-Direction", + [{"inbound", 0}, {"outbound", 1}]}, + {"Serving-Node-Type", + [{"SGSN", 0}, + {"PMIPSGW", 1}, + {"GTPSGW", 2}, + {"ePDG", 3}, + {"hSGW", 4}, + {"MME", 5}, + {"TWAN", 6}]}, + {"SGi-PtP-Tunnelling-Method", + [{"UDP_IP_based", 0}, {"Others", 1}]}, + {"SGW-Change", + [{"ACR_Start_NOT_due_to_SGW_Change", 0}, + {"ACR_Start_due_to_SGW_Change", 1}]}, + {"SM-Device-Trigger-Indicator", + [{"Not-DeviceTrigger", 0}, + {"Device-Trigger-request", 1}, + {"Device-Trigger-replace", 2}, + {"Device-Trigger-recall", 3}]}, + {"SM-Message-Type", + [{"SUBMISSION", 0}, + {"DELIVERY_REPORT", 1}, + {"SM-Service-Request", 2}, + {"T4-Device-Trigger", 3}, + {"SM-Device-Trigger", 4}, + {"MO-SMS-T4-submission", 5}]}, + {"SMS-Node", + [{"SMS-Router", 0}, + {"IP-SM-GW", 1}, + {"SMS-Router-and-IP-SM-GW", 2}, + {"SMS-SC", 3}]}, + {"SM-Service-Type", + [{"VAS4SMS-Short-Message-content-processing", 0}, + {"VAS4SMS-Short-Message-forwarding", 1}, + {"VAS4SMS-Short-Message-Forwarding-multiple-sub" + "scriptions", + 2}, + {"VAS4SMS-Short-Message-filtering", 3}, + {"VAS4SMS-Short-Message-receipt", 4}, + {"VAS4SMS-Short-Message-Network-Storage", 5}, + {"VAS4SMS-Short-Message-to-multiple-destinations", 6}, + {"VAS4SMS-Short-Message-Virtual-Private-Network", 7}, + {"VAS4SMS-Short-Message-Auto-Reply", 8}, + {"VAS4SMS-Short-Message-Personal-Signature", 9}, + {"VAS4SMS-Short-Message-Deferred-Delivery", 10}]}, + {"Status-AS-Code", + [{"4xx", 0}, {"5xx", 1}, {"Timeout", 2}]}, + {"Subscriber-Role", + [{"Originating", 0}, {"Terminating", 1}]}, + {"TAD-Identifier", [{"CS", 0}, {"PS", 1}]}, + {"Time-Quota-Type", + [{"DISCRETE_TIME_PERIOD", 0}, + {"CONTINUOUS_TIME_PERIOD", 1}]}, + {"Transcoder-Inserted-Indication", + [{"Transcoder-Not-Inserted", 0}, + {"Transcoder-Inserted", 1}]}, + {"Trigger-Type", + [{"CHANGE_IN_SGSN_IP_ADDRESS", 1}, + {"CHANGE_IN_QOS", 2}, + {"CHANGE_IN_LOCATION", 3}, + {"CHANGE_IN_RAT", 4}, + {"CHANGE_IN_UE_TIMEZONE", 5}, + {"CHANGEINQOS_TRAFFIC_CLASS", 10}, + {"CHANGEINQOS_RELIABILITY_CLASS", 11}, + {"CHANGEINQOS_DELAY_CLASS", 12}, + {"CHANGEINQOS_PEAK_THROUGHPUT", 13}, + {"CHANGEINQOS_PRECEDENCE_CLASS", 14}, + {"CHANGEINQOS_MEAN_THROUGHPUT", 15}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", 16}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", 17}, + {"CHANGEINQOS_RESIDUAL_BER", 18}, + {"CHANGEINQOS_SDU_ERROR_RATIO", 19}, + {"CHANGEINQOS_TRANSFER_DELAY", 20}, + {"CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", 21}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", 22}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", 23}, + {"CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", 24}, + {"CHANGEINLOCATION_MCC", 30}, + {"CHANGEINLOCATION_MNC", 31}, + {"CHANGEINLOCATION_RAC", 32}, + {"CHANGEINLOCATION_LAC", 33}, + {"CHANGEINLOCATION_CellId", 34}, + {"CHANGEINLOCATION_TAC", 35}, + {"CHANGEINLOCATION_ECGI", 36}, + {"CHANGE_IN_MEDIA_COMPOSITION", 40}, + {"CHANGE_IN_PARTICIPANTS_NMB", 50}, + {"CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB", 51}, + {"CHANGE_IN_USER_PARTICIPATING_TYPE", 52}, + {"CHANGE_IN_SERVICE_CONDITION", 60}, + {"CHANGE_IN_SERVING_NODE", 61}, + {"CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW", 62}, + {"CHANGE_IN_USER_CSG_INFORMATION", 70}, + {"CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", + 71}, + {"CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORM" + "ATION", + 72}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", + 73}, + {"CHANGE_IN_APN_RATE_CONTROL", 75}, + {"CHANGE_IN_3GPP_PS_DATA_OFF", 76}]}, + {"UNI-PDU-CP-Only-Flag", + [{"UNI-PDU-both-UP-CP", 0}, {"UNI-PDU-CP-Only", 1}]}, + {"User-Participating-Type", + [{"Normal", 0}, {"NW-PoC-Box", 1}, {"UE-PoC-Box", 2}]}, + {"Variable-Part-Type", + [{"Integer", 0}, + {"Number", 1}, + {"Time", 2}, + {"Date", 3}, + {"Currency", 4}]}]}, + {diameter_rfc4006_cc, + [{"CC-Request-Type", + [{"INITIAL_REQUEST", 1}, + {"UPDATE_REQUEST", 2}, + {"TERMINATION_REQUEST", 3}, + {"EVENT_REQUEST", 4}]}, + {"CC-Session-Failover", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Check-Balance-Result", + [{"ENOUGH_CREDIT", 0}, {"NO_CREDIT", 1}]}, + {"Credit-Control", + [{"AUTHORIZATION", 0}, {"RE_AUTHORIZATION", 1}]}, + {"Credit-Control-Failure-Handling", + [{"TERMINATE", 0}, + {"CONTINUE", 1}, + {"RETRY_AND_TERMINATE", 2}]}, + {"Direct-Debiting-Failure-Handling", + [{"TERMINATE_OR_BUFFER", 0}, {"CONTINUE", 1}]}, + {"Tariff-Change-Usage", + [{"UNIT_BEFORE_TARIFF_CHANGE", 0}, + {"UNIT_AFTER_TARIFF_CHANGE", 1}, + {"UNIT_INDETERMINATE", 2}]}, + {"CC-Unit-Type", + [{"TIME", 0}, + {"MONEY", 1}, + {"TOTAL-OCTETS", 2}, + {"INPUT-OCTETS", 3}, + {"OUTPUT-OCTETS", 4}, + {"SERVICE-SPECIFIC-UNITS", 5}]}, + {"Final-Unit-Action", + [{"TERMINATE", 0}, + {"REDIRECT", 1}, + {"RESTRICT_ACCESS", 2}]}, + {"Redirect-Address-Type", + [{"IPV4", 0}, {"IPV6", 1}, {"URL", 2}, {"SIP_URI", 3}]}, + {"Multiple-Services-Indicator", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Requested-Action", + [{"DIRECT_DEBITING", 0}, + {"REFUND_ACCOUNT", 1}, + {"CHECK_BALANCE", 2}, + {"PRICE_ENQUIRY", 3}]}, + {"Subscription-Id-Type", + [{"END_USER_E164", 0}, + {"END_USER_IMSI", 1}, + {"END_USER_SIP_URI", 2}, + {"END_USER_NAI", 3}, + {"END_USER_PRIVATE", 4}]}, + {"User-Equipment-Info-Type", + [{"IMEISV", 0}, + {"MAC", 1}, + {"EUI64", 2}, + {"MODIFIED_EUI64", 3}]}]}, + {diameter_rfc5777, + [{"Protocol", [{"PROTOCOL_TODO_CHECK_RFC2780", 0}]}, + {"Direction", + [{"DIRECTION_IN", 0}, + {"DIRECTION_OUT", 1}, + {"DIRECTION_BOTH", 2}]}, + {"Negated", + [{"NEGATED_FALSE", 0}, {"NEGATED_TRUE", 1}]}, + {"Use-Assigned-Address", + [{"USE_ASSIGNED_ADDRESS_FALSE", 0}, + {"USE_ASSIGNED_ADDRESS_TRUE", 1}]}, + {"Diffserv-Code-Point", + [{"DIFFSERV_CODE_POINT_TODO_CHECK_RFC2474", 0}]}, + {"Fragmentation-Flag", + [{"FRAGMENTATION_FLAG_DF", 0}, + {"FRAGMENTATION_FLAG_MF", 1}]}, + {"IP-Option-Type", + [{"IP_OPTION_TYPE_TODO_CHECK_RFC2780", 0}]}, + {"TCP-Option-Type", + [{"TCP_OPTION_TYPE_TODO_CHECK_RFC2780", 0}]}, + {"ICMP-Type-Number", + [{"ICMP_TYPE_NUMBER_TODO_CHECK_RFC2780", 0}]}, + {"ICMP-Code", [{"ICMP_CODE_TODO_CHECK_RFC2780", 0}]}, + {"Timezone-Flag", + [{"TIMEZOME_FLAG_UTC", 0}, + {"TIMEZOME_FLAG_LOCAL", 1}, + {"TIMEZOME_FLAG_OFFSET", 2}]}, + {"Treatment-Action", + [{"TREATMENT_ACTION_DROP", 0}, + {"TREATMENT_ACTION_SHAPE", 1}, + {"TREATMENT_ACTION_MARK", 2}, + {"TREATMENT_ACTION_PERMIT", 3}]}, + {"QoS-Semantics", + [{"QOS_SEMANTICS_DESIRED", 0}, + {"QOS_SEMANTICS_AVAILABLE", 1}, + {"QOS_SEMANTICS_DELIVERED", 2}, + {"QOS_SEMANTICS_MINIMUM", 3}, + {"QOS_SEMANTICS_AUTHORIZE", 4}]}]}, + {diameter_rfc7683, + [{"OC-Report-Type", + [{"HOST_REPORT", 0}, {"REALM_REPORT", 1}]}]}, + {diameter_rfc7944, + [{"DRMP", + [{"PRIORITY_15", 15}, + {"PRIORITY_14", 14}, + {"PRIORITY_13", 13}, + {"PRIORITY_12", 12}, + {"PRIORITY_11", 11}, + {"PRIORITY_10", 10}, + {"PRIORITY_9", 9}, + {"PRIORITY_8", 8}, + {"PRIORITY_7", 7}, + {"PRIORITY_6", 6}, + {"PRIORITY_5", 5}, + {"PRIORITY_4", 4}, + {"PRIORITY_3", 3}, + {"PRIORITY_2", 2}, + {"PRIORITY_1", 1}, + {"PRIORITY_0", 0}]}]}, + {diameter_rfc8583, + [{"Load-Type", [{"HOST", 0}, {"PEER", 1}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_3gpp_break_circles, + [{"Emergency-Info", + 1687, + [10415], + [["MIP6-Agent-Info"], {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_212, + [{"Access-Network-Charging-Identifier-Gx", + 1022, + [], + [{"Access-Network-Charging-Identifier-Value"}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Charging-Rule-Name"]}, + ["IP-CAN-Session-Charging-Scope"], + {'*', ["AVP"]}]}, + {"Allocation-Retention-Priority", + 1034, + [], + [{"Priority-Level"}, + ["Pre-emption-Capability"], + ["Pre-emption-Vulnerability"]]}, + {"Application-Detection-Information", + 1098, + [], + [{"TDF-Application-Identifier"}, + ["TDF-Application-Instance-Identifier"], + {'*', ["Flow-Information"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Definition", + 1003, + [], + [{"Charging-Rule-Name"}, + ["Service-Identifier"], + ["Rating-Group"], + {'*', ["Flow-Information"]}, + ["TDF-Application-Identifier"], + ["Flow-Status"], + ["QoS-Information"], + ["PS-to-CS-Session-Continuity"], + ["Reporting-Level"], + ["Online"], + ["Offline"], + ["Metering-Method"], + ["Precedence"], + ["AF-Charging-Identifier"], + {'*', ["Flows"]}, + ["Monitoring-Key"], + ["Redirect-Information"], + ["Mute-Notification"], + ["AF-Signalling-Protocol"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Install", + 1001, + [], + [{'*', ["Charging-Rule-Definition"]}, + {'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["Rule-Activation-Time"], + ["Rule-Deactivation-Time"], + ["Resource-Allocation-Notification"], + ["Charging-Correlation-Indicator"], + {'*', ["AVP"]}]}, + {"Charging-Rule-Remove", + 1002, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Report", + 1018, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["PCC-Rule-Status"], + ["Rule-Failure-Code"], + ["Final-Unit-Indication"], + {'*', ["RAN-NAS-Release-Cause"]}, + {'*', ["AVP"]}]}, + {"CoA-Information", + 1039, + [], + [{"Tunnel-Information"}, + {"CoA-IP-Address"}, + {'*', ["AVP"]}]}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + [], + [["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["IP-CAN-Type"]}, + {'*', ["RAT-Type"]}, + {'*', ["AVP"]}]}, + {"Default-EPS-Bearer-QoS", + 1049, + [], + [["QoS-Class-Identifier"], + ["Allocation-Retention-Priority"], + {'*', ["AVP"]}]}, + {"Default-QoS-Information", + 2816, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Default-QoS-Name"], + {'*', ["AVP"]}]}, + {"Event-Report-Indication", + 1033, + [], + [{'*', ["Event-Trigger"]}, + ["IP-CAN-Type"], + {{0, 2}, ["AN-GW-Address"]}, + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["3GPP-SGSN-MCC-MNC"], + ["Framed-IP-Address"], + ["RAT-Type"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["3GPP-MS-TimeZone"], + ["Routing-IP-Address"], + ["UE-Local-IP-Address"], + ["HeNB-Local-IP-Address"], + ["UDP-Source-Port"], + ["Presence-Reporting-Area-Information"], + {'*', ["AVP"]}]}, + {"Fixed-User-Location-Info", + 2825, + [], + [["Logical-Access-ID"], + ["Physical-Access-ID"], + {'*', ["AVP"]}]}, + {"Flow-Information", + 1058, + [], + [["Flow-Description"], + ["Packet-Filter-Identifier"], + ["Packet-Filter-Usage"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Packet-Filter-Information", + 1061, + [], + [["Packet-Filter-Identifier"], + ["Precedence"], + ["Packet-Filter-Content"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Presence-Reporting-Area-Information", + 2822, + [], + [["Presence-Reporting-Area-Identifier"], + ["Presence-Reporting-Area-Status"], + ["Presence-Reporting-Area-Elements-List"], + {'*', ["AVP"]}]}, + {"QoS-Information", + 1016, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Guaranteed-Bitrate-UL"], + ["Guaranteed-Bitrate-DL"], + ["Bearer-Identifier"], + ["Allocation-Retention-Priority"], + ["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["Conditional-APN-Aggregate-Max-Bitrate"]}, + {'*', ["AVP"]}]}, + {"Redirect-Information", + 1085, + [], + [["Redirect-Support"], + ["Redirect-Address-Type"], + ["Redirect-Server-Address"], + {'*', ["AVP"]}]}, + {"Routing-Filter", + 1078, + [], + [{"Flow-Description"}, + {"Flow-Direction"}, + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Definition", + 1076, + [], + [{"Routing-Rule-Identifier"}, + {'*', ["Routing-Filter"]}, + ["Precedence"], + ["Routing-IP-Address"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Install", + 1081, + [], + [{'*', ["Routing-Rule-Definition"]}, {'*', ["AVP"]}]}, + {"Routing-Rule-Remove", + 1075, + [], + [{'*', ["Routing-Rule-Identifier"]}, {'*', ["AVP"]}]}, + {"TDF-Information", + 1087, + [], + [["TDF-Destination-Realm"], + ["TDF-Destination-Host"], + ["TDF-IP-Address"]]}, + {"Tunnel-Information", + 1038, + [], + [["Tunnel-Header-Length"], + {{0, 2}, ["Tunnel-Header-Filter"]}, + {'*', ["AVP"]}]}, + {"TFT-Packet-Filter-Information", + 1013, + [], + [["Precedence"], + ["TFT-Filter"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Usage-Monitoring-Information", + 1067, + [], + [["Monitoring-Key"], + {{0, 2}, ["Granted-Service-Unit"]}, + {{0, 2}, ["Used-Service-Unit"]}, + ["Usage-Monitoring-Level"], + ["Usage-Monitoring-Report"], + ["Usage-Monitoring-Support"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_214, + [{"Flows", + 510, + [], + [{"Media-Component-Number"}, + {'*', ["Flow-Number"]}, + ["Final-Unit-Action"]]}]}, + {diameter_3gpp_ts29_229, + [{"Charging-Information", + 618, + [], + [["Primary-Event-Charging-Function-Name"], + ["Secondary-Event-Charging-Function-Name"], + ["Primary-Charging-Collection-Function-Name"], + ["Secondary-Charging-Collection-Function-Name"], + {'*', ["AVP"]}]}, + {"Supported-Features", + 628, + [], + [{"Vendor-Id"}, + {"Feature-List-ID"}, + {"Feature-List"}, + {'*', ["AVP"]}]}, + {"Supported-Applications", + 631, + [10415], + [{'*', ["Auth-Application-Id"]}, + {'*', ["Acct-Application-Id"]}, + {'*', ["Vendor-Specific-Application-Id"]}, + {'*', ["AVP"]}]}, + {"SIP-Auth-Data-Item", + 612, + [10415], + [["SIP-Item-Number"], + ["SIP-Authentication-Scheme"], + ["SIP-Authenticate"], + ["SIP-Authorization"], + ["SIP-Authentication-Context"], + ["Confidentiality-Key"], + ["Integrity-Key"], + ["SIP-Digest-Authenticate"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + {'*', ["Line-Identifier"]}, + {'*', ["AVP"]}]}, + {"Deregistration-Reason", + 615, + [10415], + [{"Reason-Code"}, ["Reason-Info"], {'*', ["AVP"]}]}, + {"SIP-Digest-Authenticate", + 635, + [10415], + [{"Digest-Realm"}, + {"Digest-QoP"}, + {"Digest-HA1"}, + ["Digest-Algorithm"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_272, + [{"Subscription-Data", + 1400, + [10415], + [["Subscriber-Status"], + ["MSISDN"], + ["A-MSISDN"], + ["STN-SR"], + ["ICS-Indicator"], + ["Network-Access-Mode"], + ["Operator-Determined-Barring"], + ["HPLMN-ODB"], + {{0, 10}, ["Regional-Subscription-Zone-Code"]}, + ["Access-Restriction-Data"], + ["APN-OI-Replacement"], + ["LCS-Info"], + ["Teleservice-List"], + {'*', ["Call-Barring-Info"]}, + ["3GPP-Charging-Characteristics"], + ["AMBR"], + ["APN-Configuration-Profile"], + ["RAT-Frequency-Selection-Priority-ID"], + ["Trace-Data"], + ["GPRS-Subscription-Data"], + {'*', ["CSG-Subscription-Data"]}, + ["Roaming-Restricted-Due-To-Unsupported-Feature"], + ["Subscribed-Periodic-RAU-TAU-Timer"], + ["MPS-Priority"], + ["VPLMN-LIPA-Allowed"], + ["Relay-Node-Indicator"], + ["MDT-User-Consent"], + ["Subscribed-VSRVCC"], + ["Subscription-Data-Flags"], + {'*', ["AVP"]}]}, + {"Terminal-Information", + 1401, + [10415], + [["IMEI"], + ["3GPP2-MEID"], + ["Software-Version"], + {'*', ["AVP"]}]}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Authentication-Info", + 1413, + [10415], + [{'*', ["E-UTRAN-Vector"]}, + {'*', ["UTRAN-Vector"]}, + {'*', ["GERAN-Vector"]}, + {'*', ["AVP"]}]}, + {"E-UTRAN-Vector", + 1414, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"KASME"}, + {'*', ["AVP"]}]}, + {"UTRAN-Vector", + 1415, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"Confidentiality-Key"}, + {"Integrity-Key"}, + {'*', ["AVP"]}]}, + {"GERAN-Vector", + 1416, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"SRES"}, + {"Kc"}, + {'*', ["AVP"]}]}, + {"APN-Configuration-Profile", + 1429, + [10415], + [{"Context-Identifier"}, + {"All-APN-Configurations-Included-Indicator"}, + {'*', {"APN-Configuration"}}, + {'*', ["AVP"]}]}, + {"APN-Configuration", + 1430, + [10415], + [{"Context-Identifier"}, + {"PDN-Type"}, + {"Service-Selection"}, + {{0, 2}, ["Served-Party-IP-Address"]}, + ["EPS-Subscribed-QoS-Profile"], + ["VPLMN-Dynamic-Address-Allowed"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + ["PDN-GW-Allocation-Type"], + ["3GPP-Charging-Characteristics"], + ["AMBR"], + {'*', ["Specific-APN-Info"]}, + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"EPS-Subscribed-QoS-Profile", + 1431, + [10415], + [{"QoS-Class-Identifier"}, + {"Allocation-Retention-Priority"}, + {'*', ["AVP"]}]}, + {"AMBR", + 1435, + [10415], + [{"Max-Requested-Bandwidth-UL"}, + {"Max-Requested-Bandwidth-DL"}, + {'*', ["AVP"]}]}, + {"Trace-Data", + 1458, + [10415], + [{"Trace-Reference"}, + {"Trace-Depth"}, + {"Trace-NE-Type-List"}, + {"Trace-Event-List"}, + {"Trace-Collection-Entity"}, + ["Trace-Interface-List"], + ["OMC-Id"], + ["MDT-Configuration"], + {'*', ["AVP"]}]}, + {"GPRS-Subscription-Data", + 1467, + [10415], + [{"Complete-Data-List-Included-Indicator"}, + {{1, 50}, {"PDP-Context"}}, + {'*', ["AVP"]}]}, + {"PDP-Context", + 1469, + [10415], + [{"Context-Identifier"}, + {"PDP-Type"}, + {"QoS-Subscribed"}, + {"Service-Selection"}, + ["PDP-Address"], + ["VPLMN-Dynamic-Address-Allowed"], + ["3GPP-Charging-Characteristics"], + ["Ext-PDP-Type"], + ["Ext-PDP-Address"], + ["AMBR"], + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"CSG-Subscription-Data", + 1436, + [10415], + [{"CSG-Id"}, + ["Expiration-Date"], + {'*', ["Service-Selection"]}, + ["Visited-PLMN-Id"], + {'*', ["AVP"]}]}, + {"Specific-APN-Info", + 1472, + [10415], + [{"Service-Selection"}, + {"MIP6-Agent-Info"}, + ["Visited-Network-Identifier"], + {'*', ["AVP"]}]}, + {"LCS-Info", + 1473, + [10415], + [{'*', ["GMLC-Number"]}, + {'*', ["LCS-PrivacyException"]}, + {'*', ["MO-LR"]}, + {'*', ["AVP"]}]}, + {"LCS-PrivacyException", + 1475, + [10415], + [{"SS-Code"}, + {"SS-Status"}, + ["Notification-To-UE-User"], + {'*', ["External-Client"]}, + {'*', ["PLMN-Client"]}, + {'*', ["Service-Type"]}, + {'*', ["AVP"]}]}, + {"External-Client", + 1479, + [10415], + [{"Client-Identity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"Service-Type", + 1483, + [10415], + [{"ServiceTypeIdentity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"MO-LR", + 1485, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"Teleservice-List", + 1486, + [10415], + [{'*', {"TS-Code"}}, {'*', ["AVP"]}]}, + {"Call-Barring-Info", + 1488, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"EPS-User-State", + 1495, + [10415], + [["MME-User-State"], + ["SGSN-User-State"], + {'*', ["AVP"]}]}, + {"EPS-Location-Information", + 1496, + [10415], + [["MME-Location-Information"], + ["SGSN-Location-Information"], + {'*', ["AVP"]}]}, + {"MME-User-State", + 1497, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"SGSN-User-State", + 1498, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"MME-Location-Information", + 1600, + [10415], + [["E-UTRAN-Cell-Global-Identity"], + ["Tracking-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"SGSN-Location-Information", + 1601, + [10415], + [["Cell-Global-Identity"], + ["Location-Area-Identity"], + ["Service-Area-Identity"], + ["Routing-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"Active-APN", + 1612, + [10415], + [{"Context-Identifier"}, + ["Service-Selection"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + {'*', ["Specific-APN-Info"]}, + {'*', ["AVP"]}]}, + {"MDT-Configuration", + 1622, + [10415], + [{"Job-Type"}, + ["Area-Scope"], + ["List-Of-Measurements"], + ["Reporting-Trigger"], + ["Report-Interval"], + ["Report-Amount"], + ["Event-Threshold-RSRP"], + ["Event-Threshold-RSRQ"], + ["Logging-Interval"], + ["Logging-Duration"], + ["Measurement-Period-LTE"], + ["Measurement-Period-UMTS"], + ["Positioning-Method"], + ["Measurement-Quantity"], + ["Event-Threshold-Event-1F"], + ["Event-Threshold-Event-1I"], + {'*', ["AVP"]}]}, + {"Area-Scope", + 1624, + [10415], + [{'*', ["Cell-Global-Identity"]}, + {'*', ["E-UTRAN-Cell-Global-Identity"]}, + {'*', ["Routing-Area-Identity"]}, + {'*', ["Location-Area-Identity"]}, + {'*', ["Tracking-Area-Identity"]}, + {'*', ["AVP"]}]}, + {"Equivalent-PLMN-List", + 1637, + [10415], + [{'*', {"Visited-PLMN-Id"}}, {'*', ["AVP"]}]}, + {"VPLMN-CSG-Subscription-Data", + 1641, + [10415], + [{"CSG-Id"}, ["Expiration-Date"], {'*', ["AVP"]}]}, + {"Local-Time-Zone", + 1649, + [10415], + [{"Time-Zone"}, + {"Daylight-Saving-Time"}, + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_273, + [{"WLAN-Identifier", + 1509, + [10415], + [["SSID"], ["HESSID"], {'*', ["AVP"]}]}, + {"Access-Network-Info", + 1526, + [10415], + [["SSID"], + ["BSSID"], + ["Location-Information"], + ["Location-Data"], + ["Operator-Name"], + ["Logical-Access-ID"], + {'*', ["AVP"]}]}, + {"TWAN-Connectivity-Parameters", + 1528, + [10415], + [["Connectivity-Flags"], + ["Service-Selection"], + ["PDN-Type"], + {{0, 2}, ["Served-Party-IP-Address"]}, + ["TWAN-PCO"], + ["TWAG-UP-Address"], + ["TWAN-S2a-Failure-Cause"], + ["SM-Back-Off-Timer"], + {'*', ["AVP"]}]}, + {"Non-3GPP-User-Data", + 1500, + [10415], + [["Subscription-Id"], + ["Non-3GPP-IP-Access"], + ["Non-3GPP-IP-Access-APN"], + {'*', ["RAT-Type"]}, + ["Session-Timeout"], + ["MIP6-Feature-Vector"], + ["AMBR"], + ["3GPP-Charging-Characteristics"], + ["Context-Identifier"], + ["APN-OI-Replacement"], + {'*', ["APN-Configuration"]}, + ["Trace-Info"], + ["TWAN-Default-APN-Context-Id"], + {'*', ["TWAN-Access-Info"]}, + ["UE-Usage-Type"], + ["Emergency-Info"], + ["ERP-Authorization"], + ["Core-Network-Restrictions"], + {'*', ["AVP"]}]}, + {"Trace-Info", + 1505, + [10415], + [["Trace-Data"], ["Trace-Reference"], {'*', ["AVP"]}]}, + {"TWAN-Access-Info", + 1510, + [10415], + [["Access-Authorization-Flags"], + ["WLAN-Identifier"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts32_299, + [{"Access-Network-Info-Change", + 4401, + [], + [{'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Change-Time"]]}, + {"Access-Transfer-Information", + 2709, + [], + [["Access-Transfer-Type"], + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Inter-UE-Transfer"], + ["User-Equipment-Info"], + ["Instance-Id"], + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Change-Time"]]}, + {"Accumulated-Cost", + 2052, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Additional-Content-Information", + 1207, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"]]}, + {"Address-Domain", + 898, + [], + [["Domain-Name"], ["3GPP-IMSI-MCC-MNC"]]}, + {"AF-Correlation-Information", + 1276, + [], + [{"AF-Charging-Identifier"}, {'*', ["Flows"]}]}, + {"Announcement-Information", + 3904, + [], + [{"Announcement-Identifier"}, + {'*', ["Variable-Part"]}, + ["Time-Indicator"], + ["Quota-Indicator"], + ["Announcement-Order"], + ["Play-Alternative"], + ["Privacy-Indicator"], + ["Language"]]}, + {"AoC-Cost-Information", + 2053, + [], + [["Accumulated-Cost"], + {'*', ["Incremental-Cost"]}, + ["Currency-Code"]]}, + {"AoC-Information", + 2054, + [], + [["AoC-Cost-Information"], + ["Tariff-Information"], + ["AoC-Subscription-Information"]]}, + {"AoC-Service", + 2311, + [], + [["AoC-Service-Obligatory-Type"], + ["AoC-Service-Type"]]}, + {"AoC-Subscription-Information", + 2314, + [], + [{'*', ["AoC-Service"]}, + ["AoC-Format"], + ["Preferred-AoC-Currency"]]}, + {"APN-Rate-Control", + 3933, + [], + [["APN-Rate-Control-Uplink"], + ["APN-Rate-Control-Downlink"]]}, + {"APN-Rate-Control-Downlink", + 3934, + [], + [["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"], + ["Rate-Control-Max-Message-Size"]]}, + {"APN-Rate-Control-Uplink", + 3935, + [], + [["Additional-Exception-Reports"], + ["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"]]}, + {"Application-Server-Information", + 850, + [], + [["Application-Server"], + {'*', ["Application-Provided-Called-Party-Address"]}, + ["Status-AS-Code"]]}, + {"Basic-Service-Code", + 3411, + [], + [["Bearer-Service"], ["Teleservice"]]}, + {"Called-Identity-Change", + 3917, + [], + [["Called-Identity"], ["Change-Time"]]}, + {"Coverage-Info", + 3459, + [], + [["Coverage-Status"], + ["Change-Time"], + {'*', ["Location-Info"]}]}, + {"CPDT-Information", + 3927, + [], + [["Serving-Node-Identity"], + ["SGW-Change"], + ["NIDD-Submission"]]}, + {"Current-Tariff", + 2056, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"Destination-Interface", + 2002, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Early-Media-Description", + 1272, + [], + [["SDP-TimeStamps"], + {'*', ["SDP-Media-Component"]}, + {'*', ["SDP-Session-Description"]}]}, + {"Enhanced-Diagnostics", + 3901, + [], + [{'*', ["RAN-NAS-Release-Cause"]}]}, + {"Envelope", + 1266, + [], + [{"Envelope-Start-Time"}, + ["Envelope-End-Time"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"]]}, + {"Event-Type", + 823, + [], + [["SIP-Method"], ["Event"], ["Expires"]]}, + {"Incremental-Cost", + 2062, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"IMS-Information", + 876, + [], + [{"Node-Functionality"}, + ["Event-Type"], + ["Role-Of-Node"], + ["User-Session-Id"], + ["Outgoing-Session-Id"], + ["Session-Priority"], + {'*', ["Calling-Party-Address"]}, + ["Called-Party-Address"], + {'*', ["Called-Asserted-Identity"]}, + ["Called-Identity-Change"], + ["Number-Portability-Routing-Information"], + ["Carrier-Select-Routing-Information"], + ["Alternate-Charged-Party-Address"], + {'*', ["Requested-Party-Address"]}, + {'*', ["Associated-URI"]}, + ["Time-Stamps"], + {'*', ["Application-Server-Information"]}, + {'*', ["Inter-Operator-Identifier"]}, + {'*', ["Transit-IOI-List"]}, + ["IMS-Charging-Identifier"], + {'*', ["SDP-Session-Description"]}, + {'*', ["SDP-Media-Component"]}, + ["Served-Party-IP-Address"], + ["Trunk-Group-Id"], + ["Bearer-Service"], + ["Service-Id"], + {'*', ["Service-Specific-Info"]}, + {'*', ["Message-Body"]}, + ["Cause-Code"], + {'*', ["Reason-Header"]}, + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + {'*', ["Early-Media-Description"]}, + ["IMS-Communication-Service-Identifier"], + ["IMS-Application-Reference-Identifier"], + ["Online-Charging-Flag"], + ["Real-Time-Tariff-Information"], + ["Account-Expiration"], + ["Initial-IMS-Charging-Identifier"], + {'*', ["NNI-Information"]}, + ["From-Address"], + ["IMS-Emergency-Indicator"], + ["IMS-Visited-Network-Identifier"], + {'*', ["Access-Network-Info-Change"]}, + {'*', ["Access-Transfer-Information"]}, + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Route-Header-Received"], + ["Route-Header-Transmitted"], + ["Instance-Id"], + ["TAD-Identifier"], + ["FE-Identifier-List"]]}, + {"Inter-Operator-Identifier", + 838, + [], + [["Originating-IOI"], ["Terminating-IOI"]]}, + {"ISUP-Cause", + 3416, + [], + [["ISUP-Cause-Location"], + ["ISUP-Cause-Value"], + ["ISUP-Cause-Diagnostics"]]}, + {"LCS-Client-ID", + 1232, + [], + [["LCS-Client-Type"], + ["LCS-Client-External-ID"], + ["LCS-Client-Dialed-By-MS"], + ["LCS-Client-Name"], + ["LCS-APN"], + ["LCS-Requestor-ID"]]}, + {"LCS-Client-Name", + 1235, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Name-String"], + ["LCS-Format-Indicator"]]}, + {"LCS-Information", + 878, + [], + [["LCS-Client-ID"], + ["Location-Type"], + ["Location-Estimate"], + ["Positioning-Data"], + ["3GPP-IMSI"], + ["MSISDN"]]}, + {"LCS-Requestor-ID", + 1239, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Requestor-ID-String"]]}, + {"Location-Info", + 3460, + [], + [["3GPP-User-Location-Info"], ["Change-Time"]]}, + {"Location-Type", + 1244, + [], + [["Location-Estimate-Type"], + ["Deferred-Location-Event-Type"]]}, + {"MBMS-Information", + 880, + [], + [["TMGI"], + ["MBMS-User-Service-Type"], + ["File-Repair-Supported"], + ["MBMS-2G-3G-Indicator"], + {'*', ["MBMS-Service-Area"]}, + ["MBMS-Session-Identity"], + ["CN-IP-Multicast-Distribution"], + ["MBMS-GW-Address"], + ["MBMS-Charged-Party"], + {'*', ["MSISDN"]}]}, + {"Message-Body", + 889, + [], + [{"Content-Type"}, + {"Content-Length"}, + ["Content-Disposition"], + ["Originator"]]}, + {"Message-Class", + 1213, + [], + [["Class-Identifier"], ["Token-Text"]]}, + {"MM-Content-Type", + 1203, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"], + {'*', ["Additional-Content-Information"]}]}, + {"MMS-Information", + 877, + [], + [["Originator-Address"], + {'*', ["Recipient-Address"]}, + ["Submission-Time"], + ["MM-Content-Type"], + ["Priority"], + ["Message-ID"], + ["Message-Type"], + ["Message-Size"], + ["Message-Class"], + ["Delivery-Report-Requested"], + ["Read-Reply-Report-Requested"], + ["MMBox-Storage-Requested"], + ["Applic-ID"], + ["Reply-Applic-ID"], + ["Aux-Applic-Info"], + ["Content-Class"], + ["DRM-Content"], + ["Adaptations"]]}, + {"MMTel-Information", + 2030, + [], + [{'*', ["Supplementary-Service"]}]}, + {"Monitoring-Event-Information", + 3921, + [], + [["Monitoring-Event-Functionality"], + ["Event-Timestamp"], + ["Monitoring-Event-Configuration-Activity"], + ["Charged-Party"], + {'*', ["Monitoring-Event-Report-Data"]}]}, + {"Monitoring-Event-Report-Data", + 3920, + [], + [["Event-Timestamp"], + ["Monitoring-Event-Report-Number"], + ["Charged-Party"], + ["Subscription-Id"]]}, + {"Next-Tariff", + 2057, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"NIDD-Submission", + 3928, + [], + [["Submission-Time"], + ["Event-Timestamp"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"]]}, + {"NNI-Information", + 2703, + [], + [["Session-Direction"], + ["NNI-Type"], + ["Relationship-Mode"], + ["Neighbour-Node-Address"]]}, + {"Offline-Charging", + 1278, + [], + [["Quota-Consumption-Time"], + ["Time-Quota-Mechanism"], + ["Envelope-Reporting"], + {'*', ["Multiple-Services-Credit-Control"]}, + {'*', ["AVP"]}]}, + {"Originator-Address", + 886, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Originator-Interface", + 2009, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Originator-Received-Address", + 2027, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Participant-Group", + 1260, + [], + [["Called-Party-Address"], + ["Participant-Access-Priority"], + ["User-Participating-Type"]]}, + {"PoC-Information", + 879, + [], + [["PoC-Server-Role"], + ["PoC-Session-Type"], + ["PoC-User-Role"], + ["PoC-Session-Initiation-Type"], + ["PoC-Event-Type"], + ["Number-Of-Participants"], + {'*', ["Participants-Involved"]}, + {'*', ["Participant-Group"]}, + {'*', ["Talk-Burst-Exchange"]}, + ["PoC-Controlling-Address"], + ["PoC-Group-Name"], + ["PoC-Session-Id"], + ["Charged-Party"]]}, + {"PoC-User-Role", + 1252, + [], + [["PoC-User-Role-IDs"], ["PoC-User-Role-Info-Units"]]}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Input-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Output-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Information", + 3447, + [], + [["Announcing-UE-HPLMN-Identifier"], + ["Announcing-UE-VPLMN-Identifier"], + ["Monitoring-UE-HPLMN-Identifier"], + ["Monitoring-UE-VPLMN-Identifier"], + ["Role-Of-ProSe-Function"], + ["ProSe-3rd-Party-Application-ID"], + ["Application-Specific-Data"], + ["ProSe-Event-Type"], + ["ProSe-Direct-Discovery-Model"], + ["ProSe-Function-IP-Address"], + ["ProSe-Role-Of-UE"], + ["ProSe-Request-Timestamp"], + ["PC3-Control-Protocol-Cause"], + ["Monitoring-UE-Identifier"], + ["Requestor-PLMN-Identifier"], + ["Requested-PLMN-Identifier"], + ["ProSe-Range-Class"], + ["Proximity-Alert-Indication"], + ["Proximity-Alert-Timestamp"], + ["Proximity-Cancellation-Timestamp"], + ["ProSe-Reason-For-Cancellation"], + ["PC3-EPC-Control-Protocol-Cause"], + ["ProSe-UE-ID"], + ["ProSe-Source-IP-Address"], + ["Layer-2-Group-ID"], + ["ProSe-Group-IP-Multicast-Address"], + {'*', ["Coverage-Info"]}, + {'*', ["Radio-Parameter-Set-Info"]}, + {'*', ["Transmitter-Info"]}, + ["Time-First-Transmission"], + ["Time-First-Reception"], + {'*', + ["ProSe-Direct-Communication-Transmission-Data-" + "Container"]}, + {'*', + ["ProSe-Direct-Communication-Reception-Data-Con" + "tainer"]}, + ["Announcing-PLMN-ID"], + ["ProSe-Target-Layer-2-ID"], + ["Relay-IP-address"], + ["ProSe-UE-to-Network-Relay-UE-ID"], + ["Target-IP-Address"], + ["PC5-Radio-Technology"]]}, + {"PS-Furnish-Charging-Information", + 865, + [], + [{"3GPP-Charging-Id"}, + {"PS-Free-Format-Data"}, + ["PS-Append-Free-Format-Data"]]}, + {"PS-Information", + 874, + [], + [["3GPP-Charging-Id"], + ["PDN-Connection-Charging-ID"], + ["Node-Id"], + ["3GPP-PDP-Type"], + {'*', ["PDP-Address"]}, + ["PDP-Address-Prefix-Length"], + ["Dynamic-Address-Flag"], + ["Dynamic-Address-Flag-Extension"], + ["QoS-Information"], + {'*', ["SGSN-Address"]}, + {'*', ["GGSN-Address"]}, + {'*', ["TDF-IP-Address"]}, + {'*', ["SGW-Address"]}, + {'*', ["TWAG-Address"]}, + ["CG-Address"], + ["Serving-Node-Type"], + ["SGW-Change"], + ["3GPP-IMSI-MCC-MNC"], + ["IMSI-Unauthenticated-Flag"], + ["3GPP-GGSN-MCC-MNC"], + ["3GPP-NSAPI"], + ["Called-Station-Id"], + ["3GPP-Session-Stop-Indicator"], + ["3GPP-Selection-Mode"], + ["3GPP-Charging-Characteristics"], + ["Charging-Characteristics-Selection-Mode"], + ["3GPP-SGSN-MCC-MNC"], + ["3GPP-MS-TimeZone"], + ["Charging-Rule-Base-Name"], + ["3GPP-User-Location-Info"], + ["User-Location-Info-Time"], + ["User-CSG-Information"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["TWAN-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-RAT-Type"], + ["PS-Furnish-Charging-Information"], + ["PDP-Context-Type"], + ["Offline-Charging"], + {'*', ["Traffic-Data-Volumes"]}, + {'*', ["Service-Data-Container"]}, + ["User-Equipment-Info"], + ["Start-Time"], + ["Stop-Time"], + ["Change-Condition"], + ["Diagnostics"], + ["Low-Priority-Indicator"], + ["Logical-Access-ID"], + ["Physical-Access-ID"], + ["Fixed-User-Location-Info"], + ["CN-Operator-Selection-Entity"], + ["Enhanced-Diagnostics"], + ["SGi-PtP-Tunnelling-Method"], + ["CP-CIoT-EPS-Optimisation-Indicator"], + ["UNI-PDU-CP-Only-Flag"], + ["APN-Rate-Control"], + ["Charging-Per-IP-CAN-Session-Indicator"], + ["3GPP-PS-Data-Off-Status"], + ["SCS-AS-Address"], + ["Unused-Quota-Timer"], + {'*', ["RAN-Secondary-RAT-Usage-Report"]}, + {'*', ["AVP"]}]}, + {"Radio-Parameter-Set-Info", + 3463, + [], + [["Radio-Parameter-Set-Values"], ["Change-Time"]]}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + [], + [["Secondary-RAT-Type"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"]]}, + {"Rate-Element", + 2058, + [], + [{"CC-Unit-Type"}, + ["Charge-Reason-Code"], + ["Unit-Value"], + ["Unit-Cost"], + ["Unit-Quota-Threshold"]]}, + {"Real-Time-Tariff-Information", + 2305, + [], + [["Tariff-Information"], ["Tariff-XML"]]}, + {"Recipient-Address", + 1201, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"], + ["Addressee-Type"]]}, + {"Recipient-Info", + 2026, + [], + [["Destination-Interface"], + {'*', ["Recipient-Address"]}, + {'*', ["Recipient-Received-Address"]}, + ["Recipient-SCCP-Address"], + ["SM-Protocol-ID"]]}, + {"Recipient-Received-Address", + 2028, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Related-Change-Condition-Information", + 3925, + [], + [["SGSN-Address"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"]]}, + {"Related-Trigger", + 3926, + [], + [{'*', ["Trigger-Type"]}]}, + {"Remaining-Balance", + 2021, + [], + [{"Unit-Value"}, {"Currency-Code"}]}, + {"Scale-Factor", + 2059, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"SCS-AS-Address", + 3940, + [], + [["SCS-Realm"], ["SCS-Address"]]}, + {"SDP-Media-Component", + 843, + [], + [["SDP-Media-Name"], + {'*', ["SDP-Media-Description"]}, + ["Local-GW-Inserted-Indication"], + ["IP-Realm-Default-Indication"], + ["Transcoder-Inserted-Indication"], + ["Media-Initiator-Flag"], + ["Media-Initiator-Party"], + ["3GPP-Charging-Id"], + ["Access-Network-Charging-Identifier-Value"], + ["SDP-Type"]]}, + {"SDP-TimeStamps", + 1273, + [], + [["SDP-Offer-Timestamp"], ["SDP-Answer-Timestamp"]]}, + {"Service-Data-Container", + 2040, + [], + [["AF-Correlation-Information"], + ["Charging-Rule-Base-Name"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Local-Sequence-Number"], + ["QoS-Information"], + ["Rating-Group"], + ["Change-Time"], + ["Service-Identifier"], + ["Service-Specific-Info"], + ["SGSN-Address"], + ["Time-First-Usage"], + ["Time-Last-Usage"], + ["Time-Usage"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["APN-Rate-Control"], + ["3GPP-PS-Data-Off-Status"]]}, + {"Service-Information", + 873, + [], + [{'*', ["Subscription-Id"]}, + ["AoC-Information"], + ["PS-Information"], + ["IMS-Information"], + ["MMS-Information"], + ["LCS-Information"], + ["PoC-Information"], + ["MBMS-Information"], + ["SMS-Information"], + ["VCS-Information"], + ["MMTel-Information"], + ["ProSe-Information"], + ["CPDT-Information"]]}, + {"Service-Specific-Info", + 1249, + [], + [["Service-Specific-Data"], ["Service-Specific-Type"]]}, + {"SM-Device-Trigger-Information", + 3405, + [], + [["MTC-IWF-Address"], ["Validity-Time"]]}, + {"SMS-Information", + 2000, + [], + [["SMS-Node"], + ["Client-Address"], + ["Originator-SCCP-Address"], + ["SMSC-Address"], + ["Data-Coding-Scheme"], + ["SM-Discharge-Time"], + ["SM-Message-Type"], + ["Originator-Interface"], + ["SM-Protocol-ID"], + ["Reply-Path-Requested"], + ["SM-Status"], + ["SM-User-Data-Header"], + ["Number-Of-Messages-Sent"], + ["SM-Sequence-Number"], + {'*', ["Recipient-Info"]}, + ["Originator-Received-Address"], + ["SM-Service-Type"], + ["SMS-Result"], + ["SM-Device-Trigger-Indicator"], + ["SM-Device-Trigger-Information"], + ["MTC-IWF-Address"]]}, + {"Supplementary-Service", + 2048, + [], + [["MMTel-SService-Type"], + ["Service-Mode"], + ["Number-Of-Diversions"], + ["Associated-Party-Address"], + ["Service-Id"], + ["Change-Time"], + ["Number-Of-Participants"], + ["Participant-Action-Type"], + ["CUG-Information"], + ["AoC-Information"]]}, + {"Talk-Burst-Exchange", + 1255, + [], + [{"PoC-Change-Time"}, + ["Number-Of-Talk-Bursts"], + ["Talk-Burst-Volume"], + ["Talk-Burst-Time"], + ["Number-Of-Received-Talk-Bursts"], + ["Received-Talk-Burst-Volume"], + ["Received-Talk-Burst-Time"], + ["Number-Of-Participants"], + ["PoC-Change-Condition"]]}, + {"Tariff-Information", + 2060, + [], + [{"Current-Tariff"}, + ["Tariff-Time-Change"], + ["Next-Tariff"]]}, + {"Time-Quota-Mechanism", + 1270, + [], + [{"Time-Quota-Type"}, {"Base-Time-Interval"}]}, + {"Time-Stamps", + 833, + [], + [["SIP-Request-Timestamp"], + ["SIP-Response-Timestamp"], + ["SIP-Request-Timestamp-Fraction"], + ["SIP-Response-Timestamp-Fraction"]]}, + {"Traffic-Data-Volumes", + 2046, + [], + [["QoS-Information"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"], + ["Change-Time"], + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-Charging-Id"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["Diagnostics"], + ["Enhanced-Diagnostics"], + ["CP-CIoT-EPS-Optimisation-Indicator"]]}, + {"Transmitter-Info", + 3468, + [], + [["ProSe-Source-IP-Address"], ["ProSe-UE-ID"]]}, + {"Trigger", 1264, [], [{'*', ["Trigger-Type"]}]}, + {"Trunk-Group-Id", + 851, + [], + [["Incoming-Trunk-Group-Id"], + ["Outgoing-Trunk-Group-Id"]]}, + {"TWAN-User-Location-Info", 2714, [], [["BSSID"]]}, + {"Unit-Cost", + 2061, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"User-CSG-Information", + 2319, + [], + [{"CSG-Access-Mode"}, ["CSG-Membership-Indication"]]}, + {"UWAN-User-Location-Info", + 3918, + [], + [{"UE-Local-IP-Address"}, + ["UDP-Source-Port"], + ["BSSID"]]}, + {"Variable-Part", + 3907, + [], + [{"Variable-Part-Type"}, + {"Variable-Part-Value"}, + ["Variable-Part-Order"]]}, + {"VCS-Information", + 3410, + [], + [["Bearer-Capability"], + ["Network-Call-Reference-Number"], + ["MSC-Address"], + ["Basic-Service-Code"], + ["ISUP-Location-Number"], + ["VLR-Number"], + ["Forwarding-Pending"], + ["ISUP-Cause"], + ["Start-Time"], + ["Start-of-Charging"], + ["Stop-Time"], + ["PS-Free-Format-Data"]]}]}, + {diameter_rfc4004, + [{"MIP-MN-AAA-Auth", + 322, + [], + [{"MIP-MN-AAA-SPI"}, + {"MIP-Auth-Input-Data-Length"}, + {"MIP-Authenticator-Length"}, + {"MIP-Authenticator-Offset"}, + {'*', ["AVP"]}]}, + {"MIP-MN-to-FA-MSA", + 325, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Nonce"}, + {'*', ["AVP"]}]}, + {"MIP-FA-to-MN-MSA", + 326, + [], + [{"MIP-FA-to-MN-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-MN-to-HA-MSA", + 331, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Replay-Mode"}, + {"MIP-Nonce"}, + {'*', ["AVP"]}]}, + {"MIP-HA-to-MN-MSA", + 332, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Replay-Mode"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-FA-to-HA-MSA", + 328, + [], + [{"MIP-FA-to-HA-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-HA-to-FA-MSA", + 329, + [], + [{"MIP-HA-to-FA-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-Originating-Foreign-AAA", + 347, + [], + [{"Origin-Realm"}, {"Origin-Host"}, {'*', ["AVP"]}]}, + {"MIP-Home-Agent-Host", + 348, + [], + [{"Destination-Realm"}, + {"Destination-Host"}, + {'*', ["AVP"]}]}]}, + {diameter_rfc4006_cc, + [{"Cost-Information", + 423, + [], + [{"Unit-Value"}, {"Currency-Code"}, ["Cost-Unit"]]}, + {"Unit-Value", + 445, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Multiple-Services-Credit-Control", + 456, + [], + [["Granted-Service-Unit"], + ["Requested-Service-Unit"], + {'*', ["Used-Service-Unit"]}, + ["Tariff-Change-Usage"], + {'*', ["Service-Identifier"]}, + ["Rating-Group"], + {'*', ["G-S-U-Pool-Reference"]}, + ["Validity-Time"], + ["Result-Code"], + ["Final-Unit-Indication"], + {'*', ["AVP"]}]}, + {"Granted-Service-Unit", + 431, + [], + [["Tariff-Time-Change"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Requested-Service-Unit", + 437, + [], + [["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Used-Service-Unit", + 446, + [], + [["Tariff-Change-Usage"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"CC-Money", + 413, + [], + [{"Unit-Value"}, ["Currency-Code"]]}, + {"G-S-U-Pool-Reference", + 457, + [], + [{"G-S-U-Pool-Identifier"}, + {"CC-Unit-Type"}, + {"Unit-Value"}]}, + {"Final-Unit-Indication", + 430, + [], + [{"Final-Unit-Action"}, + {'*', ["Restriction-Filter-Rule"]}, + {'*', ["Filter-Id"]}, + ["Redirect-Server"]]}, + {"Redirect-Server", + 434, + [], + [{"Redirect-Address-Type"}, + {"Redirect-Server-Address"}]}, + {"Service-Parameter-Info", + 440, + [], + [{"Service-Parameter-Type"}, + {"Service-Parameter-Value"}]}, + {"Subscription-Id", + 443, + [], + [{"Subscription-Id-Type"}, {"Subscription-Id-Data"}]}, + {"User-Equipment-Info", + 458, + [], + [{"User-Equipment-Info-Type"}, + {"User-Equipment-Info-Value"}]}]}, + {diameter_rfc5447, + [{"MIP6-Agent-Info", + 486, + [], + [{{0, 2}, ["MIP-Home-Agent-Address"]}, + ["MIP-Home-Agent-Host"], + ["MIP6-Home-Link-Prefix"], + {'*', ["AVP"]}]}]}, + {diameter_rfc5777, + [{"QoS-Resources", + 508, + [], + [{'*', {"Filter-Rule"}}, {'*', ["AVP"]}]}, + {"Filter-Rule", + 509, + [], + [["Filter-Rule-Precedence"], + ["Classifier"], + {'*', ["Time-Of-Day-Condition"]}, + ["Treatment-Action"], + ["QoS-Semantics"], + ["QoS-Profile-Template"], + ["QoS-Parameters"], + ["Excess-Treatment"], + {'*', ["AVP"]}]}, + {"Classifier", + 511, + [], + [{"Classifier-ID"}, + ["Protocol"], + ["Direction"], + {'*', ["From-Spec"]}, + {'*', ["To-Spec"]}, + {'*', ["Diffserv-Code-Point"]}, + ["Fragmentation-Flag"], + {'*', ["IP-Option"]}, + {'*', ["TCP-Option"]}, + ["TCP-Flags"], + {'*', ["ICMP-Type"]}, + {'*', ["ETH-Option"]}, + {'*', ["AVP"]}]}, + {"From-Spec", + 515, + [], + [{'*', ["IP-Address"]}, + {'*', ["IP-Address-Range"]}, + {'*', ["IP-Address-Mask"]}, + {'*', ["MAC-Address"]}, + {'*', ["MAC-Address-Mask"]}, + {'*', ["EUI64-Address"]}, + {'*', ["EUI64-Address-Mask"]}, + {'*', ["Port"]}, + {'*', ["Port-Range"]}, + ["Negated"], + ["Use-Assigned-Address"], + {'*', ["AVP"]}]}, + {"To-Spec", + 516, + [], + [{'*', ["IP-Address"]}, + {'*', ["IP-Address-Range"]}, + {'*', ["IP-Address-Mask"]}, + {'*', ["MAC-Address"]}, + {'*', ["MAC-Address-Mask"]}, + {'*', ["EUI64-Address"]}, + {'*', ["EUI64-Address-Mask"]}, + {'*', ["Port"]}, + {'*', ["Port-Range"]}, + ["Negated"], + ["Use-Assigned-Address"], + {'*', ["AVP"]}]}, + {"IP-Address-Range", + 519, + [], + [["IP-Address-Start"], + ["IP-Address-End"], + {'*', ["AVP"]}]}, + {"IP-Address-Mask", + 522, + [], + [{"IP-Address"}, + {"IP-Mask-Bit-Mask-Width"}, + {'*', ["AVP"]}]}, + {"MAC-Address-Mask", + 525, + [], + [{"MAC-Address"}, + {"MAC-Address-Mask-Pattern"}, + {'*', ["AVP"]}]}, + {"EUI64-Address-Mask", + 528, + [], + [{"EUI64-Address"}, + {"EUI64-Address-Mask-Pattern"}, + {'*', ["AVP"]}]}, + {"Port-Range", + 531, + [], + [["Port-Start"], ["Port-End"], {'*', ["AVP"]}]}, + {"IP-Option", + 537, + [], + [{"IP-Option-Type"}, + {'*', ["IP-Option-Value"]}, + ["Negated"], + {'*', ["AVP"]}]}, + {"TCP-Option", + 540, + [], + [{"TCP-Option-Type"}, + {'*', ["TCP-Option-Value"]}, + ["Negated"], + {'*', ["AVP"]}]}, + {"TCP-Flags", + 543, + [], + [{"TCP-Flag-Type"}, ["Negated"], {'*', ["AVP"]}]}, + {"ICMP-Type", + 545, + [], + [{"ICMP-Type-Number"}, + {'*', ["ICMP-Code"]}, + ["Negated"], + {'*', ["AVP"]}]}, + {"ETH-Option", + 548, + [], + [{"ETH-Proto-Type"}, + {'*', ["VLAN-ID-Range"]}, + {'*', ["User-Priority-Range"]}, + {'*', ["AVP"]}]}, + {"ETH-Proto-Type", + 549, + [], + [{'*', ["ETH-Ether-Type"]}, + {'*', ["ETH-SAP"]}, + {'*', ["AVP"]}]}, + {"VLAN-ID-Range", + 552, + [], + [["S-VID-Start"], + ["S-VID-End"], + ["C-VID-Start"], + ["C-VID-End"], + {'*', ["AVP"]}]}, + {"User-Priority-Range", + 557, + [], + [{'*', ["Low-User-Priority"]}, + {'*', ["High-User-Priority"]}, + {'*', ["AVP"]}]}, + {"Time-Of-Day-Condition", + 560, + [], + [["Time-Of-Day-Start"], + ["Time-Of-Day-End"], + ["Day-Of-Week-Mask"], + ["Day-Of-Month-Mask"], + ["Month-Of-Year-Mask"], + ["Absolute-Start-Time"], + ["Absolute-End-Time"], + ["Timezone-Flag"], + {'*', ["AVP"]}]}, + {"QoS-Profile-Template", + 574, + [], + [{"Vendor-Id"}, {"QoS-Profile-Id"}, {'*', ["AVP"]}]}, + {"QoS-Parameters", 576, [], [{'*', ["AVP"]}]}, + {"Excess-Treatment", + 577, + [], + [{"Treatment-Action"}, + ["QoS-Profile-Template"], + ["QoS-Parameters"], + {'*', ["AVP"]}]}, + {"QoS-Capability", + 578, + [], + [{'*', {"QoS-Profile-Template"}}, {'*', ["AVP"]}]}]}, + {diameter_rfc7683, + [{"OC-Supported-Features", + 621, + [], + [["OC-Feature-Vector"], {'*', ["AVP"]}]}, + {"OC-OLR", + 623, + [], + [{{"OC-Sequence-Number"}}, + {{"OC-Report-Type"}}, + ["OC-Reduction-Percentage"], + ["OC-Validity-Duration"], + {'*', ["AVP"]}]}]}, + {diameter_rfc8583, + [{"Load", + 650, + [], + [["Load-Type"], + ["Load-Value"], + ["SourceID"], + {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_rfc8583", []}, + {"diameter_rfc7944", []}, + {"diameter_rfc7683", []}, + {"diameter_rfc5778", []}, + {"diameter_rfc5777", []}, + {"diameter_rfc5580", []}, + {"diameter_rfc5447", []}, + {"diameter_rfc4006_cc", []}, + {"diameter_rfc4004", []}, + {"diameter_etsi_es283_034", []}, + {"diameter_3gpp_ts32_299", []}, + {"diameter_3gpp_ts29_273", []}, + {"diameter_3gpp_ts29_272", []}, + {"diameter_3gpp_ts29_229", []}, + {"diameter_3gpp_ts29_214", []}, + {"diameter_3gpp_ts29_212", []}, + {"diameter_3gpp_break_circles", []}, + {"diameter_3gpp_base", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"AAR", + 265, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Auth-Request-Type"}, + ["User-Name"], + ["MIP6-Agent-Info"], + ["MIP6-Feature-Vector"], + ["Visited-Network-Identifier"], + ["QoS-Capability"], + ["Service-Selection"], + ["OC-Supported-Features"], + ["Origination-Time-Stamp"], + ["Maximum-Wait-Time"], + {'*', ["Supported-Features"]}, + ["Emergency-Services"], + {'*', ["AVP"]}]}, + {"AAA", + 265, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Auth-Request-Type"}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["MIP6-Feature-Vector"], + ["Session-Timeout"], + ["APN-Configuration"], + ["QoS-Resources"], + ["AN-Trusted"], + {'*', ["Redirect-Host"]}, + ["Trace-Info"], + ["OC-Supported-Features"], + ["OC-OLR"], + {'*', ["Load"]}, + {'*', ["AVP"]}]}, + {"STR", + 275, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Termination-Cause"}, + ["User-Name"], + ["OC-Supported-Features"], + {'*', ["AVP"]}]}, + {"STA", + 275, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["OC-Supported-Features"], + ["OC-OLR"], + {'*', ["Load"]}, + {'*', ["AVP"]}]}, + {"ASR", + 274, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Destination-Host"}, + {"Auth-Application-Id"}, + ["User-Name"], + ["Auth-Session-State"], + {'*', ["AVP"]}]}, + {"ASA", + 274, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {'*', ["AVP"]}]}, + {"RAR", + 258, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Destination-Host"}, + {"Auth-Application-Id"}, + {"Re-Auth-Request-Type"}, + ["User-Name"], + ["RAR-Flags"], + {'*', ["AVP"]}]}, + {"RAA", + 258, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["User-Name"], + {'*', ["AVP"]}]}]}, + {name, "diameter_3gpp_ts29_273_s6b"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_273_swx.erl b/src/diameter_3gpp_ts29_273_swx.erl new file mode 100644 index 0000000..b9e4a70 --- /dev/null +++ b/src/diameter_3gpp_ts29_273_swx.erl @@ -0,0 +1,19114 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_273_swx). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['MAR', + 'MAA', + 'PPR', + 'PPA', + 'SAR', + 'SAA', + 'RTR', + 'RTA', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id', + 'Emergency-Info', + 'Access-Network-Charging-Identifier-Gx', + 'Allocation-Retention-Priority', + 'Application-Detection-Information', + 'Charging-Rule-Definition', + 'Charging-Rule-Install', + 'Charging-Rule-Remove', + 'Charging-Rule-Report', + 'CoA-Information', + 'Conditional-APN-Aggregate-Max-Bitrate', + 'Default-EPS-Bearer-QoS', + 'Default-QoS-Information', + 'Event-Report-Indication', + 'Fixed-User-Location-Info', + 'Flow-Information', + 'Packet-Filter-Information', + 'Presence-Reporting-Area-Information', + 'QoS-Information', + 'Redirect-Information', + 'Routing-Filter', + 'Routing-Rule-Definition', + 'Routing-Rule-Install', + 'Routing-Rule-Remove', + 'TDF-Information', + 'Tunnel-Information', + 'TFT-Packet-Filter-Information', + 'Usage-Monitoring-Information', + 'Flows', + 'Charging-Information', + 'Supported-Features', + 'Supported-Applications', + 'SIP-Auth-Data-Item', + 'Deregistration-Reason', + 'SIP-Digest-Authenticate', + 'Subscription-Data', + 'Terminal-Information', + 'Requested-EUTRAN-Authentication-Info', + 'Requested-UTRAN-GERAN-Authentication-Info', + 'Authentication-Info', + 'E-UTRAN-Vector', + 'UTRAN-Vector', + 'GERAN-Vector', + 'APN-Configuration-Profile', + 'APN-Configuration', + 'EPS-Subscribed-QoS-Profile', + 'AMBR', + 'Trace-Data', + 'GPRS-Subscription-Data', + 'PDP-Context', + 'CSG-Subscription-Data', + 'Specific-APN-Info', + 'LCS-Info', + 'LCS-PrivacyException', + 'External-Client', + 'Service-Type', + 'MO-LR', + 'Teleservice-List', + 'Call-Barring-Info', + 'EPS-User-State', + 'EPS-Location-Information', + 'MME-User-State', + 'SGSN-User-State', + 'MME-Location-Information', + 'SGSN-Location-Information', + 'Active-APN', + 'MDT-Configuration', + 'Area-Scope', + 'Equivalent-PLMN-List', + 'VPLMN-CSG-Subscription-Data', + 'Local-Time-Zone', + 'WLAN-Identifier', + 'Access-Network-Info', + 'TWAN-Connectivity-Parameters', + 'Non-3GPP-User-Data', + 'Trace-Info', + 'TWAN-Access-Info', + 'Access-Network-Info-Change', + 'Access-Transfer-Information', + 'Accumulated-Cost', + 'Additional-Content-Information', + 'Address-Domain', + 'AF-Correlation-Information', + 'Announcement-Information', + 'AoC-Cost-Information', + 'AoC-Information', + 'AoC-Service', + 'AoC-Subscription-Information', + 'APN-Rate-Control', + 'APN-Rate-Control-Downlink', + 'APN-Rate-Control-Uplink', + 'Application-Server-Information', + 'Basic-Service-Code', + 'Called-Identity-Change', + 'Coverage-Info', + 'CPDT-Information', + 'Current-Tariff', + 'Destination-Interface', + 'Early-Media-Description', + 'Enhanced-Diagnostics', + 'Envelope', + 'Event-Type', + 'Incremental-Cost', + 'IMS-Information', + 'Inter-Operator-Identifier', + 'ISUP-Cause', + 'LCS-Client-ID', + 'LCS-Client-Name', + 'LCS-Information', + 'LCS-Requestor-ID', + 'Location-Info', + 'Location-Type', + 'MBMS-Information', + 'Message-Body', + 'Message-Class', + 'MM-Content-Type', + 'MMS-Information', + 'MMTel-Information', + 'Monitoring-Event-Information', + 'Monitoring-Event-Report-Data', + 'Next-Tariff', + 'NIDD-Submission', + 'NNI-Information', + 'Offline-Charging', + 'Originator-Address', + 'Originator-Interface', + 'Originator-Received-Address', + 'Participant-Group', + 'PoC-Information', + 'PoC-User-Role', + 'ProSe-Direct-Communication-Reception-Data-Container', + 'ProSe-Direct-Communication-Transmission-Data-Container', + 'ProSe-Information', + 'PS-Furnish-Charging-Information', + 'PS-Information', + 'Radio-Parameter-Set-Info', + 'RAN-Secondary-RAT-Usage-Report', + 'Rate-Element', + 'Real-Time-Tariff-Information', + 'Recipient-Address', + 'Recipient-Info', + 'Recipient-Received-Address', + 'Related-Change-Condition-Information', + 'Related-Trigger', + 'Remaining-Balance', + 'Scale-Factor', + 'SCS-AS-Address', + 'SDP-Media-Component', + 'SDP-TimeStamps', + 'Service-Data-Container', + 'Service-Information', + 'Service-Specific-Info', + 'SM-Device-Trigger-Information', + 'SMS-Information', + 'Supplementary-Service', + 'Talk-Burst-Exchange', + 'Tariff-Information', + 'Time-Quota-Mechanism', + 'Time-Stamps', + 'Traffic-Data-Volumes', + 'Transmitter-Info', + 'Trigger', + 'Trunk-Group-Id', + 'TWAN-User-Location-Info', + 'Unit-Cost', + 'User-CSG-Information', + 'UWAN-User-Location-Info', + 'Variable-Part', + 'VCS-Information', + 'Cost-Information', + 'Unit-Value', + 'Multiple-Services-Credit-Control', + 'Granted-Service-Unit', + 'Requested-Service-Unit', + 'Used-Service-Unit', + 'CC-Money', + 'G-S-U-Pool-Reference', + 'Final-Unit-Indication', + 'Redirect-Server', + 'Service-Parameter-Info', + 'Subscription-Id', + 'User-Equipment-Info', + 'MIP6-Agent-Info', + 'OC-Supported-Features', + 'OC-OLR', + 'Load']). + +-record('MAR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Vendor-Specific-Application-Id', + 'SIP-Auth-Data-Item', + 'SIP-Number-Auth-Items', + 'Destination-Host' = [], + 'RAT-Type' = [], + 'DRMP' = [], + 'ANID' = [], + 'Visited-Network-Identifier' = [], + 'Terminal-Information' = [], + 'AAA-Failure-Indication' = [], + 'OC-Supported-Features' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('MAA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id', + 'User-Name', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'SIP-Number-Auth-Items' = [], + 'SIP-Auth-Data-Item' = [], + '3GPP-AAA-Server-Name' = [], + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('PPR', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'Vendor-Specific-Application-Id', + 'User-Name', + 'DRMP' = [], + 'Non-3GPP-User-Data' = [], + 'PPR-Flags' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('PPA', + {'Session-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Vendor-Specific-Application-Id', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Access-Network-Info' = [], + 'Local-Time-Zone' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('SAR', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'User-Name', + 'Server-Assignment-Type', + 'DRMP' = [], + 'Destination-Host' = [], + 'Service-Selection' = [], + 'Context-Identifier' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Active-APN' = [], + 'OC-Supported-Features' = [], + 'Supported-Features' = [], + 'Terminal-Information' = [], + 'Emergency-Services' = [], + 'AVP' = []}). + +-record('SAA', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'User-Name', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Non-3GPP-User-Data' = [], + '3GPP-AAA-Server-Name' = [], + 'OC-Supported-Features' = [], + 'OC-OLR' = [], + 'Load' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('RTR', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Host', + 'Destination-Realm', + 'User-Name', + 'Deregistration-Reason', + 'DRMP' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('RTA', + {'Session-Id', + 'Vendor-Specific-Application-Id', + 'Auth-Session-State', + 'Origin-Host', + 'Origin-Realm', + 'DRMP' = [], + 'Result-Code' = [], + 'Experimental-Result' = [], + 'Supported-Features' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('Emergency-Info', + {'MIP6-Agent-Info' = [], 'AVP' = []}). + +-record('Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + +-record('Flows', + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + +-record('Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + +-record('Subscription-Data', + {'Subscriber-Status' = [], + 'MSISDN' = [], + 'A-MSISDN' = [], + 'STN-SR' = [], + 'ICS-Indicator' = [], + 'Network-Access-Mode' = [], + 'Operator-Determined-Barring' = [], + 'HPLMN-ODB' = [], + 'Regional-Subscription-Zone-Code' = [], + 'Access-Restriction-Data' = [], + 'APN-OI-Replacement' = [], + 'LCS-Info' = [], + 'Teleservice-List' = [], + 'Call-Barring-Info' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'APN-Configuration-Profile' = [], + 'RAT-Frequency-Selection-Priority-ID' = [], + 'Trace-Data' = [], + 'GPRS-Subscription-Data' = [], + 'CSG-Subscription-Data' = [], + 'Roaming-Restricted-Due-To-Unsupported-Feature' = [], + 'Subscribed-Periodic-RAU-TAU-Timer' = [], + 'MPS-Priority' = [], + 'VPLMN-LIPA-Allowed' = [], + 'Relay-Node-Indicator' = [], + 'MDT-User-Consent' = [], + 'Subscribed-VSRVCC' = [], + 'Subscription-Data-Flags' = [], + 'AVP' = []}). + +-record('Terminal-Information', + {'IMEI' = [], + '3GPP2-MEID' = [], + 'Software-Version' = [], + 'AVP' = []}). + +-record('Requested-EUTRAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Requested-UTRAN-GERAN-Authentication-Info', + {'Number-Of-Requested-Vectors' = [], + 'Immediate-Response-Preferred' = [], + 'Re-Synchronization-Info' = [], + 'AVP' = []}). + +-record('Authentication-Info', + {'E-UTRAN-Vector' = [], + 'UTRAN-Vector' = [], + 'GERAN-Vector' = [], + 'AVP' = []}). + +-record('E-UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'KASME', + 'AVP' = []}). + +-record('UTRAN-Vector', + {'Item-Number', + 'RAND', + 'XRES', + 'AUTN', + 'Confidentiality-Key', + 'Integrity-Key', + 'AVP' = []}). + +-record('GERAN-Vector', + {'Item-Number', 'RAND', 'SRES', 'Kc', 'AVP' = []}). + +-record('APN-Configuration-Profile', + {'Context-Identifier', + 'All-APN-Configurations-Included-Indicator', + 'APN-Configuration' = [], + 'AVP' = []}). + +-record('APN-Configuration', + {'Context-Identifier', + 'PDN-Type', + 'Service-Selection', + 'Served-Party-IP-Address' = [], + 'EPS-Subscribed-QoS-Profile' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'PDN-GW-Allocation-Type' = [], + '3GPP-Charging-Characteristics' = [], + 'AMBR' = [], + 'Specific-APN-Info' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('EPS-Subscribed-QoS-Profile', + {'QoS-Class-Identifier', + 'Allocation-Retention-Priority', + 'AVP' = []}). + +-record('AMBR', + {'Max-Requested-Bandwidth-UL', + 'Max-Requested-Bandwidth-DL', + 'AVP' = []}). + +-record('Trace-Data', + {'Trace-Reference', + 'Trace-Depth', + 'Trace-NE-Type-List', + 'Trace-Event-List', + 'Trace-Collection-Entity', + 'Trace-Interface-List' = [], + 'OMC-Id' = [], + 'MDT-Configuration' = [], + 'AVP' = []}). + +-record('GPRS-Subscription-Data', + {'Complete-Data-List-Included-Indicator', + 'PDP-Context' = [], + 'AVP' = []}). + +-record('PDP-Context', + {'Context-Identifier', + 'PDP-Type', + 'QoS-Subscribed', + 'Service-Selection', + 'PDP-Address' = [], + 'VPLMN-Dynamic-Address-Allowed' = [], + '3GPP-Charging-Characteristics' = [], + 'Ext-PDP-Type' = [], + 'Ext-PDP-Address' = [], + 'AMBR' = [], + 'APN-OI-Replacement' = [], + 'SIPTO-Permission' = [], + 'LIPA-Permission' = [], + 'Restoration-Priority' = [], + 'AVP' = []}). + +-record('CSG-Subscription-Data', + {'CSG-Id', + 'Expiration-Date' = [], + 'Service-Selection' = [], + 'Visited-PLMN-Id' = [], + 'AVP' = []}). + +-record('Specific-APN-Info', + {'Service-Selection', + 'MIP6-Agent-Info', + 'Visited-Network-Identifier' = [], + 'AVP' = []}). + +-record('LCS-Info', + {'GMLC-Number' = [], + 'LCS-PrivacyException' = [], + 'MO-LR' = [], + 'AVP' = []}). + +-record('LCS-PrivacyException', + {'SS-Code', + 'SS-Status', + 'Notification-To-UE-User' = [], + 'External-Client' = [], + 'PLMN-Client' = [], + 'Service-Type' = [], + 'AVP' = []}). + +-record('External-Client', + {'Client-Identity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('Service-Type', + {'ServiceTypeIdentity', + 'GMLC-Restriction' = [], + 'Notification-To-UE-User' = [], + 'AVP' = []}). + +-record('MO-LR', {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('Teleservice-List', + {'TS-Code' = [], 'AVP' = []}). + +-record('Call-Barring-Info', + {'SS-Code', 'SS-Status', 'AVP' = []}). + +-record('EPS-User-State', + {'MME-User-State' = [], + 'SGSN-User-State' = [], + 'AVP' = []}). + +-record('EPS-Location-Information', + {'MME-Location-Information' = [], + 'SGSN-Location-Information' = [], + 'AVP' = []}). + +-record('MME-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('SGSN-User-State', + {'User-State' = [], 'AVP' = []}). + +-record('MME-Location-Information', + {'E-UTRAN-Cell-Global-Identity' = [], + 'Tracking-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('SGSN-Location-Information', + {'Cell-Global-Identity' = [], + 'Location-Area-Identity' = [], + 'Service-Area-Identity' = [], + 'Routing-Area-Identity' = [], + 'Geographical-Information' = [], + 'Geodetic-Information' = [], + 'Current-Location-Retrieved' = [], + 'Age-Of-Location-Information' = [], + 'User-CSG-Information' = [], + 'AVP' = []}). + +-record('Active-APN', + {'Context-Identifier', + 'Service-Selection' = [], + 'MIP6-Agent-Info' = [], + 'Visited-Network-Identifier' = [], + 'Specific-APN-Info' = [], + 'AVP' = []}). + +-record('MDT-Configuration', + {'Job-Type', + 'Area-Scope' = [], + 'List-Of-Measurements' = [], + 'Reporting-Trigger' = [], + 'Report-Interval' = [], + 'Report-Amount' = [], + 'Event-Threshold-RSRP' = [], + 'Event-Threshold-RSRQ' = [], + 'Logging-Interval' = [], + 'Logging-Duration' = [], + 'Measurement-Period-LTE' = [], + 'Measurement-Period-UMTS' = [], + 'Positioning-Method' = [], + 'Measurement-Quantity' = [], + 'Event-Threshold-Event-1F' = [], + 'Event-Threshold-Event-1I' = [], + 'AVP' = []}). + +-record('Area-Scope', + {'Cell-Global-Identity' = [], + 'E-UTRAN-Cell-Global-Identity' = [], + 'Routing-Area-Identity' = [], + 'Location-Area-Identity' = [], + 'Tracking-Area-Identity' = [], + 'AVP' = []}). + +-record('Equivalent-PLMN-List', + {'Visited-PLMN-Id' = [], 'AVP' = []}). + +-record('VPLMN-CSG-Subscription-Data', + {'CSG-Id', 'Expiration-Date' = [], 'AVP' = []}). + +-record('Local-Time-Zone', + {'Time-Zone', 'Daylight-Saving-Time', 'AVP' = []}). + +-record('WLAN-Identifier', + {'SSID' = [], 'HESSID' = [], 'AVP' = []}). + +-record('Access-Network-Info', + {'SSID' = [], + 'BSSID' = [], + 'Location-Information' = [], + 'Location-Data' = [], + 'Operator-Name' = [], + 'Logical-Access-ID' = [], + 'AVP' = []}). + +-record('TWAN-Connectivity-Parameters', + {'Connectivity-Flags' = [], + 'Service-Selection' = [], + 'PDN-Type' = [], + 'Served-Party-IP-Address' = [], + 'TWAN-PCO' = [], + 'TWAG-UP-Address' = [], + 'TWAN-S2a-Failure-Cause' = [], + 'SM-Back-Off-Timer' = [], + 'AVP' = []}). + +-record('Non-3GPP-User-Data', + {'Subscription-Id' = [], + 'Non-3GPP-IP-Access' = [], + 'Non-3GPP-IP-Access-APN' = [], + 'RAT-Type' = [], + 'Session-Timeout' = [], + 'MIP6-Feature-Vector' = [], + 'AMBR' = [], + '3GPP-Charging-Characteristics' = [], + 'Context-Identifier' = [], + 'APN-OI-Replacement' = [], + 'APN-Configuration' = [], + 'Trace-Info' = [], + 'TWAN-Default-APN-Context-Id' = [], + 'TWAN-Access-Info' = [], + 'UE-Usage-Type' = [], + 'Emergency-Info' = [], + 'ERP-Authorization' = [], + 'Core-Network-Restrictions' = [], + 'AVP' = []}). + +-record('Trace-Info', + {'Trace-Data' = [], + 'Trace-Reference' = [], + 'AVP' = []}). + +-record('TWAN-Access-Info', + {'Access-Authorization-Flags' = [], + 'WLAN-Identifier' = [], + 'AVP' = []}). + +-record('Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record('Envelope', + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('MMTel-Information', + {'Supplementary-Service' = []}). + +-record('Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('Related-Trigger', {'Trigger-Type' = []}). + +-record('Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record('Trigger', {'Trigger-Type' = []}). + +-record('Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('TWAN-User-Location-Info', {'BSSID' = []}). + +-record('Unit-Cost', {'Value-Digits', 'Exponent' = []}). + +-record('User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + +-record('Load', + {'Load-Type' = [], + 'Load-Value' = [], + 'SourceID' = [], + 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_273_swx. + +id() -> 16777265. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(303, true) -> 'MAR'; +msg_name(303, false) -> 'MAA'; +msg_name(305, true) -> 'PPR'; +msg_name(305, false) -> 'PPA'; +msg_name(304, true) -> 'RTR'; +msg_name(304, false) -> 'RTA'; +msg_name(301, true) -> 'SAR'; +msg_name(301, false) -> 'SAA'; +msg_name(_, _) -> ''. + +msg_header('MAR') -> {303, 192, 16777265}; +msg_header('MAA') -> {303, 64, 16777265}; +msg_header('PPR') -> {305, 128, 16777265}; +msg_header('PPA') -> {305, 64, 16777265}; +msg_header('SAR') -> {301, 192, 16777265}; +msg_header('SAA') -> {301, 64, 16777265}; +msg_header('RTR') -> {304, 192, 16777265}; +msg_header('RTA') -> {304, 64, 16777265}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('MAR') -> 'MAR'; +rec2msg('MAA') -> 'MAA'; +rec2msg('PPR') -> 'PPR'; +rec2msg('PPA') -> 'PPA'; +rec2msg('SAR') -> 'SAR'; +rec2msg('SAA') -> 'SAA'; +rec2msg('RTR') -> 'RTR'; +rec2msg('RTA') -> 'RTA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('MAR') -> 'MAR'; +msg2rec('MAA') -> 'MAA'; +msg2rec('PPR') -> 'PPR'; +msg2rec('PPA') -> 'PPA'; +msg2rec('SAR') -> 'SAR'; +msg2rec('SAA') -> 'SAA'; +msg2rec('RTR') -> 'RTR'; +msg2rec('RTA') -> 'RTA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec('Emergency-Info') -> 'Emergency-Info'; +name2rec('Access-Network-Charging-Identifier-Gx') -> + 'Access-Network-Charging-Identifier-Gx'; +name2rec('Allocation-Retention-Priority') -> + 'Allocation-Retention-Priority'; +name2rec('Application-Detection-Information') -> + 'Application-Detection-Information'; +name2rec('Charging-Rule-Definition') -> + 'Charging-Rule-Definition'; +name2rec('Charging-Rule-Install') -> + 'Charging-Rule-Install'; +name2rec('Charging-Rule-Remove') -> + 'Charging-Rule-Remove'; +name2rec('Charging-Rule-Report') -> + 'Charging-Rule-Report'; +name2rec('CoA-Information') -> 'CoA-Information'; +name2rec('Conditional-APN-Aggregate-Max-Bitrate') -> + 'Conditional-APN-Aggregate-Max-Bitrate'; +name2rec('Default-EPS-Bearer-QoS') -> + 'Default-EPS-Bearer-QoS'; +name2rec('Default-QoS-Information') -> + 'Default-QoS-Information'; +name2rec('Event-Report-Indication') -> + 'Event-Report-Indication'; +name2rec('Fixed-User-Location-Info') -> + 'Fixed-User-Location-Info'; +name2rec('Flow-Information') -> 'Flow-Information'; +name2rec('Packet-Filter-Information') -> + 'Packet-Filter-Information'; +name2rec('Presence-Reporting-Area-Information') -> + 'Presence-Reporting-Area-Information'; +name2rec('QoS-Information') -> 'QoS-Information'; +name2rec('Redirect-Information') -> + 'Redirect-Information'; +name2rec('Routing-Filter') -> 'Routing-Filter'; +name2rec('Routing-Rule-Definition') -> + 'Routing-Rule-Definition'; +name2rec('Routing-Rule-Install') -> + 'Routing-Rule-Install'; +name2rec('Routing-Rule-Remove') -> + 'Routing-Rule-Remove'; +name2rec('TDF-Information') -> 'TDF-Information'; +name2rec('Tunnel-Information') -> 'Tunnel-Information'; +name2rec('TFT-Packet-Filter-Information') -> + 'TFT-Packet-Filter-Information'; +name2rec('Usage-Monitoring-Information') -> + 'Usage-Monitoring-Information'; +name2rec('Flows') -> 'Flows'; +name2rec('Charging-Information') -> + 'Charging-Information'; +name2rec('Supported-Features') -> 'Supported-Features'; +name2rec('Supported-Applications') -> + 'Supported-Applications'; +name2rec('SIP-Auth-Data-Item') -> 'SIP-Auth-Data-Item'; +name2rec('Deregistration-Reason') -> + 'Deregistration-Reason'; +name2rec('SIP-Digest-Authenticate') -> + 'SIP-Digest-Authenticate'; +name2rec('Subscription-Data') -> 'Subscription-Data'; +name2rec('Terminal-Information') -> + 'Terminal-Information'; +name2rec('Requested-EUTRAN-Authentication-Info') -> + 'Requested-EUTRAN-Authentication-Info'; +name2rec('Requested-UTRAN-GERAN-Authentication-Info') -> + 'Requested-UTRAN-GERAN-Authentication-Info'; +name2rec('Authentication-Info') -> + 'Authentication-Info'; +name2rec('E-UTRAN-Vector') -> 'E-UTRAN-Vector'; +name2rec('UTRAN-Vector') -> 'UTRAN-Vector'; +name2rec('GERAN-Vector') -> 'GERAN-Vector'; +name2rec('APN-Configuration-Profile') -> + 'APN-Configuration-Profile'; +name2rec('APN-Configuration') -> 'APN-Configuration'; +name2rec('EPS-Subscribed-QoS-Profile') -> + 'EPS-Subscribed-QoS-Profile'; +name2rec('AMBR') -> 'AMBR'; +name2rec('Trace-Data') -> 'Trace-Data'; +name2rec('GPRS-Subscription-Data') -> + 'GPRS-Subscription-Data'; +name2rec('PDP-Context') -> 'PDP-Context'; +name2rec('CSG-Subscription-Data') -> + 'CSG-Subscription-Data'; +name2rec('Specific-APN-Info') -> 'Specific-APN-Info'; +name2rec('LCS-Info') -> 'LCS-Info'; +name2rec('LCS-PrivacyException') -> + 'LCS-PrivacyException'; +name2rec('External-Client') -> 'External-Client'; +name2rec('Service-Type') -> 'Service-Type'; +name2rec('MO-LR') -> 'MO-LR'; +name2rec('Teleservice-List') -> 'Teleservice-List'; +name2rec('Call-Barring-Info') -> 'Call-Barring-Info'; +name2rec('EPS-User-State') -> 'EPS-User-State'; +name2rec('EPS-Location-Information') -> + 'EPS-Location-Information'; +name2rec('MME-User-State') -> 'MME-User-State'; +name2rec('SGSN-User-State') -> 'SGSN-User-State'; +name2rec('MME-Location-Information') -> + 'MME-Location-Information'; +name2rec('SGSN-Location-Information') -> + 'SGSN-Location-Information'; +name2rec('Active-APN') -> 'Active-APN'; +name2rec('MDT-Configuration') -> 'MDT-Configuration'; +name2rec('Area-Scope') -> 'Area-Scope'; +name2rec('Equivalent-PLMN-List') -> + 'Equivalent-PLMN-List'; +name2rec('VPLMN-CSG-Subscription-Data') -> + 'VPLMN-CSG-Subscription-Data'; +name2rec('Local-Time-Zone') -> 'Local-Time-Zone'; +name2rec('WLAN-Identifier') -> 'WLAN-Identifier'; +name2rec('Access-Network-Info') -> + 'Access-Network-Info'; +name2rec('TWAN-Connectivity-Parameters') -> + 'TWAN-Connectivity-Parameters'; +name2rec('Non-3GPP-User-Data') -> 'Non-3GPP-User-Data'; +name2rec('Trace-Info') -> 'Trace-Info'; +name2rec('TWAN-Access-Info') -> 'TWAN-Access-Info'; +name2rec('Access-Network-Info-Change') -> + 'Access-Network-Info-Change'; +name2rec('Access-Transfer-Information') -> + 'Access-Transfer-Information'; +name2rec('Accumulated-Cost') -> 'Accumulated-Cost'; +name2rec('Additional-Content-Information') -> + 'Additional-Content-Information'; +name2rec('Address-Domain') -> 'Address-Domain'; +name2rec('AF-Correlation-Information') -> + 'AF-Correlation-Information'; +name2rec('Announcement-Information') -> + 'Announcement-Information'; +name2rec('AoC-Cost-Information') -> + 'AoC-Cost-Information'; +name2rec('AoC-Information') -> 'AoC-Information'; +name2rec('AoC-Service') -> 'AoC-Service'; +name2rec('AoC-Subscription-Information') -> + 'AoC-Subscription-Information'; +name2rec('APN-Rate-Control') -> 'APN-Rate-Control'; +name2rec('APN-Rate-Control-Downlink') -> + 'APN-Rate-Control-Downlink'; +name2rec('APN-Rate-Control-Uplink') -> + 'APN-Rate-Control-Uplink'; +name2rec('Application-Server-Information') -> + 'Application-Server-Information'; +name2rec('Basic-Service-Code') -> 'Basic-Service-Code'; +name2rec('Called-Identity-Change') -> + 'Called-Identity-Change'; +name2rec('Coverage-Info') -> 'Coverage-Info'; +name2rec('CPDT-Information') -> 'CPDT-Information'; +name2rec('Current-Tariff') -> 'Current-Tariff'; +name2rec('Destination-Interface') -> + 'Destination-Interface'; +name2rec('Early-Media-Description') -> + 'Early-Media-Description'; +name2rec('Enhanced-Diagnostics') -> + 'Enhanced-Diagnostics'; +name2rec('Envelope') -> 'Envelope'; +name2rec('Event-Type') -> 'Event-Type'; +name2rec('Incremental-Cost') -> 'Incremental-Cost'; +name2rec('IMS-Information') -> 'IMS-Information'; +name2rec('Inter-Operator-Identifier') -> + 'Inter-Operator-Identifier'; +name2rec('ISUP-Cause') -> 'ISUP-Cause'; +name2rec('LCS-Client-ID') -> 'LCS-Client-ID'; +name2rec('LCS-Client-Name') -> 'LCS-Client-Name'; +name2rec('LCS-Information') -> 'LCS-Information'; +name2rec('LCS-Requestor-ID') -> 'LCS-Requestor-ID'; +name2rec('Location-Info') -> 'Location-Info'; +name2rec('Location-Type') -> 'Location-Type'; +name2rec('MBMS-Information') -> 'MBMS-Information'; +name2rec('Message-Body') -> 'Message-Body'; +name2rec('Message-Class') -> 'Message-Class'; +name2rec('MM-Content-Type') -> 'MM-Content-Type'; +name2rec('MMS-Information') -> 'MMS-Information'; +name2rec('MMTel-Information') -> 'MMTel-Information'; +name2rec('Monitoring-Event-Information') -> + 'Monitoring-Event-Information'; +name2rec('Monitoring-Event-Report-Data') -> + 'Monitoring-Event-Report-Data'; +name2rec('Next-Tariff') -> 'Next-Tariff'; +name2rec('NIDD-Submission') -> 'NIDD-Submission'; +name2rec('NNI-Information') -> 'NNI-Information'; +name2rec('Offline-Charging') -> 'Offline-Charging'; +name2rec('Originator-Address') -> 'Originator-Address'; +name2rec('Originator-Interface') -> + 'Originator-Interface'; +name2rec('Originator-Received-Address') -> + 'Originator-Received-Address'; +name2rec('Participant-Group') -> 'Participant-Group'; +name2rec('PoC-Information') -> 'PoC-Information'; +name2rec('PoC-User-Role') -> 'PoC-User-Role'; +name2rec('ProSe-Direct-Communication-Reception-Data-Container') -> + 'ProSe-Direct-Communication-Reception-Data-Container'; +name2rec('ProSe-Direct-Communication-Transmission-Data-Container') -> + 'ProSe-Direct-Communication-Transmission-Data-Container'; +name2rec('ProSe-Information') -> 'ProSe-Information'; +name2rec('PS-Furnish-Charging-Information') -> + 'PS-Furnish-Charging-Information'; +name2rec('PS-Information') -> 'PS-Information'; +name2rec('Radio-Parameter-Set-Info') -> + 'Radio-Parameter-Set-Info'; +name2rec('RAN-Secondary-RAT-Usage-Report') -> + 'RAN-Secondary-RAT-Usage-Report'; +name2rec('Rate-Element') -> 'Rate-Element'; +name2rec('Real-Time-Tariff-Information') -> + 'Real-Time-Tariff-Information'; +name2rec('Recipient-Address') -> 'Recipient-Address'; +name2rec('Recipient-Info') -> 'Recipient-Info'; +name2rec('Recipient-Received-Address') -> + 'Recipient-Received-Address'; +name2rec('Related-Change-Condition-Information') -> + 'Related-Change-Condition-Information'; +name2rec('Related-Trigger') -> 'Related-Trigger'; +name2rec('Remaining-Balance') -> 'Remaining-Balance'; +name2rec('Scale-Factor') -> 'Scale-Factor'; +name2rec('SCS-AS-Address') -> 'SCS-AS-Address'; +name2rec('SDP-Media-Component') -> + 'SDP-Media-Component'; +name2rec('SDP-TimeStamps') -> 'SDP-TimeStamps'; +name2rec('Service-Data-Container') -> + 'Service-Data-Container'; +name2rec('Service-Information') -> + 'Service-Information'; +name2rec('Service-Specific-Info') -> + 'Service-Specific-Info'; +name2rec('SM-Device-Trigger-Information') -> + 'SM-Device-Trigger-Information'; +name2rec('SMS-Information') -> 'SMS-Information'; +name2rec('Supplementary-Service') -> + 'Supplementary-Service'; +name2rec('Talk-Burst-Exchange') -> + 'Talk-Burst-Exchange'; +name2rec('Tariff-Information') -> 'Tariff-Information'; +name2rec('Time-Quota-Mechanism') -> + 'Time-Quota-Mechanism'; +name2rec('Time-Stamps') -> 'Time-Stamps'; +name2rec('Traffic-Data-Volumes') -> + 'Traffic-Data-Volumes'; +name2rec('Transmitter-Info') -> 'Transmitter-Info'; +name2rec('Trigger') -> 'Trigger'; +name2rec('Trunk-Group-Id') -> 'Trunk-Group-Id'; +name2rec('TWAN-User-Location-Info') -> + 'TWAN-User-Location-Info'; +name2rec('Unit-Cost') -> 'Unit-Cost'; +name2rec('User-CSG-Information') -> + 'User-CSG-Information'; +name2rec('UWAN-User-Location-Info') -> + 'UWAN-User-Location-Info'; +name2rec('Variable-Part') -> 'Variable-Part'; +name2rec('VCS-Information') -> 'VCS-Information'; +name2rec('Cost-Information') -> 'Cost-Information'; +name2rec('Unit-Value') -> 'Unit-Value'; +name2rec('Multiple-Services-Credit-Control') -> + 'Multiple-Services-Credit-Control'; +name2rec('Granted-Service-Unit') -> + 'Granted-Service-Unit'; +name2rec('Requested-Service-Unit') -> + 'Requested-Service-Unit'; +name2rec('Used-Service-Unit') -> 'Used-Service-Unit'; +name2rec('CC-Money') -> 'CC-Money'; +name2rec('G-S-U-Pool-Reference') -> + 'G-S-U-Pool-Reference'; +name2rec('Final-Unit-Indication') -> + 'Final-Unit-Indication'; +name2rec('Redirect-Server') -> 'Redirect-Server'; +name2rec('Service-Parameter-Info') -> + 'Service-Parameter-Info'; +name2rec('Subscription-Id') -> 'Subscription-Id'; +name2rec('User-Equipment-Info') -> + 'User-Equipment-Info'; +name2rec('MIP6-Agent-Info') -> 'MIP6-Agent-Info'; +name2rec('OC-Supported-Features') -> + 'OC-Supported-Features'; +name2rec('OC-OLR') -> 'OC-OLR'; +name2rec('Load') -> 'Load'; +name2rec(T) -> msg2rec(T). + +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(1427, 10415) -> + {'APN-OI-Replacement', 'UTF8String'}; +avp_name(1687, 10415) -> {'Emergency-Info', 'Grouped'}; +avp_name(1474, 10415) -> {'GMLC-Number', 'OctetString'}; +avp_name(1489, 10415) -> {'SGSN-Number', 'OctetString'}; +avp_name(1050, 10415) -> {'AN-GW-Address', 'Address'}; +avp_name(2811, 10415) -> {'AN-GW-Status', 'Enumerated'}; +avp_name(1040, 10415) -> + {'APN-Aggregate-Max-Bitrate-DL', 'Unsigned32'}; +avp_name(1041, 10415) -> + {'APN-Aggregate-Max-Bitrate-UL', 'Unsigned32'}; +avp_name(1022, 10415) -> + {'Access-Network-Charging-Identifier-Gx', 'Grouped'}; +avp_name(1034, 10415) -> + {'Allocation-Retention-Priority', 'Grouped'}; +avp_name(1098, 10415) -> + {'Application-Detection-Information', 'Grouped'}; +avp_name(1023, 10415) -> + {'Bearer-Control-Mode', 'Enumerated'}; +avp_name(1020, 10415) -> + {'Bearer-Identifier', 'OctetString'}; +avp_name(1021, 10415) -> + {'Bearer-Operation', 'Enumerated'}; +avp_name(1000, 10415) -> {'Bearer-Usage', 'Enumerated'}; +avp_name(1071, 10415) -> + {'CSG-Information-Reporting', 'Enumerated'}; +avp_name(1073, 10415) -> + {'Charging-Correlation-Indicator', 'Enumerated'}; +avp_name(1004, 10415) -> + {'Charging-Rule-Base-Name', 'UTF8String'}; +avp_name(1003, 10415) -> + {'Charging-Rule-Definition', 'Grouped'}; +avp_name(1001, 10415) -> + {'Charging-Rule-Install', 'Grouped'}; +avp_name(1005, 10415) -> + {'Charging-Rule-Name', 'OctetString'}; +avp_name(1002, 10415) -> + {'Charging-Rule-Remove', 'Grouped'}; +avp_name(1018, 10415) -> + {'Charging-Rule-Report', 'Grouped'}; +avp_name(1035, 10415) -> {'CoA-IP-Address', 'Address'}; +avp_name(1039, 10415) -> {'CoA-Information', 'Grouped'}; +avp_name(2818, 10415) -> + {'Conditional-APN-Aggregate-Max-Bitrate', 'Grouped'}; +avp_name(1082, 10415) -> + {'Credit-Management-Status', 'Unsigned32'}; +avp_name(1049, 10415) -> + {'Default-EPS-Bearer-QoS', 'Grouped'}; +avp_name(2816, 10415) -> + {'Default-QoS-Information', 'Grouped'}; +avp_name(2817, 10415) -> + {'Default-QoS-Name', 'UTF8String'}; +avp_name(1033, 10415) -> + {'Event-Report-Indication', 'Grouped'}; +avp_name(1006, 10415) -> + {'Event-Trigger', 'Enumerated'}; +avp_name(2825, 10415) -> + {'Fixed-User-Location-Info', 'Grouped'}; +avp_name(1080, 10415) -> + {'Flow-Direction', 'Enumerated'}; +avp_name(1058, 10415) -> + {'Flow-Information', 'Grouped'}; +avp_name(1057, 10415) -> {'Flow-Label', 'OctetString'}; +avp_name(1025, 10415) -> + {'Guaranteed-Bitrate-DL', 'Unsigned32'}; +avp_name(1026, 10415) -> + {'Guaranteed-Bitrate-UL', 'Unsigned32'}; +avp_name(2804, 10415) -> + {'HeNB-Local-IP-Address', 'Address'}; +avp_name(2827, 10415) -> + {'IP-CAN-Session-Charging-Scope', 'Enumerated'}; +avp_name(1027, 10415) -> {'IP-CAN-Type', 'Enumerated'}; +avp_name(1007, 10415) -> + {'Metering-Method', 'Enumerated'}; +avp_name(1066, 10415) -> + {'Monitoring-Key', 'OctetString'}; +avp_name(2810, 10415) -> {'Monitoring-Time', 'Time'}; +avp_name(2809, 10415) -> + {'Mute-Notification', 'Enumerated'}; +avp_name(2824, 10415) -> + {'NetLoc-Access-Support', 'Unsigned32'}; +avp_name(1024, 10415) -> + {'Network-Request-Support', 'Enumerated'}; +avp_name(1008, 10415) -> {'Offline', 'Enumerated'}; +avp_name(1009, 10415) -> {'Online', 'Enumerated'}; +avp_name(1019, 10415) -> + {'PCC-Rule-Status', 'Enumerated'}; +avp_name(2826, 10415) -> + {'PCSCF-Restoration-Indication', 'Unsigned32'}; +avp_name(1065, 10415) -> + {'PDN-Connection-ID', 'OctetString'}; +avp_name(1099, 10415) -> + {'PS-to-CS-Session-Continuity', 'Enumerated'}; +avp_name(1059, 10415) -> + {'Packet-Filter-Content', 'IPFilterRule'}; +avp_name(1060, 10415) -> + {'Packet-Filter-Identifier', 'OctetString'}; +avp_name(1061, 10415) -> + {'Packet-Filter-Information', 'Grouped'}; +avp_name(1062, 10415) -> + {'Packet-Filter-Operation', 'Enumerated'}; +avp_name(1072, 10415) -> + {'Packet-Filter-Usage', 'Enumerated'}; +avp_name(1047, 10415) -> + {'Pre-emption-Capability', 'Enumerated'}; +avp_name(1048, 10415) -> + {'Pre-emption-Vulnerability', 'Enumerated'}; +avp_name(1010, 10415) -> {'Precedence', 'Unsigned32'}; +avp_name(2820, 10415) -> + {'Presence-Reporting-Area-Elements-List', + 'OctetString'}; +avp_name(2821, 10415) -> + {'Presence-Reporting-Area-Identifier', 'OctetString'}; +avp_name(2822, 10415) -> + {'Presence-Reporting-Area-Information', 'Grouped'}; +avp_name(2823, 10415) -> + {'Presence-Reporting-Area-Status', 'Unsigned32'}; +avp_name(1046, 10415) -> + {'Priority-Level', 'Unsigned32'}; +avp_name(1028, 10415) -> + {'QoS-Class-Identifier', 'Enumerated'}; +avp_name(1016, 10415) -> {'QoS-Information', 'Grouped'}; +avp_name(1029, 10415) -> + {'QoS-Negotiation', 'Enumerated'}; +avp_name(1030, 10415) -> {'QoS-Upgrade', 'Enumerated'}; +avp_name(2819, 10415) -> + {'RAN-NAS-Release-Cause', 'OctetString'}; +avp_name(1032, 10415) -> {'RAT-Type', 'Enumerated'}; +avp_name(1085, 10415) -> + {'Redirect-Information', 'Grouped'}; +avp_name(1086, 10415) -> + {'Redirect-Support', 'Enumerated'}; +avp_name(1011, 10415) -> + {'Reporting-Level', 'Enumerated'}; +avp_name(1063, 10415) -> + {'Resource-Allocation-Notification', 'Enumerated'}; +avp_name(1042, 10415) -> {'Revalidation-Time', 'Time'}; +avp_name(1078, 10415) -> {'Routing-Filter', 'Grouped'}; +avp_name(1079, 10415) -> + {'Routing-IP-Address', 'Address'}; +avp_name(1076, 10415) -> + {'Routing-Rule-Definition', 'Grouped'}; +avp_name(1077, 10415) -> + {'Routing-Rule-Identifier', 'OctetString'}; +avp_name(1081, 10415) -> + {'Routing-Rule-Install', 'Grouped'}; +avp_name(1075, 10415) -> + {'Routing-Rule-Remove', 'Grouped'}; +avp_name(1043, 10415) -> + {'Rule-Activation-Time', 'Time'}; +avp_name(1044, 10415) -> + {'Rule-Deactivation-Time', 'Time'}; +avp_name(1031, 10415) -> + {'Rule-Failure-Code', 'Enumerated'}; +avp_name(1056, 10415) -> + {'Security-Parameter-Index', 'OctetString'}; +avp_name(1045, 10415) -> + {'Session-Release-Cause', 'Enumerated'}; +avp_name(1088, 10415) -> + {'TDF-Application-Identifier', 'OctetString'}; +avp_name(2802, 10415) -> + {'TDF-Application-Instance-Identifier', 'OctetString'}; +avp_name(1089, 10415) -> + {'TDF-Destination-Host', 'DiameterIdentity'}; +avp_name(1090, 10415) -> + {'TDF-Destination-Realm', 'DiameterIdentity'}; +avp_name(1091, 10415) -> {'TDF-IP-Address', 'Address'}; +avp_name(1087, 10415) -> {'TDF-Information', 'Grouped'}; +avp_name(1012, 10415) -> {'TFT-Filter', 'IPFilterRule'}; +avp_name(1013, 10415) -> + {'TFT-Packet-Filter-Information', 'Grouped'}; +avp_name(1014, 10415) -> + {'ToS-Traffic-Class', 'OctetString'}; +avp_name(1036, 10415) -> + {'Tunnel-Header-Filter', 'IPFilterRule'}; +avp_name(1037, 10415) -> + {'Tunnel-Header-Length', 'Unsigned32'}; +avp_name(1038, 10415) -> + {'Tunnel-Information', 'Grouped'}; +avp_name(2806, 10415) -> + {'UDP-Source-Port', 'Unsigned32'}; +avp_name(2805, 10415) -> + {'UE-Local-IP-Address', 'Address'}; +avp_name(1067, 10415) -> + {'Usage-Monitoring-Information', 'Grouped'}; +avp_name(1068, 10415) -> + {'Usage-Monitoring-Level', 'Enumerated'}; +avp_name(1069, 10415) -> + {'Usage-Monitoring-Report', 'Enumerated'}; +avp_name(1070, 10415) -> + {'Usage-Monitoring-Support', 'Enumerated'}; +avp_name(2812, 10415) -> + {'User-Location-Info-Time', 'Time'}; +avp_name(504, 10415) -> + {'AF-Application-Identifier', 'OctetString'}; +avp_name(505, 10415) -> + {'AF-Charging-Identifier', 'OctetString'}; +avp_name(529, 10415) -> + {'AF-Signalling-Protocol', 'Enumerated'}; +avp_name(500, 10415) -> {'Abort-Cause', 'Enumerated'}; +avp_name(501, 10415) -> + {'Access-Network-Charging-Address', 'Address'}; +avp_name(503, 10415) -> + {'Access-Network-Charging-Identifier-Value', + 'OctetString'}; +avp_name(532, 10415) -> + {'Application-Service-Provider-Identity', 'UTF8String'}; +avp_name(524, 10415) -> {'Codec-Data', 'OctetString'}; +avp_name(507, 10415) -> + {'Flow-Description', 'IPFilterRule'}; +avp_name(509, 10415) -> {'Flow-Number', 'Unsigned32'}; +avp_name(511, 10415) -> {'Flow-Status', 'Enumerated'}; +avp_name(512, 10415) -> {'Flow-Usage', 'Enumerated'}; +avp_name(510, 10415) -> {'Flows', 'Grouped'}; +avp_name(538, 10415) -> + {'GCS-Identifier', 'OctetString'}; +avp_name(537, 10415) -> {'IP-Domain-Id', 'OctetString'}; +avp_name(528, 10415) -> + {'MPS-Identifier', 'OctetString'}; +avp_name(515, 10415) -> + {'Max-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(516, 10415) -> + {'Max-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(518, 10415) -> + {'Media-Component-Number', 'Unsigned32'}; +avp_name(520, 10415) -> {'Media-Type', 'Enumerated'}; +avp_name(534, 10415) -> + {'Min-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(535, 10415) -> + {'Min-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(521, 10415) -> {'RR-Bandwidth', 'Unsigned32'}; +avp_name(522, 10415) -> {'RS-Bandwidth', 'Unsigned32'}; +avp_name(536, 10415) -> + {'Required-Access-Info', 'Enumerated'}; +avp_name(533, 10415) -> + {'Rx-Request-Type', 'Enumerated'}; +avp_name(523, 10415) -> + {'SIP-Forking-Indication', 'Enumerated'}; +avp_name(527, 10415) -> + {'Service-Info-Status', 'Enumerated'}; +avp_name(525, 10415) -> {'Service-URN', 'OctetString'}; +avp_name(513, 10415) -> + {'Specific-Action', 'Enumerated'}; +avp_name(531, 10415) -> + {'Sponsor-Identity', 'UTF8String'}; +avp_name(643, 10415) -> + {'Call-ID-SIP-Header', 'OctetString'}; +avp_name(618, 10415) -> + {'Charging-Information', 'Grouped'}; +avp_name(625, 10415) -> + {'Confidentiality-Key', 'OctetString'}; +avp_name(641, 10415) -> {'Contact', 'OctetString'}; +avp_name(615, 10415) -> + {'Deregistration-Reason', 'Grouped'}; +avp_name(111, undefined) -> + {'Digest-Algorithm', 'UTF8String'}; +avp_name(121, undefined) -> + {'Digest-HA1', 'UTF8String'}; +avp_name(110, undefined) -> + {'Digest-QoP', 'UTF8String'}; +avp_name(104, undefined) -> + {'Digest-Realm', 'UTF8String'}; +avp_name(630, 10415) -> {'Feature-List', 'Unsigned32'}; +avp_name(629, 10415) -> + {'Feature-List-ID', 'Unsigned32'}; +avp_name(644, 10415) -> + {'From-SIP-Header', 'OctetString'}; +avp_name(654, 10415) -> + {'Initial-CSeq-Sequence-Number', 'Unsigned32'}; +avp_name(626, 10415) -> + {'Integrity-Key', 'OctetString'}; +avp_name(653, 10415) -> {'LIA-Flags', 'Unsigned32'}; +avp_name(638, 10415) -> + {'Loose-Route-Indication', 'Enumerated'}; +avp_name(604, 10415) -> + {'Mandatory-Capability', 'Unsigned32'}; +avp_name(648, 10415) -> + {'Multiple-Registration-Indication', 'Enumerated'}; +avp_name(605, 10415) -> + {'Optional-Capability', 'Unsigned32'}; +avp_name(633, 10415) -> + {'Originating-Request', 'Enumerated'}; +avp_name(640, 10415) -> {'Path', 'OctetString'}; +avp_name(621, 10415) -> + {'Primary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(619, 10415) -> + {'Primary-Event-Charging-Function-Name', 'DiameterURI'}; +avp_name(652, 10415) -> + {'Priviledged-Sender-Indication', 'Enumerated'}; +avp_name(601, 10415) -> + {'Public-Identity', 'UTF8String'}; +avp_name(616, 10415) -> {'Reason-Code', 'Enumerated'}; +avp_name(617, 10415) -> {'Reason-Info', 'UTF8String'}; +avp_name(646, 10415) -> {'Record-Route', 'OctetString'}; +avp_name(655, 10415) -> {'SAR-Flags', 'Unsigned32'}; +avp_name(612, 10415) -> + {'SIP-Auth-Data-Item', 'Grouped'}; +avp_name(609, 10415) -> + {'SIP-Authenticate', 'OctetString'}; +avp_name(611, 10415) -> + {'SIP-Authentication-Context', 'OctetString'}; +avp_name(608, 10415) -> + {'SIP-Authentication-Scheme', 'UTF8String'}; +avp_name(610, 10415) -> + {'SIP-Authorization', 'OctetString'}; +avp_name(635, 10415) -> + {'SIP-Digest-Authenticate', 'Grouped'}; +avp_name(613, 10415) -> + {'SIP-Item-Number', 'Unsigned32'}; +avp_name(607, 10415) -> + {'SIP-Number-Auth-Items', 'Unsigned32'}; +avp_name(622, 10415) -> + {'Secondary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(620, 10415) -> + {'Secondary-Event-Charging-Function-Name', + 'DiameterURI'}; +avp_name(614, 10415) -> + {'Server-Assignment-Type', 'Enumerated'}; +avp_name(602, 10415) -> {'Server-Name', 'UTF8String'}; +avp_name(650, 10415) -> + {'Session-Priority', 'Enumerated'}; +avp_name(631, 10415) -> + {'Supported-Applications', 'Grouped'}; +avp_name(628, 10415) -> + {'Supported-Features', 'Grouped'}; +avp_name(645, 10415) -> + {'To-SIP-Header', 'OctetString'}; +avp_name(637, 10415) -> {'UAR-Flags', 'Unsigned32'}; +avp_name(623, 10415) -> + {'User-Authorization-Type', 'Enumerated'}; +avp_name(606, 10415) -> {'User-Data', 'OctetString'}; +avp_name(624, 10415) -> + {'User-Data-Already-Available', 'Enumerated'}; +avp_name(600, 10415) -> + {'Visited-Network-Identifier', 'OctetString'}; +avp_name(634, 10415) -> + {'Wildcarded-Public-Identity', 'UTF8String'}; +avp_name(1471, 10415) -> {'3GPP2-MEID', 'OctetString'}; +avp_name(1643, 10415) -> {'A-MSISDN', 'OctetString'}; +avp_name(1435, 10415) -> {'AMBR', 'Grouped'}; +avp_name(1430, 10415) -> + {'APN-Configuration', 'Grouped'}; +avp_name(1429, 10415) -> + {'APN-Configuration-Profile', 'Grouped'}; +avp_name(1449, 10415) -> {'AUTN', 'OctetString'}; +avp_name(1426, 10415) -> + {'Access-Restriction-Data', 'Unsigned32'}; +avp_name(1612, 10415) -> {'Active-APN', 'Grouped'}; +avp_name(1611, 10415) -> + {'Age-Of-Location-Information', 'Unsigned32'}; +avp_name(1434, 10415) -> {'Alert-Reason', 'Enumerated'}; +avp_name(1428, 10415) -> + {'All-APN-Configurations-Included-Indicator', + 'Enumerated'}; +avp_name(1624, 10415) -> {'Area-Scope', 'Grouped'}; +avp_name(1413, 10415) -> + {'Authentication-Info', 'Grouped'}; +avp_name(1638, 10415) -> {'CLR-Flags', 'Unsigned32'}; +avp_name(1437, 10415) -> {'CSG-Id', 'Unsigned32'}; +avp_name(1436, 10415) -> + {'CSG-Subscription-Data', 'Grouped'}; +avp_name(1488, 10415) -> + {'Call-Barring-Info', 'Grouped'}; +avp_name(1420, 10415) -> + {'Cancellation-Type', 'Enumerated'}; +avp_name(1604, 10415) -> + {'Cell-Global-Identity', 'OctetString'}; +avp_name(1480, 10415) -> + {'Client-Identity', 'OctetString'}; +avp_name(1657, 10415) -> + {'Collection-Period-RRM-LTE', 'Enumerated'}; +avp_name(1658, 10415) -> + {'Collection-Period-RRM-UMTS', 'Enumerated'}; +avp_name(1468, 10415) -> + {'Complete-Data-List-Included-Indicator', 'Enumerated'}; +avp_name(1423, 10415) -> + {'Context-Identifier', 'Unsigned32'}; +avp_name(1704, 10415) -> + {'Core-Network-Restrictions', 'Unsigned32'}; +avp_name(1610, 10415) -> + {'Current-Location-Retrieved', 'Enumerated'}; +avp_name(1422, 10415) -> {'DSA-Flags', 'Unsigned32'}; +avp_name(1421, 10415) -> {'DSR-Flags', 'Unsigned32'}; +avp_name(1650, 10415) -> + {'Daylight-Saving-Time', 'Enumerated'}; +avp_name(1602, 10415) -> + {'E-UTRAN-Cell-Global-Identity', 'OctetString'}; +avp_name(1414, 10415) -> {'E-UTRAN-Vector', 'Grouped'}; +avp_name(1496, 10415) -> + {'EPS-Location-Information', 'Grouped'}; +avp_name(1431, 10415) -> + {'EPS-Subscribed-QoS-Profile', 'Grouped'}; +avp_name(1495, 10415) -> {'EPS-User-State', 'Grouped'}; +avp_name(1445, 10415) -> + {'Equipment-Status', 'Enumerated'}; +avp_name(1637, 10415) -> + {'Equivalent-PLMN-List', 'Grouped'}; +avp_name(1614, 10415) -> + {'Error-Diagnostic', 'Enumerated'}; +avp_name(1661, 10415) -> + {'Event-Threshold-Event-1F', 'Integer32'}; +avp_name(1662, 10415) -> + {'Event-Threshold-Event-1I', 'Integer32'}; +avp_name(1629, 10415) -> + {'Event-Threshold-RSRP', 'Unsigned32'}; +avp_name(1630, 10415) -> + {'Event-Threshold-RSRQ', 'Unsigned32'}; +avp_name(1439, 10415) -> {'Expiration-Date', 'Time'}; +avp_name(1621, 10415) -> {'Ext-PDP-Address', 'Address'}; +avp_name(1620, 10415) -> + {'Ext-PDP-Type', 'OctetString'}; +avp_name(1479, 10415) -> {'External-Client', 'Grouped'}; +avp_name(1416, 10415) -> {'GERAN-Vector', 'Grouped'}; +avp_name(1481, 10415) -> + {'GMLC-Restriction', 'Enumerated'}; +avp_name(1467, 10415) -> + {'GPRS-Subscription-Data', 'Grouped'}; +avp_name(1609, 10415) -> + {'Geodetic-Information', 'OctetString'}; +avp_name(1608, 10415) -> + {'Geographical-Information', 'OctetString'}; +avp_name(1418, 10415) -> {'HPLMN-ODB', 'Unsigned32'}; +avp_name(1493, 10415) -> + {'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + 'Enumerated'}; +avp_name(1491, 10415) -> + {'ICS-Indicator', 'Enumerated'}; +avp_name(1441, 10415) -> {'IDA-Flags', 'Unsigned32'}; +avp_name(1490, 10415) -> {'IDR-Flags', 'Unsigned32'}; +avp_name(1402, 10415) -> {'IMEI', 'UTF8String'}; +avp_name(1492, 10415) -> + {'IMS-Voice-Over-PS-Sessions-Supported', 'Enumerated'}; +avp_name(1412, 10415) -> + {'Immediate-Response-Preferred', 'Unsigned32'}; +avp_name(1419, 10415) -> {'Item-Number', 'Unsigned32'}; +avp_name(1623, 10415) -> {'Job-Type', 'Enumerated'}; +avp_name(1450, 10415) -> {'KASME', 'OctetString'}; +avp_name(1453, 10415) -> {'Kc', 'OctetString'}; +avp_name(1473, 10415) -> {'LCS-Info', 'Grouped'}; +avp_name(1475, 10415) -> + {'LCS-PrivacyException', 'Grouped'}; +avp_name(1618, 10415) -> + {'LIPA-Permission', 'Enumerated'}; +avp_name(1494, 10415) -> + {'Last-UE-Activity-Time', 'Time'}; +avp_name(1625, 10415) -> + {'List-Of-Measurements', 'Unsigned32'}; +avp_name(1649, 10415) -> {'Local-Time-Zone', 'Grouped'}; +avp_name(1606, 10415) -> + {'Location-Area-Identity', 'OctetString'}; +avp_name(1632, 10415) -> + {'Logging-Duration', 'Enumerated'}; +avp_name(1631, 10415) -> + {'Logging-Interval', 'Enumerated'}; +avp_name(1622, 10415) -> + {'MDT-Configuration', 'Grouped'}; +avp_name(1634, 10415) -> + {'MDT-User-Consent', 'Enumerated'}; +avp_name(1600, 10415) -> + {'MME-Location-Information', 'Grouped'}; +avp_name(1645, 10415) -> + {'MME-Number-for-MT-SMS', 'OctetString'}; +avp_name(1497, 10415) -> {'MME-User-State', 'Grouped'}; +avp_name(1485, 10415) -> {'MO-LR', 'Grouped'}; +avp_name(1616, 10415) -> {'MPS-Priority', 'Unsigned32'}; +avp_name(1656, 10415) -> + {'Measurement-Period-LTE', 'Enumerated'}; +avp_name(1655, 10415) -> + {'Measurement-Period-UMTS', 'Enumerated'}; +avp_name(1660, 10415) -> + {'Measurement-Quantity', 'OctetString'}; +avp_name(1443, 10415) -> {'NOR-Flags', 'Unsigned32'}; +avp_name(1417, 10415) -> + {'Network-Access-Mode', 'Enumerated'}; +avp_name(1478, 10415) -> + {'Notification-To-UE-User', 'Enumerated'}; +avp_name(1410, 10415) -> + {'Number-Of-Requested-Vectors', 'Unsigned32'}; +avp_name(1466, 10415) -> {'OMC-Id', 'OctetString'}; +avp_name(1425, 10415) -> + {'Operator-Determined-Barring', 'Unsigned32'}; +avp_name(1438, 10415) -> + {'PDN-GW-Allocation-Type', 'Enumerated'}; +avp_name(1456, 10415) -> {'PDN-Type', 'Enumerated'}; +avp_name(1469, 10415) -> {'PDP-Context', 'Grouped'}; +avp_name(1470, 10415) -> {'PDP-Type', 'OctetString'}; +avp_name(1482, 10415) -> {'PLMN-Client', 'Enumerated'}; +avp_name(1442, 10415) -> {'PUA-Flags', 'Unsigned32'}; +avp_name(1635, 10415) -> {'PUR-Flags', 'Unsigned32'}; +avp_name(1659, 10415) -> + {'Positioning-Method', 'OctetString'}; +avp_name(1404, 10415) -> + {'QoS-Subscribed', 'OctetString'}; +avp_name(1447, 10415) -> {'RAND', 'OctetString'}; +avp_name(1440, 10415) -> + {'RAT-Frequency-Selection-Priority-ID', 'Unsigned32'}; +avp_name(1411, 10415) -> + {'Re-Synchronization-Info', 'OctetString'}; +avp_name(1446, 10415) -> + {'Regional-Subscription-Zone-Code', 'OctetString'}; +avp_name(1633, 10415) -> + {'Relay-Node-Indicator', 'Enumerated'}; +avp_name(1628, 10415) -> + {'Report-Amount', 'Enumerated'}; +avp_name(1627, 10415) -> + {'Report-Interval', 'Enumerated'}; +avp_name(1626, 10415) -> + {'Reporting-Trigger', 'Unsigned32'}; +avp_name(1408, 10415) -> + {'Requested-EUTRAN-Authentication-Info', 'Grouped'}; +avp_name(1409, 10415) -> + {'Requested-UTRAN-GERAN-Authentication-Info', + 'Grouped'}; +avp_name(1663, 10415) -> + {'Restoration-Priority', 'Unsigned32'}; +avp_name(1457, 10415) -> + {'Roaming-Restricted-Due-To-Unsupported-Feature', + 'Enumerated'}; +avp_name(1605, 10415) -> + {'Routing-Area-Identity', 'OctetString'}; +avp_name(1601, 10415) -> + {'SGSN-Location-Information', 'Grouped'}; +avp_name(1498, 10415) -> {'SGSN-User-State', 'Grouped'}; +avp_name(1613, 10415) -> + {'SIPTO-Permission', 'Enumerated'}; +avp_name(1648, 10415) -> + {'SMS-Register-Request', 'Enumerated'}; +avp_name(1454, 10415) -> {'SRES', 'OctetString'}; +avp_name(1476, 10415) -> {'SS-Code', 'OctetString'}; +avp_name(1477, 10415) -> {'SS-Status', 'OctetString'}; +avp_name(1433, 10415) -> {'STN-SR', 'OctetString'}; +avp_name(1607, 10415) -> + {'Service-Area-Identity', 'OctetString'}; +avp_name(1483, 10415) -> {'Service-Type', 'Grouped'}; +avp_name(1484, 10415) -> + {'ServiceTypeIdentity', 'Unsigned32'}; +avp_name(1403, 10415) -> + {'Software-Version', 'UTF8String'}; +avp_name(1472, 10415) -> + {'Specific-APN-Info', 'Grouped'}; +avp_name(1619, 10415) -> + {'Subscribed-Periodic-RAU-TAU-Timer', 'Unsigned32'}; +avp_name(1636, 10415) -> + {'Subscribed-VSRVCC', 'Enumerated'}; +avp_name(1424, 10415) -> + {'Subscriber-Status', 'Enumerated'}; +avp_name(1400, 10415) -> + {'Subscription-Data', 'Grouped'}; +avp_name(1654, 10415) -> + {'Subscription-Data-Flags', 'Unsigned32'}; +avp_name(1487, 10415) -> {'TS-Code', 'OctetString'}; +avp_name(1486, 10415) -> + {'Teleservice-List', 'Grouped'}; +avp_name(1401, 10415) -> + {'Terminal-Information', 'Grouped'}; +avp_name(1642, 10415) -> {'Time-Zone', 'UTF8String'}; +avp_name(1452, 10415) -> + {'Trace-Collection-Entity', 'Address'}; +avp_name(1458, 10415) -> {'Trace-Data', 'Grouped'}; +avp_name(1462, 10415) -> {'Trace-Depth', 'Enumerated'}; +avp_name(1465, 10415) -> + {'Trace-Event-List', 'OctetString'}; +avp_name(1464, 10415) -> + {'Trace-Interface-List', 'OctetString'}; +avp_name(1463, 10415) -> + {'Trace-NE-Type-List', 'OctetString'}; +avp_name(1459, 10415) -> + {'Trace-Reference', 'OctetString'}; +avp_name(1603, 10415) -> + {'Tracking-Area-Identity', 'OctetString'}; +avp_name(1615, 10415) -> + {'UE-SRVCC-Capability', 'Enumerated'}; +avp_name(1680, 10415) -> + {'UE-Usage-Type', 'Unsigned32'}; +avp_name(1406, 10415) -> {'ULA-Flags', 'Unsigned32'}; +avp_name(1405, 10415) -> {'ULR-Flags', 'Unsigned32'}; +avp_name(1415, 10415) -> {'UTRAN-Vector', 'Grouped'}; +avp_name(1640, 10415) -> {'UVA-Flags', 'Unsigned32'}; +avp_name(1639, 10415) -> {'UVR-Flags', 'Unsigned32'}; +avp_name(1444, 10415) -> {'User-Id', 'UTF8String'}; +avp_name(1499, 10415) -> {'User-State', 'Enumerated'}; +avp_name(1641, 10415) -> + {'VPLMN-CSG-Subscription-Data', 'Grouped'}; +avp_name(1432, 10415) -> + {'VPLMN-Dynamic-Address-Allowed', 'Enumerated'}; +avp_name(1617, 10415) -> + {'VPLMN-LIPA-Allowed', 'Enumerated'}; +avp_name(1407, 10415) -> + {'Visited-PLMN-Id', 'OctetString'}; +avp_name(1448, 10415) -> {'XRES', 'OctetString'}; +avp_name(318, 10415) -> + {'3GPP-AAA-Server-Name', 'DiameterIdentity'}; +avp_name(1518, 10415) -> + {'AAA-Failure-Indication', 'Unsigned32'}; +avp_name(1539, 10415) -> {'AAR-Flags', 'Unsigned32'}; +avp_name(1503, 10415) -> {'AN-Trusted', 'Enumerated'}; +avp_name(1504, 10415) -> {'ANID', 'UTF8String'}; +avp_name(1511, 10415) -> + {'Access-Authorization-Flags', 'Unsigned32'}; +avp_name(1526, 10415) -> + {'Access-Network-Info', 'Grouped'}; +avp_name(1529, 10415) -> + {'Connectivity-Flags', 'Unsigned32'}; +avp_name(1521, 10415) -> {'DEA-Flags', 'Unsigned32'}; +avp_name(1520, 10415) -> {'DER-Flags', 'Unsigned32'}; +avp_name(1523, 10415) -> + {'DER-S6b-Flags', 'Unsigned32'}; +avp_name(1541, 10415) -> + {'ERP-Authorization', 'Unsigned32'}; +avp_name(1538, 10415) -> + {'Emergency-Services', 'Unsigned32'}; +avp_name(1516, 10415) -> + {'Full-Network-Name', 'OctetString'}; +avp_name(1525, 10415) -> {'HESSID', 'UTF8String'}; +avp_name(1540, 10415) -> + {'IMEI-Check-In-VPLMN-Result', 'Unsigned32'}; +avp_name(1506, 10415) -> {'MIP-FA-RK', 'OctetString'}; +avp_name(1507, 10415) -> + {'MIP-FA-RK-SPI', 'Unsigned32'}; +avp_name(124, undefined) -> + {'MIP6-Feature-Vector', 'Unsigned64'}; +avp_name(1537, 10415) -> + {'Maximum-Wait-Time', 'Unsigned32'}; +avp_name(506, undefined) -> + {'Mobile-Node-Identifier', 'UTF8String'}; +avp_name(1501, 10415) -> + {'Non-3GPP-IP-Access', 'Enumerated'}; +avp_name(1502, 10415) -> + {'Non-3GPP-IP-Access-APN', 'Enumerated'}; +avp_name(1500, 10415) -> + {'Non-3GPP-User-Data', 'Grouped'}; +avp_name(1536, 10415) -> + {'Origination-Time-Stamp', 'Unsigned64'}; +avp_name(1508, 10415) -> {'PPR-Flags', 'Unsigned32'}; +avp_name(1522, 10415) -> {'RAR-Flags', 'Unsigned32'}; +avp_name(1534, 10415) -> + {'SM-Back-Off-Timer', 'Unsigned32'}; +avp_name(1524, 10415) -> {'SSID', 'UTF8String'}; +avp_name(1517, 10415) -> + {'Short-Network-Name', 'OctetString'}; +avp_name(1531, 10415) -> {'TWAG-CP-Address', 'Address'}; +avp_name(1532, 10415) -> + {'TWAG-UP-Address', 'UTF8String'}; +avp_name(1510, 10415) -> + {'TWAN-Access-Info', 'Grouped'}; +avp_name(1527, 10415) -> + {'TWAN-Connection-Mode', 'Unsigned32'}; +avp_name(1528, 10415) -> + {'TWAN-Connectivity-Parameters', 'Grouped'}; +avp_name(1512, 10415) -> + {'TWAN-Default-APN-Context-Id', 'Unsigned32'}; +avp_name(1530, 10415) -> {'TWAN-PCO', 'OctetString'}; +avp_name(1533, 10415) -> + {'TWAN-S2a-Failure-Cause', 'Unsigned32'}; +avp_name(1505, 10415) -> {'Trace-Info', 'Grouped'}; +avp_name(1519, 10415) -> + {'Transport-Access-Type', 'Enumerated'}; +avp_name(1509, 10415) -> {'WLAN-Identifier', 'Grouped'}; +avp_name(1535, 10415) -> {'WLCP-Key', 'OctetString'}; +avp_name(4406, 10415) -> + {'3GPP-PS-Data-Off-Status', 'Enumerated'}; +avp_name(1276, 10415) -> + {'AF-Correlation-Information', 'Grouped'}; +avp_name(3933, 10415) -> + {'APN-Rate-Control', 'Grouped'}; +avp_name(3934, 10415) -> + {'APN-Rate-Control-Downlink', 'Grouped'}; +avp_name(3935, 10415) -> + {'APN-Rate-Control-Uplink', 'Grouped'}; +avp_name(4401, 10415) -> + {'Access-Network-Info-Change', 'Grouped'}; +avp_name(1263, 10415) -> + {'Access-Network-Information', 'OctetString'}; +avp_name(2709, 10415) -> + {'Access-Transfer-Information', 'Grouped'}; +avp_name(2710, 10415) -> + {'Access-Transfer-Type', 'Enumerated'}; +avp_name(2309, 10415) -> {'Account-Expiration', 'Time'}; +avp_name(2052, 10415) -> + {'Accumulated-Cost', 'Grouped'}; +avp_name(1217, 10415) -> {'Adaptations', 'Enumerated'}; +avp_name(1207, 10415) -> + {'Additional-Content-Information', 'Grouped'}; +avp_name(3936, 10415) -> + {'Additional-Exception-Reports', 'Enumerated'}; +avp_name(1205, 10415) -> + {'Additional-Type-Information', 'UTF8String'}; +avp_name(897, 10415) -> {'Address-Data', 'UTF8String'}; +avp_name(898, 10415) -> {'Address-Domain', 'Grouped'}; +avp_name(899, 10415) -> {'Address-Type', 'Enumerated'}; +avp_name(1208, 10415) -> + {'Addressee-Type', 'Enumerated'}; +avp_name(1280, 10415) -> + {'Alternate-Charged-Party-Address', 'UTF8String'}; +avp_name(3905, 10415) -> + {'Announcement-Identifier', 'Unsigned32'}; +avp_name(3904, 10415) -> + {'Announcement-Information', 'Grouped'}; +avp_name(3906, 10415) -> + {'Announcement-Order', 'Unsigned32'}; +avp_name(4408, 10415) -> + {'Announcing-PLMN-ID', 'UTF8String'}; +avp_name(3426, 10415) -> + {'Announcing-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3427, 10415) -> + {'Announcing-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(2053, 10415) -> + {'AoC-Cost-Information', 'Grouped'}; +avp_name(2310, 10415) -> {'AoC-Format', 'Enumerated'}; +avp_name(2054, 10415) -> {'AoC-Information', 'Grouped'}; +avp_name(2055, 10415) -> + {'AoC-Request-Type', 'Enumerated'}; +avp_name(2311, 10415) -> {'AoC-Service', 'Grouped'}; +avp_name(2312, 10415) -> + {'AoC-Service-Obligatory-Type', 'Enumerated'}; +avp_name(2313, 10415) -> + {'AoC-Service-Type', 'Enumerated'}; +avp_name(2314, 10415) -> + {'AoC-Subscription-Information', 'Grouped'}; +avp_name(1218, 10415) -> {'Applic-ID', 'UTF8String'}; +avp_name(837, 10415) -> + {'Application-Provided-Called-Party-Address', + 'UTF8String'}; +avp_name(836, 10415) -> + {'Application-Server', 'UTF8String'}; +avp_name(850, 10415) -> + {'Application-Server-Information', 'Grouped'}; +avp_name(3458, 10415) -> + {'Application-Specific-Data', 'OctetString'}; +avp_name(2035, 10415) -> + {'Associated-Party-Address', 'UTF8String'}; +avp_name(856, 10415) -> + {'Associated-URI', 'UTF8String'}; +avp_name(849, 10415) -> + {'Authorised-QoS', 'UTF8String'}; +avp_name(1219, 10415) -> + {'Aux-Applic-Info', 'UTF8String'}; +avp_name(2716, 10415) -> {'BSSID', 'UTF8String'}; +avp_name(1265, 10415) -> + {'Base-Time-Interval', 'Unsigned32'}; +avp_name(3411, 10415) -> + {'Basic-Service-Code', 'Grouped'}; +avp_name(3412, 10415) -> + {'Bearer-Capability', 'OctetString'}; +avp_name(854, 10415) -> + {'Bearer-Service', 'OctetString'}; +avp_name(846, 10415) -> {'CG-Address', 'Address'}; +avp_name(3421, 10415) -> + {'CN-Operator-Selection-Entity', 'Enumerated'}; +avp_name(3930, 10415) -> + {'CP-CIoT-EPS-Optimisation-Indicator', 'Enumerated'}; +avp_name(3927, 10415) -> + {'CPDT-Information', 'Grouped'}; +avp_name(2317, 10415) -> + {'CSG-Access-Mode', 'Enumerated'}; +avp_name(2318, 10415) -> + {'CSG-Membership-Indication', 'Enumerated'}; +avp_name(2304, 10415) -> + {'CUG-Information', 'OctetString'}; +avp_name(1250, 10415) -> + {'Called-Asserted-Identity', 'UTF8String'}; +avp_name(3916, 10415) -> + {'Called-Identity', 'UTF8String'}; +avp_name(3917, 10415) -> + {'Called-Identity-Change', 'Grouped'}; +avp_name(832, 10415) -> + {'Called-Party-Address', 'UTF8String'}; +avp_name(831, 10415) -> + {'Calling-Party-Address', 'UTF8String'}; +avp_name(2023, 10415) -> + {'Carrier-Select-Routing-Information', 'UTF8String'}; +avp_name(861, 10415) -> {'Cause-Code', 'Integer32'}; +avp_name(3924, 10415) -> + {'Cellular-Network-Information', 'OctetString'}; +avp_name(2037, 10415) -> + {'Change-Condition', 'Integer32'}; +avp_name(2038, 10415) -> {'Change-Time', 'Time'}; +avp_name(2118, 10415) -> + {'Charge-Reason-Code', 'Enumerated'}; +avp_name(857, 10415) -> {'Charged-Party', 'UTF8String'}; +avp_name(2066, 10415) -> + {'Charging-Characteristics-Selection-Mode', + 'Enumerated'}; +avp_name(4400, 10415) -> + {'Charging-Per-IP-CAN-Session-Indicator', 'Enumerated'}; +avp_name(1214, 10415) -> + {'Class-Identifier', 'Enumerated'}; +avp_name(2018, 10415) -> {'Client-Address', 'Address'}; +avp_name(1220, 10415) -> + {'Content-Class', 'Enumerated'}; +avp_name(828, 10415) -> + {'Content-Disposition', 'UTF8String'}; +avp_name(827, 10415) -> + {'Content-Length', 'Unsigned32'}; +avp_name(1206, 10415) -> {'Content-Size', 'Unsigned32'}; +avp_name(826, 10415) -> {'Content-Type', 'UTF8String'}; +avp_name(3459, 10415) -> {'Coverage-Info', 'Grouped'}; +avp_name(3428, 10415) -> + {'Coverage-Status', 'Enumerated'}; +avp_name(2056, 10415) -> {'Current-Tariff', 'Grouped'}; +avp_name(1221, 10415) -> {'DRM-Content', 'Enumerated'}; +avp_name(2001, 10415) -> + {'Data-Coding-Scheme', 'Integer32'}; +avp_name(1230, 10415) -> + {'Deferred-Location-Event-Type', 'UTF8String'}; +avp_name(1216, 10415) -> + {'Delivery-Report-Requested', 'Enumerated'}; +avp_name(2002, 10415) -> + {'Destination-Interface', 'Grouped'}; +avp_name(2039, 10415) -> {'Diagnostics', 'Integer32'}; +avp_name(4402, 10415) -> + {'Discoveree-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4403, 10415) -> + {'Discoveree-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(4404, 10415) -> + {'Discoverer-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4405, 10415) -> + {'Discoverer-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(1200, 10415) -> {'Domain-Name', 'UTF8String'}; +avp_name(2051, 10415) -> + {'Dynamic-Address-Flag', 'Enumerated'}; +avp_name(2068, 10415) -> + {'Dynamic-Address-Flag-Extension', 'Enumerated'}; +avp_name(3425, 10415) -> {'EPDG-Address', 'Address'}; +avp_name(1272, 10415) -> + {'Early-Media-Description', 'Grouped'}; +avp_name(3901, 10415) -> + {'Enhanced-Diagnostics', 'Grouped'}; +avp_name(1266, 10415) -> {'Envelope', 'Grouped'}; +avp_name(1267, 10415) -> {'Envelope-End-Time', 'Time'}; +avp_name(1268, 10415) -> + {'Envelope-Reporting', 'Enumerated'}; +avp_name(1269, 10415) -> + {'Envelope-Start-Time', 'Time'}; +avp_name(825, 10415) -> {'Event', 'UTF8String'}; +avp_name(1258, 10415) -> + {'Event-Charging-TimeStamp', 'Time'}; +avp_name(823, 10415) -> {'Event-Type', 'Grouped'}; +avp_name(888, 10415) -> {'Expires', 'Unsigned32'}; +avp_name(4413, 10415) -> + {'FE-Identifier-List', 'UTF8String'}; +avp_name(1224, 10415) -> + {'File-Repair-Supported', 'Enumerated'}; +avp_name(3415, 10415) -> + {'Forwarding-Pending', 'Enumerated'}; +avp_name(2708, 10415) -> {'From-Address', 'UTF8String'}; +avp_name(847, 10415) -> {'GGSN-Address', 'Address'}; +avp_name(2601, 10415) -> + {'IMS-Application-Reference-Identifier', 'UTF8String'}; +avp_name(841, 10415) -> + {'IMS-Charging-Identifier', 'UTF8String'}; +avp_name(1281, 10415) -> + {'IMS-Communication-Service-Identifier', 'UTF8String'}; +avp_name(2322, 10415) -> + {'IMS-Emergency-Indicator', 'Enumerated'}; +avp_name(876, 10415) -> {'IMS-Information', 'Grouped'}; +avp_name(2713, 10415) -> + {'IMS-Visited-Network-Identifier', 'UTF8String'}; +avp_name(2308, 10415) -> + {'IMSI-Unauthenticated-Flag', 'Enumerated'}; +avp_name(2603, 10415) -> + {'IP-Realm-Default-Indication', 'Enumerated'}; +avp_name(3416, 10415) -> {'ISUP-Cause', 'Grouped'}; +avp_name(3422, 10415) -> + {'ISUP-Cause-Diagnostics', 'OctetString'}; +avp_name(3423, 10415) -> + {'ISUP-Cause-Location', 'Unsigned32'}; +avp_name(3424, 10415) -> + {'ISUP-Cause-Value', 'Unsigned32'}; +avp_name(3414, 10415) -> + {'ISUP-Location-Number', 'OctetString'}; +avp_name(852, 10415) -> + {'Incoming-Trunk-Group-Id', 'UTF8String'}; +avp_name(2062, 10415) -> + {'Incremental-Cost', 'Grouped'}; +avp_name(2321, 10415) -> + {'Initial-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(3402, 10415) -> {'Instance-Id', 'UTF8String'}; +avp_name(838, 10415) -> + {'Inter-Operator-Identifier', 'Grouped'}; +avp_name(3902, 10415) -> + {'Inter-UE-Transfer', 'Enumerated'}; +avp_name(2003, 10415) -> {'Interface-Id', 'UTF8String'}; +avp_name(2004, 10415) -> + {'Interface-Port', 'UTF8String'}; +avp_name(2005, 10415) -> + {'Interface-Text', 'UTF8String'}; +avp_name(2006, 10415) -> + {'Interface-Type', 'Enumerated'}; +avp_name(1231, 10415) -> {'LCS-APN', 'UTF8String'}; +avp_name(1233, 10415) -> + {'LCS-Client-Dialed-By-MS', 'UTF8String'}; +avp_name(1234, 10415) -> + {'LCS-Client-External-ID', 'UTF8String'}; +avp_name(1232, 10415) -> {'LCS-Client-ID', 'Grouped'}; +avp_name(1235, 10415) -> {'LCS-Client-Name', 'Grouped'}; +avp_name(1241, 10415) -> + {'LCS-Client-Type', 'Enumerated'}; +avp_name(1236, 10415) -> + {'LCS-Data-Coding-Scheme', 'UTF8String'}; +avp_name(1237, 10415) -> + {'LCS-Format-Indicator', 'Enumerated'}; +avp_name(878, 10415) -> {'LCS-Information', 'Grouped'}; +avp_name(1238, 10415) -> + {'LCS-Name-String', 'UTF8String'}; +avp_name(1239, 10415) -> + {'LCS-Requestor-ID', 'Grouped'}; +avp_name(1240, 10415) -> + {'LCS-Requestor-ID-String', 'UTF8String'}; +avp_name(3914, 10415) -> {'Language', 'UTF8String'}; +avp_name(3429, 10415) -> + {'Layer-2-Group-ID', 'OctetString'}; +avp_name(2604, 10415) -> + {'Local-GW-Inserted-Indication', 'Enumerated'}; +avp_name(2063, 10415) -> + {'Local-Sequence-Number', 'Unsigned32'}; +avp_name(1242, 10415) -> + {'Location-Estimate', 'OctetString'}; +avp_name(1243, 10415) -> + {'Location-Estimate-Type', 'Enumerated'}; +avp_name(3460, 10415) -> {'Location-Info', 'Grouped'}; +avp_name(1244, 10415) -> {'Location-Type', 'Grouped'}; +avp_name(2020, 10415) -> + {'Low-Balance-Indication', 'Enumerated'}; +avp_name(2602, 10415) -> + {'Low-Priority-Indicator', 'Enumerated'}; +avp_name(2323, 10415) -> + {'MBMS-Charged-Party', 'Enumerated'}; +avp_name(2307, 10415) -> {'MBMS-GW-Address', 'Address'}; +avp_name(880, 10415) -> {'MBMS-Information', 'Grouped'}; +avp_name(1225, 10415) -> + {'MBMS-User-Service-Type', 'Enumerated'}; +avp_name(1203, 10415) -> {'MM-Content-Type', 'Grouped'}; +avp_name(1248, 10415) -> + {'MMBox-Storage-Requested', 'Enumerated'}; +avp_name(877, 10415) -> {'MMS-Information', 'Grouped'}; +avp_name(2030, 10415) -> + {'MMTel-Information', 'Grouped'}; +avp_name(2031, 10415) -> + {'MMTel-SService-Type', 'Unsigned32'}; +avp_name(3417, 10415) -> {'MSC-Address', 'OctetString'}; +avp_name(3406, 10415) -> {'MTC-IWF-Address', 'Address'}; +avp_name(882, 10415) -> + {'Media-Initiator-Flag', 'Enumerated'}; +avp_name(1288, 10415) -> + {'Media-Initiator-Party', 'UTF8String'}; +avp_name(889, 10415) -> {'Message-Body', 'Grouped'}; +avp_name(1213, 10415) -> {'Message-Class', 'Grouped'}; +avp_name(1210, 10415) -> {'Message-ID', 'UTF8String'}; +avp_name(1212, 10415) -> {'Message-Size', 'Unsigned32'}; +avp_name(1211, 10415) -> {'Message-Type', 'Enumerated'}; +avp_name(3430, 10415) -> + {'Monitored-PLMN-Identifier', 'UTF8String'}; +avp_name(3919, 10415) -> + {'Monitoring-Event-Configuration-Activity', + 'Integer32'}; +avp_name(3922, 10415) -> + {'Monitoring-Event-Functionality', 'Integer32'}; +avp_name(3921, 10415) -> + {'Monitoring-Event-Information', 'Grouped'}; +avp_name(3920, 10415) -> + {'Monitoring-Event-Report-Data', 'Grouped'}; +avp_name(3923, 10415) -> + {'Monitoring-Event-Report-Number', 'Unsigned32'}; +avp_name(3431, 10415) -> + {'Monitoring-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3432, 10415) -> + {'Monitoring-UE-Identifier', 'UTF8String'}; +avp_name(3433, 10415) -> + {'Monitoring-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(3928, 10415) -> {'NIDD-Submission', 'Grouped'}; +avp_name(2703, 10415) -> {'NNI-Information', 'Grouped'}; +avp_name(2704, 10415) -> {'NNI-Type', 'Enumerated'}; +avp_name(2705, 10415) -> + {'Neighbour-Node-Address', 'Address'}; +avp_name(3418, 10415) -> + {'Network-Call-Reference-Number', 'OctetString'}; +avp_name(2057, 10415) -> {'Next-Tariff', 'Grouped'}; +avp_name(862, 10415) -> + {'Node-Functionality', 'Enumerated'}; +avp_name(2064, 10415) -> {'Node-Id', 'UTF8String'}; +avp_name(2034, 10415) -> + {'Number-Of-Diversions', 'Unsigned32'}; +avp_name(2019, 10415) -> + {'Number-Of-Messages-Sent', 'Unsigned32'}; +avp_name(885, 10415) -> + {'Number-Of-Participants', 'Unsigned32'}; +avp_name(1282, 10415) -> + {'Number-Of-Received-Talk-Bursts', 'Unsigned32'}; +avp_name(1283, 10415) -> + {'Number-Of-Talk-Bursts', 'Unsigned32'}; +avp_name(2024, 10415) -> + {'Number-Portability-Routing-Information', + 'UTF8String'}; +avp_name(1278, 10415) -> + {'Offline-Charging', 'Grouped'}; +avp_name(2303, 10415) -> + {'Online-Charging-Flag', 'Enumerated'}; +avp_name(839, 10415) -> + {'Originating-IOI', 'UTF8String'}; +avp_name(864, 10415) -> {'Originator', 'Enumerated'}; +avp_name(886, 10415) -> + {'Originator-Address', 'Grouped'}; +avp_name(2009, 10415) -> + {'Originator-Interface', 'Grouped'}; +avp_name(2027, 10415) -> + {'Originator-Received-Address', 'Grouped'}; +avp_name(2008, 10415) -> + {'Originator-SCCP-Address', 'Address'}; +avp_name(2320, 10415) -> + {'Outgoing-Session-Id', 'UTF8String'}; +avp_name(853, 10415) -> + {'Outgoing-Trunk-Group-Id', 'UTF8String'}; +avp_name(3434, 10415) -> + {'PC3-Control-Protocol-Cause', 'Integer32'}; +avp_name(3435, 10415) -> + {'PC3-EPC-Control-Protocol-Cause', 'Integer32'}; +avp_name(1300, 10415) -> + {'PC5-Radio-Technology', 'Enumerated'}; +avp_name(2050, 10415) -> + {'PDN-Connection-Charging-ID', 'Unsigned32'}; +avp_name(1227, 10415) -> {'PDP-Address', 'Address'}; +avp_name(2606, 10415) -> + {'PDP-Address-Prefix-Length', 'Unsigned32'}; +avp_name(1247, 10415) -> + {'PDP-Context-Type', 'Enumerated'}; +avp_name(867, 10415) -> + {'PS-Append-Free-Format-Data', 'Enumerated'}; +avp_name(866, 10415) -> + {'PS-Free-Format-Data', 'OctetString'}; +avp_name(865, 10415) -> + {'PS-Furnish-Charging-Information', 'Grouped'}; +avp_name(874, 10415) -> {'PS-Information', 'Grouped'}; +avp_name(1259, 10415) -> + {'Participant-Access-Priority', 'Enumerated'}; +avp_name(2049, 10415) -> + {'Participant-Action-Type', 'Enumerated'}; +avp_name(1260, 10415) -> + {'Participant-Group', 'Grouped'}; +avp_name(887, 10415) -> + {'Participants-Involved', 'UTF8String'}; +avp_name(3913, 10415) -> + {'Play-Alternative', 'Enumerated'}; +avp_name(1261, 10415) -> + {'PoC-Change-Condition', 'Enumerated'}; +avp_name(1262, 10415) -> {'PoC-Change-Time', 'Time'}; +avp_name(858, 10415) -> + {'PoC-Controlling-Address', 'UTF8String'}; +avp_name(2025, 10415) -> + {'PoC-Event-Type', 'Enumerated'}; +avp_name(859, 10415) -> + {'PoC-Group-Name', 'UTF8String'}; +avp_name(879, 10415) -> {'PoC-Information', 'Grouped'}; +avp_name(883, 10415) -> + {'PoC-Server-Role', 'Enumerated'}; +avp_name(1229, 10415) -> + {'PoC-Session-Id', 'UTF8String'}; +avp_name(1277, 10415) -> + {'PoC-Session-Initiation-Type', 'Enumerated'}; +avp_name(884, 10415) -> + {'PoC-Session-Type', 'Enumerated'}; +avp_name(1252, 10415) -> {'PoC-User-Role', 'Grouped'}; +avp_name(1253, 10415) -> + {'PoC-User-Role-IDs', 'UTF8String'}; +avp_name(1254, 10415) -> + {'PoC-User-Role-Info-Units', 'Enumerated'}; +avp_name(1245, 10415) -> + {'Positioning-Data', 'UTF8String'}; +avp_name(2315, 10415) -> + {'Preferred-AoC-Currency', 'Unsigned32'}; +avp_name(1209, 10415) -> {'Priority', 'Enumerated'}; +avp_name(3915, 10415) -> + {'Privacy-Indicator', 'Enumerated'}; +avp_name(3440, 10415) -> + {'ProSe-3rd-Party-Application-ID', 'UTF8String'}; +avp_name(3461, 10415) -> + {'ProSe-Direct-Communication-Reception-Data-Container', + 'Grouped'}; +avp_name(3441, 10415) -> + {'ProSe-Direct-Communication-Transmission-Data-Container', + 'Grouped'}; +avp_name(3442, 10415) -> + {'ProSe-Direct-Discovery-Model', 'Enumerated'}; +avp_name(3443, 10415) -> + {'ProSe-Event-Type', 'Enumerated'}; +avp_name(3444, 10415) -> + {'ProSe-Function-IP-Address', 'Address'}; +avp_name(3457, 10415) -> + {'ProSe-Function-PLMN-Identifier', 'UTF8String'}; +avp_name(3445, 10415) -> + {'ProSe-Functionality', 'Enumerated'}; +avp_name(3446, 10415) -> + {'ProSe-Group-IP-Multicast-Address', 'Address'}; +avp_name(3447, 10415) -> + {'ProSe-Information', 'Grouped'}; +avp_name(3448, 10415) -> + {'ProSe-Range-Class', 'Enumerated'}; +avp_name(3449, 10415) -> + {'ProSe-Reason-For-Cancellation', 'Enumerated'}; +avp_name(3450, 10415) -> + {'ProSe-Request-Timestamp', 'Time'}; +avp_name(3451, 10415) -> + {'ProSe-Role-Of-UE', 'Enumerated'}; +avp_name(3452, 10415) -> + {'ProSe-Source-IP-Address', 'Address'}; +avp_name(4410, 10415) -> + {'ProSe-Target-Layer-2-ID', 'OctetString'}; +avp_name(3453, 10415) -> {'ProSe-UE-ID', 'OctetString'}; +avp_name(4409, 10415) -> + {'ProSe-UE-to-Network-Relay-UE-ID', 'OctetString'}; +avp_name(3454, 10415) -> + {'Proximity-Alert-Indication', 'Enumerated'}; +avp_name(3455, 10415) -> + {'Proximity-Alert-Timestamp', 'Time'}; +avp_name(3456, 10415) -> + {'Proximity-Cancellation-Timestamp', 'Time'}; +avp_name(881, 10415) -> + {'Quota-Consumption-Time', 'Unsigned32'}; +avp_name(871, 10415) -> + {'Quota-Holding-Time', 'Unsigned32'}; +avp_name(3912, 10415) -> + {'Quota-Indicator', 'Enumerated'}; +avp_name(1301, 10415) -> {'RAN-End-Time', 'Time'}; +avp_name(1302, 10415) -> + {'RAN-Secondary-RAT-Usage-Report', 'Grouped'}; +avp_name(1303, 10415) -> {'RAN-Start-Time', 'Time'}; +avp_name(3462, 10415) -> + {'Radio-Frequency', 'OctetString'}; +avp_name(3463, 10415) -> + {'Radio-Parameter-Set-Info', 'Grouped'}; +avp_name(3464, 10415) -> + {'Radio-Parameter-Set-Values', 'OctetString'}; +avp_name(3465, 10415) -> + {'Radio-Resources-Indicator', 'Integer32'}; +avp_name(3937, 10415) -> + {'Rate-Control-Max-Message-Size', 'Unsigned32'}; +avp_name(3938, 10415) -> + {'Rate-Control-Max-Rate', 'Unsigned32'}; +avp_name(3939, 10415) -> + {'Rate-Control-Time-Unit', 'Unsigned32'}; +avp_name(2058, 10415) -> {'Rate-Element', 'Grouped'}; +avp_name(1222, 10415) -> + {'Read-Reply-Report-Requested', 'Enumerated'}; +avp_name(2305, 10415) -> + {'Real-Time-Tariff-Information', 'Grouped'}; +avp_name(3401, 10415) -> + {'Reason-Header', 'UTF8String'}; +avp_name(1284, 10415) -> + {'Received-Talk-Burst-Time', 'Unsigned32'}; +avp_name(1285, 10415) -> + {'Received-Talk-Burst-Volume', 'Unsigned32'}; +avp_name(1201, 10415) -> + {'Recipient-Address', 'Grouped'}; +avp_name(2026, 10415) -> {'Recipient-Info', 'Grouped'}; +avp_name(2028, 10415) -> + {'Recipient-Received-Address', 'Grouped'}; +avp_name(2010, 10415) -> + {'Recipient-SCCP-Address', 'Address'}; +avp_name(2022, 10415) -> + {'Refund-Information', 'OctetString'}; +avp_name(3925, 10415) -> + {'Related-Change-Condition-Information', 'Grouped'}; +avp_name(2711, 10415) -> + {'Related-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(2712, 10415) -> + {'Related-IMS-Charging-Identifier-Node', 'Address'}; +avp_name(3926, 10415) -> {'Related-Trigger', 'Grouped'}; +avp_name(2706, 10415) -> + {'Relationship-Mode', 'Enumerated'}; +avp_name(4411, 10415) -> + {'Relay-IP-address', 'Address'}; +avp_name(2021, 10415) -> + {'Remaining-Balance', 'Grouped'}; +avp_name(1223, 10415) -> + {'Reply-Applic-ID', 'UTF8String'}; +avp_name(2011, 10415) -> + {'Reply-Path-Requested', 'Enumerated'}; +avp_name(872, 10415) -> + {'Reporting-Reason', 'Enumerated'}; +avp_name(3436, 10415) -> + {'Requested-PLMN-Identifier', 'UTF8String'}; +avp_name(1251, 10415) -> + {'Requested-Party-Address', 'UTF8String'}; +avp_name(3437, 10415) -> + {'Requestor-PLMN-Identifier', 'UTF8String'}; +avp_name(829, 10415) -> {'Role-Of-Node', 'Enumerated'}; +avp_name(3438, 10415) -> + {'Role-Of-ProSe-Function', 'Enumerated'}; +avp_name(3403, 10415) -> + {'Route-Header-Received', 'UTF8String'}; +avp_name(3404, 10415) -> + {'Route-Header-Transmitted', 'UTF8String'}; +avp_name(3940, 10415) -> {'SCS-AS-Address', 'Grouped'}; +avp_name(3941, 10415) -> {'SCS-Address', 'Address'}; +avp_name(3942, 10415) -> + {'SCS-Realm', 'DiameterIdentity'}; +avp_name(1275, 10415) -> + {'SDP-Answer-Timestamp', 'Time'}; +avp_name(843, 10415) -> + {'SDP-Media-Component', 'Grouped'}; +avp_name(845, 10415) -> + {'SDP-Media-Description', 'UTF8String'}; +avp_name(844, 10415) -> + {'SDP-Media-Name', 'UTF8String'}; +avp_name(1274, 10415) -> + {'SDP-Offer-Timestamp', 'Time'}; +avp_name(842, 10415) -> + {'SDP-Session-Description', 'UTF8String'}; +avp_name(1273, 10415) -> {'SDP-TimeStamps', 'Grouped'}; +avp_name(2036, 10415) -> {'SDP-Type', 'Enumerated'}; +avp_name(1228, 10415) -> {'SGSN-Address', 'Address'}; +avp_name(2067, 10415) -> {'SGW-Address', 'Address'}; +avp_name(2065, 10415) -> {'SGW-Change', 'Enumerated'}; +avp_name(3931, 10415) -> + {'SGi-PtP-Tunnelling-Method', 'Enumerated'}; +avp_name(824, 10415) -> {'SIP-Method', 'UTF8String'}; +avp_name(834, 10415) -> + {'SIP-Request-Timestamp', 'Time'}; +avp_name(2301, 10415) -> + {'SIP-Request-Timestamp-Fraction', 'Unsigned32'}; +avp_name(835, 10415) -> + {'SIP-Response-Timestamp', 'Time'}; +avp_name(2302, 10415) -> + {'SIP-Response-Timestamp-Fraction', 'Unsigned32'}; +avp_name(3407, 10415) -> + {'SM-Device-Trigger-Indicator', 'Enumerated'}; +avp_name(3405, 10415) -> + {'SM-Device-Trigger-Information', 'Grouped'}; +avp_name(2012, 10415) -> {'SM-Discharge-Time', 'Time'}; +avp_name(2007, 10415) -> + {'SM-Message-Type', 'Enumerated'}; +avp_name(2013, 10415) -> + {'SM-Protocol-ID', 'OctetString'}; +avp_name(3408, 10415) -> + {'SM-Sequence-Number', 'Unsigned32'}; +avp_name(2029, 10415) -> + {'SM-Service-Type', 'Enumerated'}; +avp_name(2014, 10415) -> {'SM-Status', 'OctetString'}; +avp_name(2015, 10415) -> + {'SM-User-Data-Header', 'OctetString'}; +avp_name(2000, 10415) -> {'SMS-Information', 'Grouped'}; +avp_name(2016, 10415) -> {'SMS-Node', 'Enumerated'}; +avp_name(3409, 10415) -> {'SMS-Result', 'Unsigned32'}; +avp_name(2017, 10415) -> {'SMSC-Address', 'Address'}; +avp_name(2059, 10415) -> {'Scale-Factor', 'Grouped'}; +avp_name(1304, 10415) -> + {'Secondary-RAT-Type', 'OctetString'}; +avp_name(848, 10415) -> + {'Served-Party-IP-Address', 'Address'}; +avp_name(2040, 10415) -> + {'Service-Data-Container', 'Grouped'}; +avp_name(855, 10415) -> {'Service-Id', 'UTF8String'}; +avp_name(873, 10415) -> + {'Service-Information', 'Grouped'}; +avp_name(2032, 10415) -> {'Service-Mode', 'Unsigned32'}; +avp_name(863, 10415) -> + {'Service-Specific-Data', 'UTF8String'}; +avp_name(1249, 10415) -> + {'Service-Specific-Info', 'Grouped'}; +avp_name(1257, 10415) -> + {'Service-Specific-Type', 'Unsigned32'}; +avp_name(3929, 10415) -> + {'Serving-Node-Identity', 'DiameterIdentity'}; +avp_name(2047, 10415) -> + {'Serving-Node-Type', 'Enumerated'}; +avp_name(2707, 10415) -> + {'Session-Direction', 'Enumerated'}; +avp_name(2041, 10415) -> {'Start-Time', 'Time'}; +avp_name(3419, 10415) -> {'Start-of-Charging', 'Time'}; +avp_name(2702, 10415) -> + {'Status-AS-Code', 'Enumerated'}; +avp_name(2042, 10415) -> {'Stop-Time', 'Time'}; +avp_name(1202, 10415) -> {'Submission-Time', 'Time'}; +avp_name(2033, 10415) -> + {'Subscriber-Role', 'Enumerated'}; +avp_name(2048, 10415) -> + {'Supplementary-Service', 'Grouped'}; +avp_name(2717, 10415) -> + {'TAD-Identifier', 'Enumerated'}; +avp_name(3903, 10415) -> {'TWAG-Address', 'Address'}; +avp_name(2714, 10415) -> + {'TWAN-User-Location-Info', 'Grouped'}; +avp_name(1255, 10415) -> + {'Talk-Burst-Exchange', 'Grouped'}; +avp_name(1286, 10415) -> + {'Talk-Burst-Time', 'Unsigned32'}; +avp_name(1287, 10415) -> + {'Talk-Burst-Volume', 'Unsigned32'}; +avp_name(4412, 10415) -> + {'Target-IP-Address', 'Address'}; +avp_name(2060, 10415) -> + {'Tariff-Information', 'Grouped'}; +avp_name(2306, 10415) -> {'Tariff-XML', 'UTF8String'}; +avp_name(3413, 10415) -> {'Teleservice', 'OctetString'}; +avp_name(840, 10415) -> + {'Terminating-IOI', 'UTF8String'}; +avp_name(3466, 10415) -> + {'Time-First-Reception', 'Time'}; +avp_name(3467, 10415) -> + {'Time-First-Transmission', 'Time'}; +avp_name(2043, 10415) -> {'Time-First-Usage', 'Time'}; +avp_name(3911, 10415) -> + {'Time-Indicator', 'Unsigned32'}; +avp_name(2044, 10415) -> {'Time-Last-Usage', 'Time'}; +avp_name(1270, 10415) -> + {'Time-Quota-Mechanism', 'Grouped'}; +avp_name(868, 10415) -> + {'Time-Quota-Threshold', 'Unsigned32'}; +avp_name(1271, 10415) -> + {'Time-Quota-Type', 'Enumerated'}; +avp_name(833, 10415) -> {'Time-Stamps', 'Grouped'}; +avp_name(2045, 10415) -> {'Time-Usage', 'Unsigned32'}; +avp_name(1215, 10415) -> {'Token-Text', 'UTF8String'}; +avp_name(2046, 10415) -> + {'Traffic-Data-Volumes', 'Grouped'}; +avp_name(2605, 10415) -> + {'Transcoder-Inserted-Indication', 'Enumerated'}; +avp_name(2701, 10415) -> + {'Transit-IOI-List', 'UTF8String'}; +avp_name(3468, 10415) -> + {'Transmitter-Info', 'Grouped'}; +avp_name(1264, 10415) -> {'Trigger', 'Grouped'}; +avp_name(870, 10415) -> {'Trigger-Type', 'Enumerated'}; +avp_name(851, 10415) -> {'Trunk-Group-Id', 'Grouped'}; +avp_name(1204, 10415) -> {'Type-Number', 'Enumerated'}; +avp_name(3932, 10415) -> + {'UNI-PDU-CP-Only-Flag', 'Enumerated'}; +avp_name(3918, 10415) -> + {'UWAN-User-Location-Info', 'Grouped'}; +avp_name(2061, 10415) -> {'Unit-Cost', 'Grouped'}; +avp_name(1226, 10415) -> + {'Unit-Quota-Threshold', 'Unsigned32'}; +avp_name(4407, 10415) -> + {'Unused-Quota-Timer', 'Unsigned32'}; +avp_name(3439, 10415) -> + {'Usage-Information-Report-Sequence-Number', + 'Integer32'}; +avp_name(2319, 10415) -> + {'User-CSG-Information', 'Grouped'}; +avp_name(1279, 10415) -> + {'User-Participating-Type', 'Enumerated'}; +avp_name(830, 10415) -> + {'User-Session-Id', 'UTF8String'}; +avp_name(3410, 10415) -> {'VCS-Information', 'Grouped'}; +avp_name(3420, 10415) -> {'VLR-Number', 'OctetString'}; +avp_name(3907, 10415) -> {'Variable-Part', 'Grouped'}; +avp_name(3908, 10415) -> + {'Variable-Part-Order', 'Unsigned32'}; +avp_name(3909, 10415) -> + {'Variable-Part-Type', 'Enumerated'}; +avp_name(3910, 10415) -> + {'Variable-Part-Value', 'UTF8String'}; +avp_name(869, 10415) -> + {'Volume-Quota-Threshold', 'Unsigned32'}; +avp_name(301, 13019) -> + {'Address-Realm', 'OctetString'}; +avp_name(307, 13019) -> + {'Aggregation-Network-Type', 'Enumerated'}; +avp_name(312, 13019) -> + {'Application-Class-ID', 'UTF8String'}; +avp_name(305, 13019) -> + {'IP-Connectivity-Status', 'Enumerated'}; +avp_name(314, 13019) -> + {'Initial-Gate-Setting-ID', 'Unsigned32'}; +avp_name(302, 13019) -> + {'Logical-Access-ID', 'OctetString'}; +avp_name(309, 13019) -> + {'Maximum-Allowed-Bandwidth-DL', 'Unsigned32'}; +avp_name(308, 13019) -> + {'Maximum-Allowed-Bandwidth-UL', 'Unsigned32'}; +avp_name(313, 13019) -> + {'Physical-Access-ID', 'UTF8String'}; +avp_name(315, 13019) -> + {'QoS-Profile-ID', 'Unsigned32'}; +avp_name(311, 13019) -> + {'Transport-Class', 'Unsigned32'}; +avp_name(411, undefined) -> + {'CC-Correlation-Id', 'OctetString'}; +avp_name(412, undefined) -> + {'CC-Input-Octets', 'Unsigned64'}; +avp_name(413, undefined) -> {'CC-Money', 'Grouped'}; +avp_name(414, undefined) -> + {'CC-Output-Octets', 'Unsigned64'}; +avp_name(415, undefined) -> + {'CC-Request-Number', 'Unsigned32'}; +avp_name(416, undefined) -> + {'CC-Request-Type', 'Enumerated'}; +avp_name(417, undefined) -> + {'CC-Service-Specific-Units', 'Unsigned64'}; +avp_name(418, undefined) -> + {'CC-Session-Failover', 'Enumerated'}; +avp_name(419, undefined) -> + {'CC-Sub-Session-Id', 'Unsigned64'}; +avp_name(420, undefined) -> {'CC-Time', 'Unsigned32'}; +avp_name(421, undefined) -> + {'CC-Total-Octets', 'Unsigned64'}; +avp_name(454, undefined) -> + {'CC-Unit-Type', 'Enumerated'}; +avp_name(422, undefined) -> + {'Check-Balance-Result', 'Enumerated'}; +avp_name(423, undefined) -> + {'Cost-Information', 'Grouped'}; +avp_name(424, undefined) -> {'Cost-Unit', 'UTF8String'}; +avp_name(426, undefined) -> + {'Credit-Control', 'Enumerated'}; +avp_name(427, undefined) -> + {'Credit-Control-Failure-Handling', 'Enumerated'}; +avp_name(425, undefined) -> + {'Currency-Code', 'Unsigned32'}; +avp_name(428, undefined) -> + {'Direct-Debiting-Failure-Handling', 'Enumerated'}; +avp_name(429, undefined) -> {'Exponent', 'Integer32'}; +avp_name(449, undefined) -> + {'Final-Unit-Action', 'Enumerated'}; +avp_name(430, undefined) -> + {'Final-Unit-Indication', 'Grouped'}; +avp_name(453, undefined) -> + {'G-S-U-Pool-Identifier', 'Unsigned32'}; +avp_name(457, undefined) -> + {'G-S-U-Pool-Reference', 'Grouped'}; +avp_name(431, undefined) -> + {'Granted-Service-Unit', 'Grouped'}; +avp_name(456, undefined) -> + {'Multiple-Services-Credit-Control', 'Grouped'}; +avp_name(455, undefined) -> + {'Multiple-Services-Indicator', 'Enumerated'}; +avp_name(432, undefined) -> + {'Rating-Group', 'Unsigned32'}; +avp_name(433, undefined) -> + {'Redirect-Address-Type', 'Enumerated'}; +avp_name(434, undefined) -> + {'Redirect-Server', 'Grouped'}; +avp_name(435, undefined) -> + {'Redirect-Server-Address', 'UTF8String'}; +avp_name(436, undefined) -> + {'Requested-Action', 'Enumerated'}; +avp_name(437, undefined) -> + {'Requested-Service-Unit', 'Grouped'}; +avp_name(438, undefined) -> + {'Restriction-Filter-Rule', 'IPFilterRule'}; +avp_name(461, undefined) -> + {'Service-Context-Id', 'UTF8String'}; +avp_name(439, undefined) -> + {'Service-Identifier', 'Unsigned32'}; +avp_name(440, undefined) -> + {'Service-Parameter-Info', 'Grouped'}; +avp_name(441, undefined) -> + {'Service-Parameter-Type', 'Unsigned32'}; +avp_name(442, undefined) -> + {'Service-Parameter-Value', 'OctetString'}; +avp_name(443, undefined) -> + {'Subscription-Id', 'Grouped'}; +avp_name(444, undefined) -> + {'Subscription-Id-Data', 'UTF8String'}; +avp_name(450, undefined) -> + {'Subscription-Id-Type', 'Enumerated'}; +avp_name(452, undefined) -> + {'Tariff-Change-Usage', 'Enumerated'}; +avp_name(451, undefined) -> + {'Tariff-Time-Change', 'Time'}; +avp_name(445, undefined) -> {'Unit-Value', 'Grouped'}; +avp_name(446, undefined) -> + {'Used-Service-Unit', 'Grouped'}; +avp_name(458, undefined) -> + {'User-Equipment-Info', 'Grouped'}; +avp_name(459, undefined) -> + {'User-Equipment-Info-Type', 'Enumerated'}; +avp_name(460, undefined) -> + {'User-Equipment-Info-Value', 'OctetString'}; +avp_name(448, undefined) -> + {'Validity-Time', 'Unsigned32'}; +avp_name(447, undefined) -> + {'Value-Digits', 'Integer64'}; +avp_name(486, undefined) -> + {'MIP6-Agent-Info', 'Grouped'}; +avp_name(125, undefined) -> + {'MIP6-Home-Link-Prefix', 'OctetString'}; +avp_name(128, undefined) -> + {'Location-Data', 'OctetString'}; +avp_name(127, undefined) -> + {'Location-Information', 'OctetString'}; +avp_name(126, undefined) -> + {'Operator-Name', 'OctetString'}; +avp_name(493, undefined) -> + {'Service-Selection', 'UTF8String'}; +avp_name(37, undefined) -> + {'Framed-AppleTalk-Link', 'Unsigned32'}; +avp_name(38, undefined) -> + {'Framed-AppleTalk-Network', 'Unsigned32'}; +avp_name(39, undefined) -> + {'Framed-AppleTalk-Zone', 'OctetString'}; +avp_name(13, undefined) -> + {'Framed-Compression', 'Enumerated'}; +avp_name(8, undefined) -> + {'Framed-IP-Address', 'OctetString'}; +avp_name(9, undefined) -> + {'Framed-IP-Netmask', 'OctetString'}; +avp_name(23, undefined) -> + {'Framed-IPX-Network', 'Unsigned32'}; +avp_name(100, undefined) -> + {'Framed-IPv6-Pool', 'OctetString'}; +avp_name(97, undefined) -> + {'Framed-IPv6-Prefix', 'OctetString'}; +avp_name(99, undefined) -> + {'Framed-IPv6-Route', 'UTF8String'}; +avp_name(96, undefined) -> + {'Framed-Interface-Id', 'Unsigned64'}; +avp_name(12, undefined) -> {'Framed-MTU', 'Unsigned32'}; +avp_name(88, undefined) -> + {'Framed-Pool', 'OctetString'}; +avp_name(7, undefined) -> + {'Framed-Protocol', 'Enumerated'}; +avp_name(22, undefined) -> + {'Framed-Route', 'UTF8String'}; +avp_name(10, undefined) -> + {'Framed-Routing', 'Enumerated'}; +avp_name(622, undefined) -> + {'OC-Feature-Vector', 'Unsigned64'}; +avp_name(623, undefined) -> {'OC-OLR', 'Grouped'}; +avp_name(627, undefined) -> + {'OC-Reduction-Percentage', 'Unsigned32'}; +avp_name(626, undefined) -> + {'OC-Report-Type', 'Enumerated'}; +avp_name(624, undefined) -> + {'OC-Sequence-Number', 'Unsigned64'}; +avp_name(621, undefined) -> + {'OC-Supported-Features', 'Grouped'}; +avp_name(625, undefined) -> + {'OC-Validity-Duration', 'Unsigned32'}; +avp_name(301, undefined) -> {'DRMP', 'Enumerated'}; +avp_name(650, undefined) -> {'Load', 'Grouped'}; +avp_name(651, undefined) -> {'Load-Type', 'Enumerated'}; +avp_name(652, undefined) -> + {'Load-Value', 'Unsigned64'}; +avp_name(649, undefined) -> + {'SourceID', 'DiameterIdentity'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('MAR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'SIP-Auth-Data-Item', 1}, + {'SIP-Number-Auth-Items', 1}, + {'Destination-Host', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'DRMP', {0, 1}}, + {'ANID', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'Terminal-Information', {0, 1}}, + {'AAA-Failure-Indication', {0, 1}}, + {'OC-Supported-Features', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('MAA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'User-Name', 1}, + {'DRMP', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'SIP-Number-Auth-Items', {0, 1}}, + {'SIP-Auth-Data-Item', {0, '*'}}, + {'3GPP-AAA-Server-Name', {0, 1}}, + {'OC-Supported-Features', {0, 1}}, + {'OC-OLR', {0, 1}}, + {'Load', {0, '*'}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('PPR') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Host', 1}, + {'Destination-Realm', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'User-Name', 1}, + {'DRMP', {0, 1}}, + {'Non-3GPP-User-Data', {0, 1}}, + {'PPR-Flags', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('PPA') -> + [{'Session-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'DRMP', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Access-Network-Info', {0, 1}}, + {'Local-Time-Zone', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SAR') -> + [{'Session-Id', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Server-Assignment-Type', 1}, + {'DRMP', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Service-Selection', {0, 1}}, + {'Context-Identifier', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'Active-APN', {0, '*'}}, + {'OC-Supported-Features', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'Terminal-Information', {0, 1}}, + {'Emergency-Services', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SAA') -> + [{'Session-Id', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', 1}, + {'DRMP', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Non-3GPP-User-Data', {0, 1}}, + {'3GPP-AAA-Server-Name', {0, 1}}, + {'OC-Supported-Features', {0, 1}}, + {'OC-OLR', {0, 1}}, + {'Load', {0, '*'}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('RTR') -> + [{'Session-Id', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Host', 1}, + {'Destination-Realm', 1}, + {'User-Name', 1}, + {'Deregistration-Reason', 1}, + {'DRMP', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('RTA') -> + [{'Session-Id', 1}, + {'Vendor-Specific-Application-Id', 1}, + {'Auth-Session-State', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'DRMP', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Experimental-Result', {0, 1}}, + {'Supported-Features', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Emergency-Info') -> + [{'MIP6-Agent-Info', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Charging-Identifier-Gx') -> + [{'Access-Network-Charging-Identifier-Value', 1}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'IP-CAN-Session-Charging-Scope', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Allocation-Retention-Priority') -> + [{'Priority-Level', 1}, + {'Pre-emption-Capability', {0, 1}}, + {'Pre-emption-Vulnerability', {0, 1}}]; +avp_arity('Application-Detection-Information') -> + [{'TDF-Application-Identifier', 1}, + {'TDF-Application-Instance-Identifier', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Definition') -> + [{'Charging-Rule-Name', 1}, + {'Service-Identifier', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'TDF-Application-Identifier', {0, 1}}, + {'Flow-Status', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'PS-to-CS-Session-Continuity', {0, 1}}, + {'Reporting-Level', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'Metering-Method', {0, 1}}, + {'Precedence', {0, 1}}, + {'AF-Charging-Identifier', {0, 1}}, + {'Flows', {0, '*'}}, + {'Monitoring-Key', {0, 1}}, + {'Redirect-Information', {0, 1}}, + {'Mute-Notification', {0, 1}}, + {'AF-Signalling-Protocol', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Install') -> + [{'Charging-Rule-Definition', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'Rule-Activation-Time', {0, 1}}, + {'Rule-Deactivation-Time', {0, 1}}, + {'Resource-Allocation-Notification', {0, 1}}, + {'Charging-Correlation-Indicator', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Remove') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Report') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'PCC-Rule-Status', {0, 1}}, + {'Rule-Failure-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'RAN-NAS-Release-Cause', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CoA-Information') -> + [{'Tunnel-Information', 1}, + {'CoA-IP-Address', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate') -> + [{'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'IP-CAN-Type', {0, '*'}}, + {'RAT-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-EPS-Bearer-QoS') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Default-QoS-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Event-Report-Indication') -> + [{'Event-Trigger', {0, '*'}}, + {'IP-CAN-Type', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'UE-Local-IP-Address', {0, 1}}, + {'HeNB-Local-IP-Address', {0, 1}}, + {'UDP-Source-Port', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Fixed-User-Location-Info') -> + [{'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flow-Information') -> + [{'Flow-Description', {0, 1}}, + {'Packet-Filter-Identifier', {0, 1}}, + {'Packet-Filter-Usage', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Packet-Filter-Information') -> + [{'Packet-Filter-Identifier', {0, 1}}, + {'Precedence', {0, 1}}, + {'Packet-Filter-Content', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Presence-Reporting-Area-Information') -> + [{'Presence-Reporting-Area-Identifier', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'Presence-Reporting-Area-Elements-List', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Guaranteed-Bitrate-UL', {0, 1}}, + {'Guaranteed-Bitrate-DL', {0, 1}}, + {'Bearer-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'Conditional-APN-Aggregate-Max-Bitrate', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Redirect-Information') -> + [{'Redirect-Support', {0, 1}}, + {'Redirect-Address-Type', {0, 1}}, + {'Redirect-Server-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Filter') -> + [{'Flow-Description', 1}, + {'Flow-Direction', 1}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Definition') -> + [{'Routing-Rule-Identifier', 1}, + {'Routing-Filter', {0, '*'}}, + {'Precedence', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Install') -> + [{'Routing-Rule-Definition', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Remove') -> + [{'Routing-Rule-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('TDF-Information') -> + [{'TDF-Destination-Realm', {0, 1}}, + {'TDF-Destination-Host', {0, 1}}, + {'TDF-IP-Address', {0, 1}}]; +avp_arity('Tunnel-Information') -> + [{'Tunnel-Header-Length', {0, 1}}, + {'Tunnel-Header-Filter', {0, 2}}, + {'AVP', {0, '*'}}]; +avp_arity('TFT-Packet-Filter-Information') -> + [{'Precedence', {0, 1}}, + {'TFT-Filter', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Usage-Monitoring-Information') -> + [{'Monitoring-Key', {0, 1}}, + {'Granted-Service-Unit', {0, 2}}, + {'Used-Service-Unit', {0, 2}}, + {'Usage-Monitoring-Level', {0, 1}}, + {'Usage-Monitoring-Report', {0, 1}}, + {'Usage-Monitoring-Support', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flows') -> + [{'Media-Component-Number', 1}, + {'Flow-Number', {0, '*'}}, + {'Final-Unit-Action', {0, 1}}]; +avp_arity('Charging-Information') -> + [{'Primary-Event-Charging-Function-Name', {0, 1}}, + {'Secondary-Event-Charging-Function-Name', {0, 1}}, + {'Primary-Charging-Collection-Function-Name', {0, 1}}, + {'Secondary-Charging-Collection-Function-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Features') -> + [{'Vendor-Id', 1}, + {'Feature-List-ID', 1}, + {'Feature-List', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Applications') -> + [{'Auth-Application-Id', {0, '*'}}, + {'Acct-Application-Id', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Auth-Data-Item') -> + [{'SIP-Item-Number', {0, 1}}, + {'SIP-Authentication-Scheme', {0, 1}}, + {'SIP-Authenticate', {0, 1}}, + {'SIP-Authorization', {0, 1}}, + {'SIP-Authentication-Context', {0, 1}}, + {'Confidentiality-Key', {0, 1}}, + {'Integrity-Key', {0, 1}}, + {'SIP-Digest-Authenticate', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Line-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Deregistration-Reason') -> + [{'Reason-Code', 1}, + {'Reason-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Digest-Authenticate') -> + [{'Digest-Realm', 1}, + {'Digest-QoP', 1}, + {'Digest-HA1', 1}, + {'Digest-Algorithm', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Subscription-Data') -> + [{'Subscriber-Status', {0, 1}}, + {'MSISDN', {0, 1}}, + {'A-MSISDN', {0, 1}}, + {'STN-SR', {0, 1}}, + {'ICS-Indicator', {0, 1}}, + {'Network-Access-Mode', {0, 1}}, + {'Operator-Determined-Barring', {0, 1}}, + {'HPLMN-ODB', {0, 1}}, + {'Regional-Subscription-Zone-Code', {0, 10}}, + {'Access-Restriction-Data', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'LCS-Info', {0, 1}}, + {'Teleservice-List', {0, 1}}, + {'Call-Barring-Info', {0, '*'}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-Configuration-Profile', {0, 1}}, + {'RAT-Frequency-Selection-Priority-ID', {0, 1}}, + {'Trace-Data', {0, 1}}, + {'GPRS-Subscription-Data', {0, 1}}, + {'CSG-Subscription-Data', {0, '*'}}, + {'Roaming-Restricted-Due-To-Unsupported-Feature', + {0, 1}}, + {'Subscribed-Periodic-RAU-TAU-Timer', {0, 1}}, + {'MPS-Priority', {0, 1}}, + {'VPLMN-LIPA-Allowed', {0, 1}}, + {'Relay-Node-Indicator', {0, 1}}, + {'MDT-User-Consent', {0, 1}}, + {'Subscribed-VSRVCC', {0, 1}}, + {'Subscription-Data-Flags', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Terminal-Information') -> + [{'IMEI', {0, 1}}, + {'3GPP2-MEID', {0, 1}}, + {'Software-Version', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-EUTRAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info') -> + [{'Number-Of-Requested-Vectors', {0, 1}}, + {'Immediate-Response-Preferred', {0, 1}}, + {'Re-Synchronization-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Authentication-Info') -> + [{'E-UTRAN-Vector', {0, '*'}}, + {'UTRAN-Vector', {0, '*'}}, + {'GERAN-Vector', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('E-UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'KASME', 1}, + {'AVP', {0, '*'}}]; +avp_arity('UTRAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'XRES', 1}, + {'AUTN', 1}, + {'Confidentiality-Key', 1}, + {'Integrity-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('GERAN-Vector') -> + [{'Item-Number', 1}, + {'RAND', 1}, + {'SRES', 1}, + {'Kc', 1}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration-Profile') -> + [{'Context-Identifier', 1}, + {'All-APN-Configurations-Included-Indicator', 1}, + {'APN-Configuration', {1, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('APN-Configuration') -> + [{'Context-Identifier', 1}, + {'PDN-Type', 1}, + {'Service-Selection', 1}, + {'Served-Party-IP-Address', {0, 2}}, + {'EPS-Subscribed-QoS-Profile', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'PDN-GW-Allocation-Type', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'AMBR', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Subscribed-QoS-Profile') -> + [{'QoS-Class-Identifier', 1}, + {'Allocation-Retention-Priority', 1}, + {'AVP', {0, '*'}}]; +avp_arity('AMBR') -> + [{'Max-Requested-Bandwidth-UL', 1}, + {'Max-Requested-Bandwidth-DL', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Trace-Data') -> + [{'Trace-Reference', 1}, + {'Trace-Depth', 1}, + {'Trace-NE-Type-List', 1}, + {'Trace-Event-List', 1}, + {'Trace-Collection-Entity', 1}, + {'Trace-Interface-List', {0, 1}}, + {'OMC-Id', {0, 1}}, + {'MDT-Configuration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('GPRS-Subscription-Data') -> + [{'Complete-Data-List-Included-Indicator', 1}, + {'PDP-Context', {1, 50}}, + {'AVP', {0, '*'}}]; +avp_arity('PDP-Context') -> + [{'Context-Identifier', 1}, + {'PDP-Type', 1}, + {'QoS-Subscribed', 1}, + {'Service-Selection', 1}, + {'PDP-Address', {0, 1}}, + {'VPLMN-Dynamic-Address-Allowed', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Ext-PDP-Type', {0, 1}}, + {'Ext-PDP-Address', {0, 1}}, + {'AMBR', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'SIPTO-Permission', {0, 1}}, + {'LIPA-Permission', {0, 1}}, + {'Restoration-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'Service-Selection', {0, '*'}}, + {'Visited-PLMN-Id', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Specific-APN-Info') -> + [{'Service-Selection', 1}, + {'MIP6-Agent-Info', 1}, + {'Visited-Network-Identifier', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-Info') -> + [{'GMLC-Number', {0, '*'}}, + {'LCS-PrivacyException', {0, '*'}}, + {'MO-LR', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('LCS-PrivacyException') -> + [{'SS-Code', 1}, + {'SS-Status', 1}, + {'Notification-To-UE-User', {0, 1}}, + {'External-Client', {0, '*'}}, + {'PLMN-Client', {0, '*'}}, + {'Service-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('External-Client') -> + [{'Client-Identity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Service-Type') -> + [{'ServiceTypeIdentity', 1}, + {'GMLC-Restriction', {0, 1}}, + {'Notification-To-UE-User', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MO-LR') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('Teleservice-List') -> + [{'TS-Code', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('Call-Barring-Info') -> + [{'SS-Code', 1}, {'SS-Status', 1}, {'AVP', {0, '*'}}]; +avp_arity('EPS-User-State') -> + [{'MME-User-State', {0, 1}}, + {'SGSN-User-State', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('EPS-Location-Information') -> + [{'MME-Location-Information', {0, 1}}, + {'SGSN-Location-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('MME-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('SGSN-User-State') -> + [{'User-State', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('MME-Location-Information') -> + [{'E-UTRAN-Cell-Global-Identity', {0, 1}}, + {'Tracking-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SGSN-Location-Information') -> + [{'Cell-Global-Identity', {0, 1}}, + {'Location-Area-Identity', {0, 1}}, + {'Service-Area-Identity', {0, 1}}, + {'Routing-Area-Identity', {0, 1}}, + {'Geographical-Information', {0, 1}}, + {'Geodetic-Information', {0, 1}}, + {'Current-Location-Retrieved', {0, 1}}, + {'Age-Of-Location-Information', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Active-APN') -> + [{'Context-Identifier', 1}, + {'Service-Selection', {0, 1}}, + {'MIP6-Agent-Info', {0, 1}}, + {'Visited-Network-Identifier', {0, 1}}, + {'Specific-APN-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('MDT-Configuration') -> + [{'Job-Type', 1}, + {'Area-Scope', {0, 1}}, + {'List-Of-Measurements', {0, 1}}, + {'Reporting-Trigger', {0, 1}}, + {'Report-Interval', {0, 1}}, + {'Report-Amount', {0, 1}}, + {'Event-Threshold-RSRP', {0, 1}}, + {'Event-Threshold-RSRQ', {0, 1}}, + {'Logging-Interval', {0, 1}}, + {'Logging-Duration', {0, 1}}, + {'Measurement-Period-LTE', {0, 1}}, + {'Measurement-Period-UMTS', {0, 1}}, + {'Positioning-Method', {0, 1}}, + {'Measurement-Quantity', {0, 1}}, + {'Event-Threshold-Event-1F', {0, 1}}, + {'Event-Threshold-Event-1I', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Area-Scope') -> + [{'Cell-Global-Identity', {0, '*'}}, + {'E-UTRAN-Cell-Global-Identity', {0, '*'}}, + {'Routing-Area-Identity', {0, '*'}}, + {'Location-Area-Identity', {0, '*'}}, + {'Tracking-Area-Identity', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Equivalent-PLMN-List') -> + [{'Visited-PLMN-Id', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('VPLMN-CSG-Subscription-Data') -> + [{'CSG-Id', 1}, + {'Expiration-Date', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Local-Time-Zone') -> + [{'Time-Zone', 1}, + {'Daylight-Saving-Time', 1}, + {'AVP', {0, '*'}}]; +avp_arity('WLAN-Identifier') -> + [{'SSID', {0, 1}}, + {'HESSID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Info') -> + [{'SSID', {0, 1}}, + {'BSSID', {0, 1}}, + {'Location-Information', {0, 1}}, + {'Location-Data', {0, 1}}, + {'Operator-Name', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TWAN-Connectivity-Parameters') -> + [{'Connectivity-Flags', {0, 1}}, + {'Service-Selection', {0, 1}}, + {'PDN-Type', {0, 1}}, + {'Served-Party-IP-Address', {0, 2}}, + {'TWAN-PCO', {0, 1}}, + {'TWAG-UP-Address', {0, 1}}, + {'TWAN-S2a-Failure-Cause', {0, 1}}, + {'SM-Back-Off-Timer', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Non-3GPP-User-Data') -> + [{'Subscription-Id', {0, 1}}, + {'Non-3GPP-IP-Access', {0, 1}}, + {'Non-3GPP-IP-Access-APN', {0, 1}}, + {'RAT-Type', {0, '*'}}, + {'Session-Timeout', {0, 1}}, + {'MIP6-Feature-Vector', {0, 1}}, + {'AMBR', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Context-Identifier', {0, 1}}, + {'APN-OI-Replacement', {0, 1}}, + {'APN-Configuration', {0, '*'}}, + {'Trace-Info', {0, 1}}, + {'TWAN-Default-APN-Context-Id', {0, 1}}, + {'TWAN-Access-Info', {0, '*'}}, + {'UE-Usage-Type', {0, 1}}, + {'Emergency-Info', {0, 1}}, + {'ERP-Authorization', {0, 1}}, + {'Core-Network-Restrictions', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Trace-Info') -> + [{'Trace-Data', {0, 1}}, + {'Trace-Reference', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TWAN-Access-Info') -> + [{'Access-Authorization-Flags', {0, 1}}, + {'WLAN-Identifier', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Access-Network-Info-Change') -> + [{'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Access-Transfer-Information') -> + [{'Access-Transfer-Type', {0, 1}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Inter-UE-Transfer', {0, 1}}, + {'User-Equipment-Info', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Accumulated-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Additional-Content-Information') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}]; +avp_arity('Address-Domain') -> + [{'Domain-Name', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}]; +avp_arity('AF-Correlation-Information') -> + [{'AF-Charging-Identifier', 1}, {'Flows', {0, '*'}}]; +avp_arity('Announcement-Information') -> + [{'Announcement-Identifier', 1}, + {'Variable-Part', {0, '*'}}, + {'Time-Indicator', {0, 1}}, + {'Quota-Indicator', {0, 1}}, + {'Announcement-Order', {0, 1}}, + {'Play-Alternative', {0, 1}}, + {'Privacy-Indicator', {0, 1}}, + {'Language', {0, 1}}]; +avp_arity('AoC-Cost-Information') -> + [{'Accumulated-Cost', {0, 1}}, + {'Incremental-Cost', {0, '*'}}, + {'Currency-Code', {0, 1}}]; +avp_arity('AoC-Information') -> + [{'AoC-Cost-Information', {0, 1}}, + {'Tariff-Information', {0, 1}}, + {'AoC-Subscription-Information', {0, 1}}]; +avp_arity('AoC-Service') -> + [{'AoC-Service-Obligatory-Type', {0, 1}}, + {'AoC-Service-Type', {0, 1}}]; +avp_arity('AoC-Subscription-Information') -> + [{'AoC-Service', {0, '*'}}, + {'AoC-Format', {0, 1}}, + {'Preferred-AoC-Currency', {0, 1}}]; +avp_arity('APN-Rate-Control') -> + [{'APN-Rate-Control-Uplink', {0, 1}}, + {'APN-Rate-Control-Downlink', {0, 1}}]; +avp_arity('APN-Rate-Control-Downlink') -> + [{'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}, + {'Rate-Control-Max-Message-Size', {0, 1}}]; +avp_arity('APN-Rate-Control-Uplink') -> + [{'Additional-Exception-Reports', {0, 1}}, + {'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}]; +avp_arity('Application-Server-Information') -> + [{'Application-Server', {0, 1}}, + {'Application-Provided-Called-Party-Address', {0, '*'}}, + {'Status-AS-Code', {0, 1}}]; +avp_arity('Basic-Service-Code') -> + [{'Bearer-Service', {0, 1}}, {'Teleservice', {0, 1}}]; +avp_arity('Called-Identity-Change') -> + [{'Called-Identity', {0, 1}}, {'Change-Time', {0, 1}}]; +avp_arity('Coverage-Info') -> + [{'Coverage-Status', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Location-Info', {0, '*'}}]; +avp_arity('CPDT-Information') -> + [{'Serving-Node-Identity', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'NIDD-Submission', {0, 1}}]; +avp_arity('Current-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('Destination-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Early-Media-Description') -> + [{'SDP-TimeStamps', {0, 1}}, + {'SDP-Media-Component', {0, '*'}}, + {'SDP-Session-Description', {0, '*'}}]; +avp_arity('Enhanced-Diagnostics') -> + [{'RAN-NAS-Release-Cause', {0, '*'}}]; +avp_arity('Envelope') -> + [{'Envelope-Start-Time', 1}, + {'Envelope-End-Time', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}]; +avp_arity('Event-Type') -> + [{'SIP-Method', {0, 1}}, + {'Event', {0, 1}}, + {'Expires', {0, 1}}]; +avp_arity('Incremental-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('IMS-Information') -> + [{'Node-Functionality', 1}, + {'Event-Type', {0, 1}}, + {'Role-Of-Node', {0, 1}}, + {'User-Session-Id', {0, 1}}, + {'Outgoing-Session-Id', {0, 1}}, + {'Session-Priority', {0, 1}}, + {'Calling-Party-Address', {0, '*'}}, + {'Called-Party-Address', {0, 1}}, + {'Called-Asserted-Identity', {0, '*'}}, + {'Called-Identity-Change', {0, 1}}, + {'Number-Portability-Routing-Information', {0, 1}}, + {'Carrier-Select-Routing-Information', {0, 1}}, + {'Alternate-Charged-Party-Address', {0, 1}}, + {'Requested-Party-Address', {0, '*'}}, + {'Associated-URI', {0, '*'}}, + {'Time-Stamps', {0, 1}}, + {'Application-Server-Information', {0, '*'}}, + {'Inter-Operator-Identifier', {0, '*'}}, + {'Transit-IOI-List', {0, '*'}}, + {'IMS-Charging-Identifier', {0, 1}}, + {'SDP-Session-Description', {0, '*'}}, + {'SDP-Media-Component', {0, '*'}}, + {'Served-Party-IP-Address', {0, 1}}, + {'Trunk-Group-Id', {0, 1}}, + {'Bearer-Service', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Service-Specific-Info', {0, '*'}}, + {'Message-Body', {0, '*'}}, + {'Cause-Code', {0, 1}}, + {'Reason-Header', {0, '*'}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Early-Media-Description', {0, '*'}}, + {'IMS-Communication-Service-Identifier', {0, 1}}, + {'IMS-Application-Reference-Identifier', {0, 1}}, + {'Online-Charging-Flag', {0, 1}}, + {'Real-Time-Tariff-Information', {0, 1}}, + {'Account-Expiration', {0, 1}}, + {'Initial-IMS-Charging-Identifier', {0, 1}}, + {'NNI-Information', {0, '*'}}, + {'From-Address', {0, 1}}, + {'IMS-Emergency-Indicator', {0, 1}}, + {'IMS-Visited-Network-Identifier', {0, 1}}, + {'Access-Network-Info-Change', {0, '*'}}, + {'Access-Transfer-Information', {0, '*'}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Route-Header-Received', {0, 1}}, + {'Route-Header-Transmitted', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'TAD-Identifier', {0, 1}}, + {'FE-Identifier-List', {0, 1}}]; +avp_arity('Inter-Operator-Identifier') -> + [{'Originating-IOI', {0, 1}}, + {'Terminating-IOI', {0, 1}}]; +avp_arity('ISUP-Cause') -> + [{'ISUP-Cause-Location', {0, 1}}, + {'ISUP-Cause-Value', {0, 1}}, + {'ISUP-Cause-Diagnostics', {0, 1}}]; +avp_arity('LCS-Client-ID') -> + [{'LCS-Client-Type', {0, 1}}, + {'LCS-Client-External-ID', {0, 1}}, + {'LCS-Client-Dialed-By-MS', {0, 1}}, + {'LCS-Client-Name', {0, 1}}, + {'LCS-APN', {0, 1}}, + {'LCS-Requestor-ID', {0, 1}}]; +avp_arity('LCS-Client-Name') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Name-String', {0, 1}}, + {'LCS-Format-Indicator', {0, 1}}]; +avp_arity('LCS-Information') -> + [{'LCS-Client-ID', {0, 1}}, + {'Location-Type', {0, 1}}, + {'Location-Estimate', {0, 1}}, + {'Positioning-Data', {0, 1}}, + {'3GPP-IMSI', {0, 1}}, + {'MSISDN', {0, 1}}]; +avp_arity('LCS-Requestor-ID') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Requestor-ID-String', {0, 1}}]; +avp_arity('Location-Info') -> + [{'3GPP-User-Location-Info', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Location-Type') -> + [{'Location-Estimate-Type', {0, 1}}, + {'Deferred-Location-Event-Type', {0, 1}}]; +avp_arity('MBMS-Information') -> + [{'TMGI', {0, 1}}, + {'MBMS-User-Service-Type', {0, 1}}, + {'File-Repair-Supported', {0, 1}}, + {'MBMS-2G-3G-Indicator', {0, 1}}, + {'MBMS-Service-Area', {0, '*'}}, + {'MBMS-Session-Identity', {0, 1}}, + {'CN-IP-Multicast-Distribution', {0, 1}}, + {'MBMS-GW-Address', {0, 1}}, + {'MBMS-Charged-Party', {0, 1}}, + {'MSISDN', {0, '*'}}]; +avp_arity('Message-Body') -> + [{'Content-Type', 1}, + {'Content-Length', 1}, + {'Content-Disposition', {0, 1}}, + {'Originator', {0, 1}}]; +avp_arity('Message-Class') -> + [{'Class-Identifier', {0, 1}}, {'Token-Text', {0, 1}}]; +avp_arity('MM-Content-Type') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}, + {'Additional-Content-Information', {0, '*'}}]; +avp_arity('MMS-Information') -> + [{'Originator-Address', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Submission-Time', {0, 1}}, + {'MM-Content-Type', {0, 1}}, + {'Priority', {0, 1}}, + {'Message-ID', {0, 1}}, + {'Message-Type', {0, 1}}, + {'Message-Size', {0, 1}}, + {'Message-Class', {0, 1}}, + {'Delivery-Report-Requested', {0, 1}}, + {'Read-Reply-Report-Requested', {0, 1}}, + {'MMBox-Storage-Requested', {0, 1}}, + {'Applic-ID', {0, 1}}, + {'Reply-Applic-ID', {0, 1}}, + {'Aux-Applic-Info', {0, 1}}, + {'Content-Class', {0, 1}}, + {'DRM-Content', {0, 1}}, + {'Adaptations', {0, 1}}]; +avp_arity('MMTel-Information') -> + [{'Supplementary-Service', {0, '*'}}]; +avp_arity('Monitoring-Event-Information') -> + [{'Monitoring-Event-Functionality', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Configuration-Activity', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Monitoring-Event-Report-Data', {0, '*'}}]; +avp_arity('Monitoring-Event-Report-Data') -> + [{'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Report-Number', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Subscription-Id', {0, 1}}]; +avp_arity('Next-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('NIDD-Submission') -> + [{'Submission-Time', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}]; +avp_arity('NNI-Information') -> + [{'Session-Direction', {0, 1}}, + {'NNI-Type', {0, 1}}, + {'Relationship-Mode', {0, 1}}, + {'Neighbour-Node-Address', {0, 1}}]; +avp_arity('Offline-Charging') -> + [{'Quota-Consumption-Time', {0, 1}}, + {'Time-Quota-Mechanism', {0, 1}}, + {'Envelope-Reporting', {0, 1}}, + {'Multiple-Services-Credit-Control', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Originator-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Originator-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Originator-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Participant-Group') -> + [{'Called-Party-Address', {0, 1}}, + {'Participant-Access-Priority', {0, 1}}, + {'User-Participating-Type', {0, 1}}]; +avp_arity('PoC-Information') -> + [{'PoC-Server-Role', {0, 1}}, + {'PoC-Session-Type', {0, 1}}, + {'PoC-User-Role', {0, 1}}, + {'PoC-Session-Initiation-Type', {0, 1}}, + {'PoC-Event-Type', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participants-Involved', {0, '*'}}, + {'Participant-Group', {0, '*'}}, + {'Talk-Burst-Exchange', {0, '*'}}, + {'PoC-Controlling-Address', {0, 1}}, + {'PoC-Group-Name', {0, 1}}, + {'PoC-Session-Id', {0, 1}}, + {'Charged-Party', {0, 1}}]; +avp_arity('PoC-User-Role') -> + [{'PoC-User-Role-IDs', {0, 1}}, + {'PoC-User-Role-Info-Units', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Information') -> + [{'Announcing-UE-HPLMN-Identifier', {0, 1}}, + {'Announcing-UE-VPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-HPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-VPLMN-Identifier', {0, 1}}, + {'Role-Of-ProSe-Function', {0, 1}}, + {'ProSe-3rd-Party-Application-ID', {0, 1}}, + {'Application-Specific-Data', {0, 1}}, + {'ProSe-Event-Type', {0, 1}}, + {'ProSe-Direct-Discovery-Model', {0, 1}}, + {'ProSe-Function-IP-Address', {0, 1}}, + {'ProSe-Role-Of-UE', {0, 1}}, + {'ProSe-Request-Timestamp', {0, 1}}, + {'PC3-Control-Protocol-Cause', {0, 1}}, + {'Monitoring-UE-Identifier', {0, 1}}, + {'Requestor-PLMN-Identifier', {0, 1}}, + {'Requested-PLMN-Identifier', {0, 1}}, + {'ProSe-Range-Class', {0, 1}}, + {'Proximity-Alert-Indication', {0, 1}}, + {'Proximity-Alert-Timestamp', {0, 1}}, + {'Proximity-Cancellation-Timestamp', {0, 1}}, + {'ProSe-Reason-For-Cancellation', {0, 1}}, + {'PC3-EPC-Control-Protocol-Cause', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}, + {'ProSe-Source-IP-Address', {0, 1}}, + {'Layer-2-Group-ID', {0, 1}}, + {'ProSe-Group-IP-Multicast-Address', {0, 1}}, + {'Coverage-Info', {0, '*'}}, + {'Radio-Parameter-Set-Info', {0, '*'}}, + {'Transmitter-Info', {0, '*'}}, + {'Time-First-Transmission', {0, 1}}, + {'Time-First-Reception', {0, 1}}, + {'ProSe-Direct-Communication-Transmission-Data-Container', + {0, '*'}}, + {'ProSe-Direct-Communication-Reception-Data-Container', + {0, '*'}}, + {'Announcing-PLMN-ID', {0, 1}}, + {'ProSe-Target-Layer-2-ID', {0, 1}}, + {'Relay-IP-address', {0, 1}}, + {'ProSe-UE-to-Network-Relay-UE-ID', {0, 1}}, + {'Target-IP-Address', {0, 1}}, + {'PC5-Radio-Technology', {0, 1}}]; +avp_arity('PS-Furnish-Charging-Information') -> + [{'3GPP-Charging-Id', 1}, + {'PS-Free-Format-Data', 1}, + {'PS-Append-Free-Format-Data', {0, 1}}]; +avp_arity('PS-Information') -> + [{'3GPP-Charging-Id', {0, 1}}, + {'PDN-Connection-Charging-ID', {0, 1}}, + {'Node-Id', {0, 1}}, + {'3GPP-PDP-Type', {0, 1}}, + {'PDP-Address', {0, '*'}}, + {'PDP-Address-Prefix-Length', {0, 1}}, + {'Dynamic-Address-Flag', {0, 1}}, + {'Dynamic-Address-Flag-Extension', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'SGSN-Address', {0, '*'}}, + {'GGSN-Address', {0, '*'}}, + {'TDF-IP-Address', {0, '*'}}, + {'SGW-Address', {0, '*'}}, + {'TWAG-Address', {0, '*'}}, + {'CG-Address', {0, 1}}, + {'Serving-Node-Type', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}, + {'IMSI-Unauthenticated-Flag', {0, 1}}, + {'3GPP-GGSN-MCC-MNC', {0, 1}}, + {'3GPP-NSAPI', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'3GPP-Session-Stop-Indicator', {0, 1}}, + {'3GPP-Selection-Mode', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Charging-Characteristics-Selection-Mode', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'User-Location-Info-Time', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'TWAN-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'PS-Furnish-Charging-Information', {0, 1}}, + {'PDP-Context-Type', {0, 1}}, + {'Offline-Charging', {0, 1}}, + {'Traffic-Data-Volumes', {0, '*'}}, + {'Service-Data-Container', {0, '*'}}, + {'User-Equipment-Info', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Low-Priority-Indicator', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'Fixed-User-Location-Info', {0, 1}}, + {'CN-Operator-Selection-Entity', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'SGi-PtP-Tunnelling-Method', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}, + {'UNI-PDU-CP-Only-Flag', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'Charging-Per-IP-CAN-Session-Indicator', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}, + {'SCS-AS-Address', {0, 1}}, + {'Unused-Quota-Timer', {0, 1}}, + {'RAN-Secondary-RAT-Usage-Report', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Radio-Parameter-Set-Info') -> + [{'Radio-Parameter-Set-Values', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('RAN-Secondary-RAT-Usage-Report') -> + [{'Secondary-RAT-Type', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}]; +avp_arity('Rate-Element') -> + [{'CC-Unit-Type', 1}, + {'Charge-Reason-Code', {0, 1}}, + {'Unit-Value', {0, 1}}, + {'Unit-Cost', {0, 1}}, + {'Unit-Quota-Threshold', {0, 1}}]; +avp_arity('Real-Time-Tariff-Information') -> + [{'Tariff-Information', {0, 1}}, + {'Tariff-XML', {0, 1}}]; +avp_arity('Recipient-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}, + {'Addressee-Type', {0, 1}}]; +avp_arity('Recipient-Info') -> + [{'Destination-Interface', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Recipient-Received-Address', {0, '*'}}, + {'Recipient-SCCP-Address', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}]; +avp_arity('Recipient-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Related-Change-Condition-Information') -> + [{'SGSN-Address', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}]; +avp_arity('Related-Trigger') -> + [{'Trigger-Type', {0, '*'}}]; +avp_arity('Remaining-Balance') -> + [{'Unit-Value', 1}, {'Currency-Code', 1}]; +avp_arity('Scale-Factor') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('SCS-AS-Address') -> + [{'SCS-Realm', {0, 1}}, {'SCS-Address', {0, 1}}]; +avp_arity('SDP-Media-Component') -> + [{'SDP-Media-Name', {0, 1}}, + {'SDP-Media-Description', {0, '*'}}, + {'Local-GW-Inserted-Indication', {0, 1}}, + {'IP-Realm-Default-Indication', {0, 1}}, + {'Transcoder-Inserted-Indication', {0, 1}}, + {'Media-Initiator-Flag', {0, 1}}, + {'Media-Initiator-Party', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Access-Network-Charging-Identifier-Value', {0, 1}}, + {'SDP-Type', {0, 1}}]; +avp_arity('SDP-TimeStamps') -> + [{'SDP-Offer-Timestamp', {0, 1}}, + {'SDP-Answer-Timestamp', {0, 1}}]; +avp_arity('Service-Data-Container') -> + [{'AF-Correlation-Information', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Local-Sequence-Number', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Service-Identifier', {0, 1}}, + {'Service-Specific-Info', {0, 1}}, + {'SGSN-Address', {0, 1}}, + {'Time-First-Usage', {0, 1}}, + {'Time-Last-Usage', {0, 1}}, + {'Time-Usage', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}]; +avp_arity('Service-Information') -> + [{'Subscription-Id', {0, '*'}}, + {'AoC-Information', {0, 1}}, + {'PS-Information', {0, 1}}, + {'IMS-Information', {0, 1}}, + {'MMS-Information', {0, 1}}, + {'LCS-Information', {0, 1}}, + {'PoC-Information', {0, 1}}, + {'MBMS-Information', {0, 1}}, + {'SMS-Information', {0, 1}}, + {'VCS-Information', {0, 1}}, + {'MMTel-Information', {0, 1}}, + {'ProSe-Information', {0, 1}}, + {'CPDT-Information', {0, 1}}]; +avp_arity('Service-Specific-Info') -> + [{'Service-Specific-Data', {0, 1}}, + {'Service-Specific-Type', {0, 1}}]; +avp_arity('SM-Device-Trigger-Information') -> + [{'MTC-IWF-Address', {0, 1}}, + {'Validity-Time', {0, 1}}]; +avp_arity('SMS-Information') -> + [{'SMS-Node', {0, 1}}, + {'Client-Address', {0, 1}}, + {'Originator-SCCP-Address', {0, 1}}, + {'SMSC-Address', {0, 1}}, + {'Data-Coding-Scheme', {0, 1}}, + {'SM-Discharge-Time', {0, 1}}, + {'SM-Message-Type', {0, 1}}, + {'Originator-Interface', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}, + {'Reply-Path-Requested', {0, 1}}, + {'SM-Status', {0, 1}}, + {'SM-User-Data-Header', {0, 1}}, + {'Number-Of-Messages-Sent', {0, 1}}, + {'SM-Sequence-Number', {0, 1}}, + {'Recipient-Info', {0, '*'}}, + {'Originator-Received-Address', {0, 1}}, + {'SM-Service-Type', {0, 1}}, + {'SMS-Result', {0, 1}}, + {'SM-Device-Trigger-Indicator', {0, 1}}, + {'SM-Device-Trigger-Information', {0, 1}}, + {'MTC-IWF-Address', {0, 1}}]; +avp_arity('Supplementary-Service') -> + [{'MMTel-SService-Type', {0, 1}}, + {'Service-Mode', {0, 1}}, + {'Number-Of-Diversions', {0, 1}}, + {'Associated-Party-Address', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participant-Action-Type', {0, 1}}, + {'CUG-Information', {0, 1}}, + {'AoC-Information', {0, 1}}]; +avp_arity('Talk-Burst-Exchange') -> + [{'PoC-Change-Time', 1}, + {'Number-Of-Talk-Bursts', {0, 1}}, + {'Talk-Burst-Volume', {0, 1}}, + {'Talk-Burst-Time', {0, 1}}, + {'Number-Of-Received-Talk-Bursts', {0, 1}}, + {'Received-Talk-Burst-Volume', {0, 1}}, + {'Received-Talk-Burst-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'PoC-Change-Condition', {0, 1}}]; +avp_arity('Tariff-Information') -> + [{'Current-Tariff', 1}, + {'Tariff-Time-Change', {0, 1}}, + {'Next-Tariff', {0, 1}}]; +avp_arity('Time-Quota-Mechanism') -> + [{'Time-Quota-Type', 1}, {'Base-Time-Interval', 1}]; +avp_arity('Time-Stamps') -> + [{'SIP-Request-Timestamp', {0, 1}}, + {'SIP-Response-Timestamp', {0, 1}}, + {'SIP-Request-Timestamp-Fraction', {0, 1}}, + {'SIP-Response-Timestamp-Fraction', {0, 1}}]; +avp_arity('Traffic-Data-Volumes') -> + [{'QoS-Information', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Change-Time', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}]; +avp_arity('Transmitter-Info') -> + [{'ProSe-Source-IP-Address', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}]; +avp_arity('Trigger') -> [{'Trigger-Type', {0, '*'}}]; +avp_arity('Trunk-Group-Id') -> + [{'Incoming-Trunk-Group-Id', {0, 1}}, + {'Outgoing-Trunk-Group-Id', {0, 1}}]; +avp_arity('TWAN-User-Location-Info') -> + [{'BSSID', {0, 1}}]; +avp_arity('Unit-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('User-CSG-Information') -> + [{'CSG-Access-Mode', 1}, + {'CSG-Membership-Indication', {0, 1}}]; +avp_arity('UWAN-User-Location-Info') -> + [{'UE-Local-IP-Address', 1}, + {'UDP-Source-Port', {0, 1}}, + {'BSSID', {0, 1}}]; +avp_arity('Variable-Part') -> + [{'Variable-Part-Type', 1}, + {'Variable-Part-Value', 1}, + {'Variable-Part-Order', {0, 1}}]; +avp_arity('VCS-Information') -> + [{'Bearer-Capability', {0, 1}}, + {'Network-Call-Reference-Number', {0, 1}}, + {'MSC-Address', {0, 1}}, + {'Basic-Service-Code', {0, 1}}, + {'ISUP-Location-Number', {0, 1}}, + {'VLR-Number', {0, 1}}, + {'Forwarding-Pending', {0, 1}}, + {'ISUP-Cause', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Start-of-Charging', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'PS-Free-Format-Data', {0, 1}}]; +avp_arity('Cost-Information') -> + [{'Unit-Value', 1}, + {'Currency-Code', 1}, + {'Cost-Unit', {0, 1}}]; +avp_arity('Unit-Value') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Multiple-Services-Credit-Control') -> + [{'Granted-Service-Unit', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Tariff-Change-Usage', {0, 1}}, + {'Service-Identifier', {0, '*'}}, + {'Rating-Group', {0, 1}}, + {'G-S-U-Pool-Reference', {0, '*'}}, + {'Validity-Time', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Granted-Service-Unit') -> + [{'Tariff-Time-Change', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-Service-Unit') -> + [{'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Used-Service-Unit') -> + [{'Tariff-Change-Usage', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CC-Money') -> + [{'Unit-Value', 1}, {'Currency-Code', {0, 1}}]; +avp_arity('G-S-U-Pool-Reference') -> + [{'G-S-U-Pool-Identifier', 1}, + {'CC-Unit-Type', 1}, + {'Unit-Value', 1}]; +avp_arity('Final-Unit-Indication') -> + [{'Final-Unit-Action', 1}, + {'Restriction-Filter-Rule', {0, '*'}}, + {'Filter-Id', {0, '*'}}, + {'Redirect-Server', {0, 1}}]; +avp_arity('Redirect-Server') -> + [{'Redirect-Address-Type', 1}, + {'Redirect-Server-Address', 1}]; +avp_arity('Service-Parameter-Info') -> + [{'Service-Parameter-Type', 1}, + {'Service-Parameter-Value', 1}]; +avp_arity('Subscription-Id') -> + [{'Subscription-Id-Type', 1}, + {'Subscription-Id-Data', 1}]; +avp_arity('User-Equipment-Info') -> + [{'User-Equipment-Info-Type', 1}, + {'User-Equipment-Info-Value', 1}]; +avp_arity('MIP6-Agent-Info') -> + [{'MIP-Home-Agent-Address', {0, 2}}, + {'MIP-Home-Agent-Host', {0, 1}}, + {'MIP6-Home-Link-Prefix', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('OC-Supported-Features') -> + [{'OC-Feature-Vector', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('OC-OLR') -> + [{'OC-Sequence-Number', 1}, + {'OC-Report-Type', 1}, + {'OC-Reduction-Percentage', {0, 1}}, + {'OC-Validity-Duration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Load') -> + [{'Load-Type', {0, 1}}, + {'Load-Value', {0, 1}}, + {'SourceID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('MAR', 'Session-Id') -> 1; +avp_arity('MAR', 'Auth-Session-State') -> 1; +avp_arity('MAR', 'Origin-Host') -> 1; +avp_arity('MAR', 'Origin-Realm') -> 1; +avp_arity('MAR', 'Destination-Realm') -> 1; +avp_arity('MAR', 'User-Name') -> 1; +avp_arity('MAR', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('MAR', 'SIP-Auth-Data-Item') -> 1; +avp_arity('MAR', 'SIP-Number-Auth-Items') -> 1; +avp_arity('MAR', 'Destination-Host') -> {0, 1}; +avp_arity('MAR', 'RAT-Type') -> {0, 1}; +avp_arity('MAR', 'DRMP') -> {0, 1}; +avp_arity('MAR', 'ANID') -> {0, 1}; +avp_arity('MAR', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('MAR', 'Terminal-Information') -> {0, 1}; +avp_arity('MAR', 'AAA-Failure-Indication') -> {0, 1}; +avp_arity('MAR', 'OC-Supported-Features') -> {0, 1}; +avp_arity('MAR', 'Supported-Features') -> {0, '*'}; +avp_arity('MAR', 'AVP') -> {0, '*'}; +avp_arity('MAA', 'Session-Id') -> 1; +avp_arity('MAA', 'Auth-Session-State') -> 1; +avp_arity('MAA', 'Origin-Host') -> 1; +avp_arity('MAA', 'Origin-Realm') -> 1; +avp_arity('MAA', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('MAA', 'User-Name') -> 1; +avp_arity('MAA', 'DRMP') -> {0, 1}; +avp_arity('MAA', 'Result-Code') -> {0, 1}; +avp_arity('MAA', 'Experimental-Result') -> {0, 1}; +avp_arity('MAA', 'SIP-Number-Auth-Items') -> {0, 1}; +avp_arity('MAA', 'SIP-Auth-Data-Item') -> {0, '*'}; +avp_arity('MAA', '3GPP-AAA-Server-Name') -> {0, 1}; +avp_arity('MAA', 'OC-Supported-Features') -> {0, 1}; +avp_arity('MAA', 'OC-OLR') -> {0, 1}; +avp_arity('MAA', 'Load') -> {0, '*'}; +avp_arity('MAA', 'Supported-Features') -> {0, '*'}; +avp_arity('MAA', 'AVP') -> {0, '*'}; +avp_arity('PPR', 'Session-Id') -> 1; +avp_arity('PPR', 'Auth-Session-State') -> 1; +avp_arity('PPR', 'Origin-Host') -> 1; +avp_arity('PPR', 'Origin-Realm') -> 1; +avp_arity('PPR', 'Destination-Host') -> 1; +avp_arity('PPR', 'Destination-Realm') -> 1; +avp_arity('PPR', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('PPR', 'User-Name') -> 1; +avp_arity('PPR', 'DRMP') -> {0, 1}; +avp_arity('PPR', 'Non-3GPP-User-Data') -> {0, 1}; +avp_arity('PPR', 'PPR-Flags') -> {0, 1}; +avp_arity('PPR', 'Supported-Features') -> {0, '*'}; +avp_arity('PPR', 'AVP') -> {0, '*'}; +avp_arity('PPA', 'Session-Id') -> 1; +avp_arity('PPA', 'Auth-Session-State') -> 1; +avp_arity('PPA', 'Origin-Host') -> 1; +avp_arity('PPA', 'Origin-Realm') -> 1; +avp_arity('PPA', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('PPA', 'DRMP') -> {0, 1}; +avp_arity('PPA', 'Result-Code') -> {0, 1}; +avp_arity('PPA', 'Experimental-Result') -> {0, 1}; +avp_arity('PPA', 'Access-Network-Info') -> {0, 1}; +avp_arity('PPA', 'Local-Time-Zone') -> {0, 1}; +avp_arity('PPA', 'Supported-Features') -> {0, '*'}; +avp_arity('PPA', 'AVP') -> {0, '*'}; +avp_arity('SAR', 'Session-Id') -> 1; +avp_arity('SAR', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('SAR', 'Auth-Session-State') -> 1; +avp_arity('SAR', 'Origin-Host') -> 1; +avp_arity('SAR', 'Origin-Realm') -> 1; +avp_arity('SAR', 'Destination-Realm') -> 1; +avp_arity('SAR', 'User-Name') -> 1; +avp_arity('SAR', 'Server-Assignment-Type') -> 1; +avp_arity('SAR', 'DRMP') -> {0, 1}; +avp_arity('SAR', 'Destination-Host') -> {0, 1}; +avp_arity('SAR', 'Service-Selection') -> {0, 1}; +avp_arity('SAR', 'Context-Identifier') -> {0, 1}; +avp_arity('SAR', 'MIP6-Agent-Info') -> {0, 1}; +avp_arity('SAR', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('SAR', 'Active-APN') -> {0, '*'}; +avp_arity('SAR', 'OC-Supported-Features') -> {0, 1}; +avp_arity('SAR', 'Supported-Features') -> {0, '*'}; +avp_arity('SAR', 'Terminal-Information') -> {0, 1}; +avp_arity('SAR', 'Emergency-Services') -> {0, 1}; +avp_arity('SAR', 'AVP') -> {0, '*'}; +avp_arity('SAA', 'Session-Id') -> 1; +avp_arity('SAA', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('SAA', 'Auth-Session-State') -> 1; +avp_arity('SAA', 'Origin-Host') -> 1; +avp_arity('SAA', 'Origin-Realm') -> 1; +avp_arity('SAA', 'User-Name') -> 1; +avp_arity('SAA', 'DRMP') -> {0, 1}; +avp_arity('SAA', 'Result-Code') -> {0, 1}; +avp_arity('SAA', 'Experimental-Result') -> {0, 1}; +avp_arity('SAA', 'Non-3GPP-User-Data') -> {0, 1}; +avp_arity('SAA', '3GPP-AAA-Server-Name') -> {0, 1}; +avp_arity('SAA', 'OC-Supported-Features') -> {0, 1}; +avp_arity('SAA', 'OC-OLR') -> {0, 1}; +avp_arity('SAA', 'Load') -> {0, '*'}; +avp_arity('SAA', 'Supported-Features') -> {0, '*'}; +avp_arity('SAA', 'AVP') -> {0, '*'}; +avp_arity('RTR', 'Session-Id') -> 1; +avp_arity('RTR', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('RTR', 'Auth-Session-State') -> 1; +avp_arity('RTR', 'Origin-Host') -> 1; +avp_arity('RTR', 'Origin-Realm') -> 1; +avp_arity('RTR', 'Destination-Host') -> 1; +avp_arity('RTR', 'Destination-Realm') -> 1; +avp_arity('RTR', 'User-Name') -> 1; +avp_arity('RTR', 'Deregistration-Reason') -> 1; +avp_arity('RTR', 'DRMP') -> {0, 1}; +avp_arity('RTR', 'Supported-Features') -> {0, '*'}; +avp_arity('RTR', 'AVP') -> {0, '*'}; +avp_arity('RTA', 'Session-Id') -> 1; +avp_arity('RTA', 'Vendor-Specific-Application-Id') -> 1; +avp_arity('RTA', 'Auth-Session-State') -> 1; +avp_arity('RTA', 'Origin-Host') -> 1; +avp_arity('RTA', 'Origin-Realm') -> 1; +avp_arity('RTA', 'DRMP') -> {0, 1}; +avp_arity('RTA', 'Result-Code') -> {0, 1}; +avp_arity('RTA', 'Experimental-Result') -> {0, 1}; +avp_arity('RTA', 'Supported-Features') -> {0, '*'}; +avp_arity('RTA', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Emergency-Info', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('Emergency-Info', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Access-Network-Charging-Identifier-Value') -> + 1; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'IP-CAN-Session-Charging-Scope') -> + {0, 1}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'AVP') -> + {0, '*'}; +avp_arity('Allocation-Retention-Priority', + 'Priority-Level') -> + 1; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Capability') -> + {0, 1}; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Vulnerability') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'TDF-Application-Identifier') -> + 1; +avp_arity('Application-Detection-Information', + 'TDF-Application-Instance-Identifier') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Application-Detection-Information', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Charging-Rule-Name') -> + 1; +avp_arity('Charging-Rule-Definition', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Rating-Group') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'TDF-Application-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flow-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'QoS-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'PS-to-CS-Session-Continuity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Reporting-Level') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Online') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Offline') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Metering-Method') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Charging-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flows') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Redirect-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Mute-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Signalling-Protocol') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Definition') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Activation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Deactivation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Resource-Allocation-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Charging-Correlation-Indicator') -> + {0, 1}; +avp_arity('Charging-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Report', 'PCC-Rule-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Rule-Failure-Code') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', 'AVP') -> {0, '*'}; +avp_arity('CoA-Information', 'Tunnel-Information') -> 1; +avp_arity('CoA-Information', 'CoA-IP-Address') -> 1; +avp_arity('CoA-Information', 'AVP') -> {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'IP-CAN-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'RAT-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'AVP') -> + {0, '*'}; +avp_arity('Default-EPS-Bearer-QoS', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', 'AVP') -> {0, '*'}; +avp_arity('Default-QoS-Information', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Default-QoS-Name') -> + {0, 1}; +avp_arity('Default-QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Event-Report-Indication', 'Event-Trigger') -> + {0, '*'}; +avp_arity('Event-Report-Indication', 'IP-CAN-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AN-GW-Address') -> + {0, 2}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-IPv6-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Framed-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAT-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAI') -> {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UE-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'HeNB-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AVP') -> {0, '*'}; +avp_arity('Fixed-User-Location-Info', + 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', + 'Physical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', 'AVP') -> + {0, '*'}; +avp_arity('Flow-Information', 'Flow-Description') -> + {0, 1}; +avp_arity('Flow-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Flow-Information', 'Packet-Filter-Usage') -> + {0, 1}; +avp_arity('Flow-Information', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Flow-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Flow-Information', 'Flow-Label') -> {0, 1}; +avp_arity('Flow-Information', 'Flow-Direction') -> + {0, 1}; +avp_arity('Flow-Information', 'AVP') -> {0, '*'}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Precedence') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Content') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Flow-Label') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Identifier') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Elements-List') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'AVP') -> + {0, '*'}; +avp_arity('QoS-Information', 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Bearer-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Conditional-APN-Aggregate-Max-Bitrate') -> + {0, '*'}; +avp_arity('QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Redirect-Information', 'Redirect-Support') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Address-Type') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Server-Address') -> + {0, 1}; +avp_arity('Redirect-Information', 'AVP') -> {0, '*'}; +avp_arity('Routing-Filter', 'Flow-Description') -> 1; +avp_arity('Routing-Filter', 'Flow-Direction') -> 1; +avp_arity('Routing-Filter', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Routing-Filter', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Routing-Filter', 'Flow-Label') -> {0, 1}; +avp_arity('Routing-Filter', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Definition', + 'Routing-Rule-Identifier') -> + 1; +avp_arity('Routing-Rule-Definition', + 'Routing-Filter') -> + {0, '*'}; +avp_arity('Routing-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Install', + 'Routing-Rule-Definition') -> + {0, '*'}; +avp_arity('Routing-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Remove', + 'Routing-Rule-Identifier') -> + {0, '*'}; +avp_arity('Routing-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('TDF-Information', 'TDF-Destination-Realm') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-Destination-Host') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-IP-Address') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Length') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Filter') -> + {0, 2}; +avp_arity('Tunnel-Information', 'AVP') -> {0, '*'}; +avp_arity('TFT-Packet-Filter-Information', + 'Precedence') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'TFT-Filter') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Label') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Usage-Monitoring-Information', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Granted-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Used-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Level') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Report') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Support') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', 'AVP') -> + {0, '*'}; +avp_arity('Flows', 'Media-Component-Number') -> 1; +avp_arity('Flows', 'Flow-Number') -> {0, '*'}; +avp_arity('Flows', 'Final-Unit-Action') -> {0, 1}; +avp_arity('Charging-Information', + 'Primary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', 'AVP') -> {0, '*'}; +avp_arity('Supported-Features', 'Vendor-Id') -> 1; +avp_arity('Supported-Features', 'Feature-List-ID') -> 1; +avp_arity('Supported-Features', 'Feature-List') -> 1; +avp_arity('Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('Supported-Applications', + 'Auth-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Acct-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Vendor-Specific-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', 'AVP') -> {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Item-Number') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Scheme') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authorization') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Context') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Confidentiality-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Integrity-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Digest-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IP-Address') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IPv6-Prefix') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Framed-Interface-Id') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Line-Identifier') -> + {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'AVP') -> {0, '*'}; +avp_arity('Deregistration-Reason', 'Reason-Code') -> 1; +avp_arity('Deregistration-Reason', 'Reason-Info') -> + {0, 1}; +avp_arity('Deregistration-Reason', 'AVP') -> {0, '*'}; +avp_arity('SIP-Digest-Authenticate', 'Digest-Realm') -> + 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-QoP') -> 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-HA1') -> 1; +avp_arity('SIP-Digest-Authenticate', + 'Digest-Algorithm') -> + {0, 1}; +avp_arity('SIP-Digest-Authenticate', 'AVP') -> {0, '*'}; +avp_arity('Subscription-Data', 'Subscriber-Status') -> + {0, 1}; +avp_arity('Subscription-Data', 'MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'A-MSISDN') -> {0, 1}; +avp_arity('Subscription-Data', 'STN-SR') -> {0, 1}; +avp_arity('Subscription-Data', 'ICS-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'Network-Access-Mode') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Operator-Determined-Barring') -> + {0, 1}; +avp_arity('Subscription-Data', 'HPLMN-ODB') -> {0, 1}; +avp_arity('Subscription-Data', + 'Regional-Subscription-Zone-Code') -> + {0, 10}; +avp_arity('Subscription-Data', + 'Access-Restriction-Data') -> + {0, 1}; +avp_arity('Subscription-Data', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('Subscription-Data', 'LCS-Info') -> {0, 1}; +avp_arity('Subscription-Data', 'Teleservice-List') -> + {0, 1}; +avp_arity('Subscription-Data', 'Call-Barring-Info') -> + {0, '*'}; +avp_arity('Subscription-Data', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('Subscription-Data', 'AMBR') -> {0, 1}; +avp_arity('Subscription-Data', + 'APN-Configuration-Profile') -> + {0, 1}; +avp_arity('Subscription-Data', + 'RAT-Frequency-Selection-Priority-ID') -> + {0, 1}; +avp_arity('Subscription-Data', 'Trace-Data') -> {0, 1}; +avp_arity('Subscription-Data', + 'GPRS-Subscription-Data') -> + {0, 1}; +avp_arity('Subscription-Data', + 'CSG-Subscription-Data') -> + {0, '*'}; +avp_arity('Subscription-Data', + 'Roaming-Restricted-Due-To-Unsupported-Feature') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscribed-Periodic-RAU-TAU-Timer') -> + {0, 1}; +avp_arity('Subscription-Data', 'MPS-Priority') -> + {0, 1}; +avp_arity('Subscription-Data', 'VPLMN-LIPA-Allowed') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Relay-Node-Indicator') -> + {0, 1}; +avp_arity('Subscription-Data', 'MDT-User-Consent') -> + {0, 1}; +avp_arity('Subscription-Data', 'Subscribed-VSRVCC') -> + {0, 1}; +avp_arity('Subscription-Data', + 'Subscription-Data-Flags') -> + {0, 1}; +avp_arity('Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Terminal-Information', 'IMEI') -> {0, 1}; +avp_arity('Terminal-Information', '3GPP2-MEID') -> + {0, 1}; +avp_arity('Terminal-Information', 'Software-Version') -> + {0, 1}; +avp_arity('Terminal-Information', 'AVP') -> {0, '*'}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-EUTRAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Number-Of-Requested-Vectors') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Immediate-Response-Preferred') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'Re-Synchronization-Info') -> + {0, 1}; +avp_arity('Requested-UTRAN-GERAN-Authentication-Info', + 'AVP') -> + {0, '*'}; +avp_arity('Authentication-Info', 'E-UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'UTRAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'GERAN-Vector') -> + {0, '*'}; +avp_arity('Authentication-Info', 'AVP') -> {0, '*'}; +avp_arity('E-UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('E-UTRAN-Vector', 'RAND') -> 1; +avp_arity('E-UTRAN-Vector', 'XRES') -> 1; +avp_arity('E-UTRAN-Vector', 'AUTN') -> 1; +avp_arity('E-UTRAN-Vector', 'KASME') -> 1; +avp_arity('E-UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('UTRAN-Vector', 'Item-Number') -> 1; +avp_arity('UTRAN-Vector', 'RAND') -> 1; +avp_arity('UTRAN-Vector', 'XRES') -> 1; +avp_arity('UTRAN-Vector', 'AUTN') -> 1; +avp_arity('UTRAN-Vector', 'Confidentiality-Key') -> 1; +avp_arity('UTRAN-Vector', 'Integrity-Key') -> 1; +avp_arity('UTRAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('GERAN-Vector', 'Item-Number') -> 1; +avp_arity('GERAN-Vector', 'RAND') -> 1; +avp_arity('GERAN-Vector', 'SRES') -> 1; +avp_arity('GERAN-Vector', 'Kc') -> 1; +avp_arity('GERAN-Vector', 'AVP') -> {0, '*'}; +avp_arity('APN-Configuration-Profile', + 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration-Profile', + 'All-APN-Configurations-Included-Indicator') -> + 1; +avp_arity('APN-Configuration-Profile', + 'APN-Configuration') -> + {1, '*'}; +avp_arity('APN-Configuration-Profile', 'AVP') -> + {0, '*'}; +avp_arity('APN-Configuration', 'Context-Identifier') -> + 1; +avp_arity('APN-Configuration', 'PDN-Type') -> 1; +avp_arity('APN-Configuration', 'Service-Selection') -> + 1; +avp_arity('APN-Configuration', + 'Served-Party-IP-Address') -> + {0, 2}; +avp_arity('APN-Configuration', + 'EPS-Subscribed-QoS-Profile') -> + {0, 1}; +avp_arity('APN-Configuration', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('APN-Configuration', 'MIP6-Agent-Info') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('APN-Configuration', + 'PDN-GW-Allocation-Type') -> + {0, 1}; +avp_arity('APN-Configuration', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('APN-Configuration', 'AMBR') -> {0, 1}; +avp_arity('APN-Configuration', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('APN-Configuration', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('APN-Configuration', 'SIPTO-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', 'LIPA-Permission') -> + {0, 1}; +avp_arity('APN-Configuration', + 'Restoration-Priority') -> + {0, 1}; +avp_arity('APN-Configuration', 'AVP') -> {0, '*'}; +avp_arity('EPS-Subscribed-QoS-Profile', + 'QoS-Class-Identifier') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', + 'Allocation-Retention-Priority') -> + 1; +avp_arity('EPS-Subscribed-QoS-Profile', 'AVP') -> + {0, '*'}; +avp_arity('AMBR', 'Max-Requested-Bandwidth-UL') -> 1; +avp_arity('AMBR', 'Max-Requested-Bandwidth-DL') -> 1; +avp_arity('AMBR', 'AVP') -> {0, '*'}; +avp_arity('Trace-Data', 'Trace-Reference') -> 1; +avp_arity('Trace-Data', 'Trace-Depth') -> 1; +avp_arity('Trace-Data', 'Trace-NE-Type-List') -> 1; +avp_arity('Trace-Data', 'Trace-Event-List') -> 1; +avp_arity('Trace-Data', 'Trace-Collection-Entity') -> 1; +avp_arity('Trace-Data', 'Trace-Interface-List') -> + {0, 1}; +avp_arity('Trace-Data', 'OMC-Id') -> {0, 1}; +avp_arity('Trace-Data', 'MDT-Configuration') -> {0, 1}; +avp_arity('Trace-Data', 'AVP') -> {0, '*'}; +avp_arity('GPRS-Subscription-Data', + 'Complete-Data-List-Included-Indicator') -> + 1; +avp_arity('GPRS-Subscription-Data', 'PDP-Context') -> + {1, 50}; +avp_arity('GPRS-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('PDP-Context', 'Context-Identifier') -> 1; +avp_arity('PDP-Context', 'PDP-Type') -> 1; +avp_arity('PDP-Context', 'QoS-Subscribed') -> 1; +avp_arity('PDP-Context', 'Service-Selection') -> 1; +avp_arity('PDP-Context', 'PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', + 'VPLMN-Dynamic-Address-Allowed') -> + {0, 1}; +avp_arity('PDP-Context', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Type') -> {0, 1}; +avp_arity('PDP-Context', 'Ext-PDP-Address') -> {0, 1}; +avp_arity('PDP-Context', 'AMBR') -> {0, 1}; +avp_arity('PDP-Context', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('PDP-Context', 'SIPTO-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'LIPA-Permission') -> {0, 1}; +avp_arity('PDP-Context', 'Restoration-Priority') -> + {0, 1}; +avp_arity('PDP-Context', 'AVP') -> {0, '*'}; +avp_arity('CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('CSG-Subscription-Data', 'Expiration-Date') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', + 'Service-Selection') -> + {0, '*'}; +avp_arity('CSG-Subscription-Data', 'Visited-PLMN-Id') -> + {0, 1}; +avp_arity('CSG-Subscription-Data', 'AVP') -> {0, '*'}; +avp_arity('Specific-APN-Info', 'Service-Selection') -> + 1; +avp_arity('Specific-APN-Info', 'MIP6-Agent-Info') -> 1; +avp_arity('Specific-APN-Info', + 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Specific-APN-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-Info', 'GMLC-Number') -> {0, '*'}; +avp_arity('LCS-Info', 'LCS-PrivacyException') -> + {0, '*'}; +avp_arity('LCS-Info', 'MO-LR') -> {0, '*'}; +avp_arity('LCS-Info', 'AVP') -> {0, '*'}; +avp_arity('LCS-PrivacyException', 'SS-Code') -> 1; +avp_arity('LCS-PrivacyException', 'SS-Status') -> 1; +avp_arity('LCS-PrivacyException', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('LCS-PrivacyException', 'External-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'PLMN-Client') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'Service-Type') -> + {0, '*'}; +avp_arity('LCS-PrivacyException', 'AVP') -> {0, '*'}; +avp_arity('External-Client', 'Client-Identity') -> 1; +avp_arity('External-Client', 'GMLC-Restriction') -> + {0, 1}; +avp_arity('External-Client', + 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('External-Client', 'AVP') -> {0, '*'}; +avp_arity('Service-Type', 'ServiceTypeIdentity') -> 1; +avp_arity('Service-Type', 'GMLC-Restriction') -> {0, 1}; +avp_arity('Service-Type', 'Notification-To-UE-User') -> + {0, 1}; +avp_arity('Service-Type', 'AVP') -> {0, '*'}; +avp_arity('MO-LR', 'SS-Code') -> 1; +avp_arity('MO-LR', 'SS-Status') -> 1; +avp_arity('MO-LR', 'AVP') -> {0, '*'}; +avp_arity('Teleservice-List', 'TS-Code') -> {1, '*'}; +avp_arity('Teleservice-List', 'AVP') -> {0, '*'}; +avp_arity('Call-Barring-Info', 'SS-Code') -> 1; +avp_arity('Call-Barring-Info', 'SS-Status') -> 1; +avp_arity('Call-Barring-Info', 'AVP') -> {0, '*'}; +avp_arity('EPS-User-State', 'MME-User-State') -> {0, 1}; +avp_arity('EPS-User-State', 'SGSN-User-State') -> + {0, 1}; +avp_arity('EPS-User-State', 'AVP') -> {0, '*'}; +avp_arity('EPS-Location-Information', + 'MME-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', + 'SGSN-Location-Information') -> + {0, 1}; +avp_arity('EPS-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('MME-User-State', 'User-State') -> {0, 1}; +avp_arity('MME-User-State', 'AVP') -> {0, '*'}; +avp_arity('SGSN-User-State', 'User-State') -> {0, 1}; +avp_arity('SGSN-User-State', 'AVP') -> {0, '*'}; +avp_arity('MME-Location-Information', + 'E-UTRAN-Cell-Global-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Tracking-Area-Identity') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('MME-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('SGSN-Location-Information', + 'Cell-Global-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Location-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Service-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Routing-Area-Identity') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geographical-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Geodetic-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Current-Location-Retrieved') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'Age-Of-Location-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('SGSN-Location-Information', 'AVP') -> + {0, '*'}; +avp_arity('Active-APN', 'Context-Identifier') -> 1; +avp_arity('Active-APN', 'Service-Selection') -> {0, 1}; +avp_arity('Active-APN', 'MIP6-Agent-Info') -> {0, 1}; +avp_arity('Active-APN', 'Visited-Network-Identifier') -> + {0, 1}; +avp_arity('Active-APN', 'Specific-APN-Info') -> + {0, '*'}; +avp_arity('Active-APN', 'AVP') -> {0, '*'}; +avp_arity('MDT-Configuration', 'Job-Type') -> 1; +avp_arity('MDT-Configuration', 'Area-Scope') -> {0, 1}; +avp_arity('MDT-Configuration', + 'List-Of-Measurements') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Reporting-Trigger') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Report-Amount') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRP') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-RSRQ') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Interval') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Logging-Duration') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-LTE') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Period-UMTS') -> + {0, 1}; +avp_arity('MDT-Configuration', 'Positioning-Method') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Measurement-Quantity') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1F') -> + {0, 1}; +avp_arity('MDT-Configuration', + 'Event-Threshold-Event-1I') -> + {0, 1}; +avp_arity('MDT-Configuration', 'AVP') -> {0, '*'}; +avp_arity('Area-Scope', 'Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', + 'E-UTRAN-Cell-Global-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Routing-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Location-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'Tracking-Area-Identity') -> + {0, '*'}; +avp_arity('Area-Scope', 'AVP') -> {0, '*'}; +avp_arity('Equivalent-PLMN-List', 'Visited-PLMN-Id') -> + {1, '*'}; +avp_arity('Equivalent-PLMN-List', 'AVP') -> {0, '*'}; +avp_arity('VPLMN-CSG-Subscription-Data', 'CSG-Id') -> 1; +avp_arity('VPLMN-CSG-Subscription-Data', + 'Expiration-Date') -> + {0, 1}; +avp_arity('VPLMN-CSG-Subscription-Data', 'AVP') -> + {0, '*'}; +avp_arity('Local-Time-Zone', 'Time-Zone') -> 1; +avp_arity('Local-Time-Zone', 'Daylight-Saving-Time') -> + 1; +avp_arity('Local-Time-Zone', 'AVP') -> {0, '*'}; +avp_arity('WLAN-Identifier', 'SSID') -> {0, 1}; +avp_arity('WLAN-Identifier', 'HESSID') -> {0, 1}; +avp_arity('WLAN-Identifier', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Info', 'SSID') -> {0, 1}; +avp_arity('Access-Network-Info', 'BSSID') -> {0, 1}; +avp_arity('Access-Network-Info', + 'Location-Information') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Location-Data') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Operator-Name') -> + {0, 1}; +avp_arity('Access-Network-Info', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Access-Network-Info', 'AVP') -> {0, '*'}; +avp_arity('TWAN-Connectivity-Parameters', + 'Connectivity-Flags') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'Service-Selection') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', 'PDN-Type') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'Served-Party-IP-Address') -> + {0, 2}; +avp_arity('TWAN-Connectivity-Parameters', 'TWAN-PCO') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'TWAG-UP-Address') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'TWAN-S2a-Failure-Cause') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', + 'SM-Back-Off-Timer') -> + {0, 1}; +avp_arity('TWAN-Connectivity-Parameters', 'AVP') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Subscription-Id') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Non-3GPP-IP-Access') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'Non-3GPP-IP-Access-APN') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'RAT-Type') -> {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Session-Timeout') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'MIP6-Feature-Vector') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'AMBR') -> {0, 1}; +avp_arity('Non-3GPP-User-Data', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Context-Identifier') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'APN-OI-Replacement') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'APN-Configuration') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'Trace-Info') -> {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'TWAN-Default-APN-Context-Id') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'TWAN-Access-Info') -> + {0, '*'}; +avp_arity('Non-3GPP-User-Data', 'UE-Usage-Type') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'Emergency-Info') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'ERP-Authorization') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', + 'Core-Network-Restrictions') -> + {0, 1}; +avp_arity('Non-3GPP-User-Data', 'AVP') -> {0, '*'}; +avp_arity('Trace-Info', 'Trace-Data') -> {0, 1}; +avp_arity('Trace-Info', 'Trace-Reference') -> {0, 1}; +avp_arity('Trace-Info', 'AVP') -> {0, '*'}; +avp_arity('TWAN-Access-Info', + 'Access-Authorization-Flags') -> + {0, 1}; +avp_arity('TWAN-Access-Info', 'WLAN-Identifier') -> + {0, 1}; +avp_arity('TWAN-Access-Info', 'AVP') -> {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Network-Info-Change', + 'Change-Time') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Transfer-Type') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Transfer-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Inter-UE-Transfer') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'User-Equipment-Info') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Instance-Id') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Change-Time') -> + {0, 1}; +avp_arity('Accumulated-Cost', 'Value-Digits') -> 1; +avp_arity('Accumulated-Cost', 'Exponent') -> {0, 1}; +avp_arity('Additional-Content-Information', + 'Type-Number') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Content-Size') -> + {0, 1}; +avp_arity('Address-Domain', 'Domain-Name') -> {0, 1}; +avp_arity('Address-Domain', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('AF-Correlation-Information', + 'AF-Charging-Identifier') -> + 1; +avp_arity('AF-Correlation-Information', 'Flows') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Announcement-Identifier') -> + 1; +avp_arity('Announcement-Information', + 'Variable-Part') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Time-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Quota-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Announcement-Order') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Play-Alternative') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Privacy-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', 'Language') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Accumulated-Cost') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Incremental-Cost') -> + {0, '*'}; +avp_arity('AoC-Cost-Information', 'Currency-Code') -> + {0, 1}; +avp_arity('AoC-Information', 'AoC-Cost-Information') -> + {0, 1}; +avp_arity('AoC-Information', 'Tariff-Information') -> + {0, 1}; +avp_arity('AoC-Information', + 'AoC-Subscription-Information') -> + {0, 1}; +avp_arity('AoC-Service', + 'AoC-Service-Obligatory-Type') -> + {0, 1}; +avp_arity('AoC-Service', 'AoC-Service-Type') -> {0, 1}; +avp_arity('AoC-Subscription-Information', + 'AoC-Service') -> + {0, '*'}; +avp_arity('AoC-Subscription-Information', + 'AoC-Format') -> + {0, 1}; +avp_arity('AoC-Subscription-Information', + 'Preferred-AoC-Currency') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Uplink') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Downlink') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Message-Size') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Additional-Exception-Reports') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Server') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Provided-Called-Party-Address') -> + {0, '*'}; +avp_arity('Application-Server-Information', + 'Status-AS-Code') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Bearer-Service') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Teleservice') -> + {0, 1}; +avp_arity('Called-Identity-Change', + 'Called-Identity') -> + {0, 1}; +avp_arity('Called-Identity-Change', 'Change-Time') -> + {0, 1}; +avp_arity('Coverage-Info', 'Coverage-Status') -> {0, 1}; +avp_arity('Coverage-Info', 'Change-Time') -> {0, 1}; +avp_arity('Coverage-Info', 'Location-Info') -> {0, '*'}; +avp_arity('CPDT-Information', + 'Serving-Node-Identity') -> + {0, 1}; +avp_arity('CPDT-Information', 'SGW-Change') -> {0, 1}; +avp_arity('CPDT-Information', 'NIDD-Submission') -> + {0, 1}; +avp_arity('Current-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Current-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Current-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('Destination-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-TimeStamps') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('Early-Media-Description', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('Enhanced-Diagnostics', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Envelope', 'Envelope-Start-Time') -> 1; +avp_arity('Envelope', 'Envelope-End-Time') -> {0, 1}; +avp_arity('Envelope', 'CC-Total-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Input-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Output-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Event-Type', 'SIP-Method') -> {0, 1}; +avp_arity('Event-Type', 'Event') -> {0, 1}; +avp_arity('Event-Type', 'Expires') -> {0, 1}; +avp_arity('Incremental-Cost', 'Value-Digits') -> 1; +avp_arity('Incremental-Cost', 'Exponent') -> {0, 1}; +avp_arity('IMS-Information', 'Node-Functionality') -> 1; +avp_arity('IMS-Information', 'Event-Type') -> {0, 1}; +avp_arity('IMS-Information', 'Role-Of-Node') -> {0, 1}; +avp_arity('IMS-Information', 'User-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Outgoing-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Session-Priority') -> + {0, 1}; +avp_arity('IMS-Information', 'Calling-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Called-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Called-Asserted-Identity') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Called-Identity-Change') -> + {0, 1}; +avp_arity('IMS-Information', + 'Number-Portability-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Carrier-Select-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Alternate-Charged-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Requested-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Associated-URI') -> + {0, '*'}; +avp_arity('IMS-Information', 'Time-Stamps') -> {0, 1}; +avp_arity('IMS-Information', + 'Application-Server-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Inter-Operator-Identifier') -> + {0, '*'}; +avp_arity('IMS-Information', 'Transit-IOI-List') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('IMS-Information', 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Served-Party-IP-Address') -> + {0, 1}; +avp_arity('IMS-Information', 'Trunk-Group-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Bearer-Service') -> + {0, 1}; +avp_arity('IMS-Information', 'Service-Id') -> {0, 1}; +avp_arity('IMS-Information', 'Service-Specific-Info') -> + {0, '*'}; +avp_arity('IMS-Information', 'Message-Body') -> + {0, '*'}; +avp_arity('IMS-Information', 'Cause-Code') -> {0, 1}; +avp_arity('IMS-Information', 'Reason-Header') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Early-Media-Description') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Communication-Service-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Application-Reference-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'Online-Charging-Flag') -> + {0, 1}; +avp_arity('IMS-Information', + 'Real-Time-Tariff-Information') -> + {0, 1}; +avp_arity('IMS-Information', 'Account-Expiration') -> + {0, 1}; +avp_arity('IMS-Information', + 'Initial-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'NNI-Information') -> + {0, '*'}; +avp_arity('IMS-Information', 'From-Address') -> {0, 1}; +avp_arity('IMS-Information', + 'IMS-Emergency-Indicator') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Visited-Network-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Access-Network-Info-Change') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Transfer-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('IMS-Information', 'Route-Header-Received') -> + {0, 1}; +avp_arity('IMS-Information', + 'Route-Header-Transmitted') -> + {0, 1}; +avp_arity('IMS-Information', 'Instance-Id') -> {0, 1}; +avp_arity('IMS-Information', 'TAD-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'FE-Identifier-List') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Originating-IOI') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Terminating-IOI') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Location') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Value') -> {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Diagnostics') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Type') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-External-ID') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Dialed-By-MS') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Name') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-APN') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Requestor-ID') -> + {0, 1}; +avp_arity('LCS-Client-Name', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Name-String') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Format-Indicator') -> + {0, 1}; +avp_arity('LCS-Information', 'LCS-Client-ID') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Type') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Estimate') -> + {0, 1}; +avp_arity('LCS-Information', 'Positioning-Data') -> + {0, 1}; +avp_arity('LCS-Information', '3GPP-IMSI') -> {0, 1}; +avp_arity('LCS-Information', 'MSISDN') -> {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Requestor-ID-String') -> + {0, 1}; +avp_arity('Location-Info', '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Location-Info', 'Change-Time') -> {0, 1}; +avp_arity('Location-Type', 'Location-Estimate-Type') -> + {0, 1}; +avp_arity('Location-Type', + 'Deferred-Location-Event-Type') -> + {0, 1}; +avp_arity('MBMS-Information', 'TMGI') -> {0, 1}; +avp_arity('MBMS-Information', + 'MBMS-User-Service-Type') -> + {0, 1}; +avp_arity('MBMS-Information', + 'File-Repair-Supported') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-2G-3G-Indicator') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Service-Area') -> + {0, '*'}; +avp_arity('MBMS-Information', + 'MBMS-Session-Identity') -> + {0, 1}; +avp_arity('MBMS-Information', + 'CN-IP-Multicast-Distribution') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-GW-Address') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Charged-Party') -> + {0, 1}; +avp_arity('MBMS-Information', 'MSISDN') -> {0, '*'}; +avp_arity('Message-Body', 'Content-Type') -> 1; +avp_arity('Message-Body', 'Content-Length') -> 1; +avp_arity('Message-Body', 'Content-Disposition') -> + {0, 1}; +avp_arity('Message-Body', 'Originator') -> {0, 1}; +avp_arity('Message-Class', 'Class-Identifier') -> + {0, 1}; +avp_arity('Message-Class', 'Token-Text') -> {0, 1}; +avp_arity('MM-Content-Type', 'Type-Number') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('MM-Content-Type', 'Content-Size') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Content-Information') -> + {0, '*'}; +avp_arity('MMS-Information', 'Originator-Address') -> + {0, 1}; +avp_arity('MMS-Information', 'Recipient-Address') -> + {0, '*'}; +avp_arity('MMS-Information', 'Submission-Time') -> + {0, 1}; +avp_arity('MMS-Information', 'MM-Content-Type') -> + {0, 1}; +avp_arity('MMS-Information', 'Priority') -> {0, 1}; +avp_arity('MMS-Information', 'Message-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Type') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Size') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Class') -> {0, 1}; +avp_arity('MMS-Information', + 'Delivery-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'Read-Reply-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'MMBox-Storage-Requested') -> + {0, 1}; +avp_arity('MMS-Information', 'Applic-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Reply-Applic-ID') -> + {0, 1}; +avp_arity('MMS-Information', 'Aux-Applic-Info') -> + {0, 1}; +avp_arity('MMS-Information', 'Content-Class') -> {0, 1}; +avp_arity('MMS-Information', 'DRM-Content') -> {0, 1}; +avp_arity('MMS-Information', 'Adaptations') -> {0, 1}; +avp_arity('MMTel-Information', + 'Supplementary-Service') -> + {0, '*'}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Functionality') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Configuration-Activity') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Report-Data') -> + {0, '*'}; +avp_arity('Monitoring-Event-Report-Data', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Monitoring-Event-Report-Number') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Subscription-Id') -> + {0, 1}; +avp_arity('Next-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Next-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Next-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('NIDD-Submission', 'Submission-Time') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Event-Timestamp') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Change-Condition') -> + {0, 1}; +avp_arity('NNI-Information', 'Session-Direction') -> + {0, 1}; +avp_arity('NNI-Information', 'NNI-Type') -> {0, 1}; +avp_arity('NNI-Information', 'Relationship-Mode') -> + {0, 1}; +avp_arity('NNI-Information', + 'Neighbour-Node-Address') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Quota-Consumption-Time') -> + {0, 1}; +avp_arity('Offline-Charging', 'Time-Quota-Mechanism') -> + {0, 1}; +avp_arity('Offline-Charging', 'Envelope-Reporting') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Multiple-Services-Credit-Control') -> + {0, '*'}; +avp_arity('Offline-Charging', 'AVP') -> {0, '*'}; +avp_arity('Originator-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Participant-Group', + 'Called-Party-Address') -> + {0, 1}; +avp_arity('Participant-Group', + 'Participant-Access-Priority') -> + {0, 1}; +avp_arity('Participant-Group', + 'User-Participating-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Server-Role') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-User-Role') -> {0, 1}; +avp_arity('PoC-Information', + 'PoC-Session-Initiation-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Event-Type') -> + {0, 1}; +avp_arity('PoC-Information', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('PoC-Information', 'Participants-Involved') -> + {0, '*'}; +avp_arity('PoC-Information', 'Participant-Group') -> + {0, '*'}; +avp_arity('PoC-Information', 'Talk-Burst-Exchange') -> + {0, '*'}; +avp_arity('PoC-Information', + 'PoC-Controlling-Address') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Group-Name') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Id') -> + {0, 1}; +avp_arity('PoC-Information', 'Charged-Party') -> {0, 1}; +avp_arity('PoC-User-Role', 'PoC-User-Role-IDs') -> + {0, 1}; +avp_arity('PoC-User-Role', + 'PoC-User-Role-Info-Units') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Role-Of-ProSe-Function') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-3rd-Party-Application-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Application-Specific-Data') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Event-Type') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Discovery-Model') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Function-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Role-Of-UE') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Request-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requestor-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requested-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Range-Class') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Indication') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Cancellation-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Reason-For-Cancellation') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-EPC-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Layer-2-Group-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Group-IP-Multicast-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Coverage-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Radio-Parameter-Set-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Transmitter-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Time-First-Transmission') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Time-First-Reception') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Transmission-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Reception-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Announcing-PLMN-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Target-Layer-2-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Relay-IP-address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-UE-to-Network-Relay-UE-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Target-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC5-Radio-Technology') -> + {0, 1}; +avp_arity('PS-Furnish-Charging-Information', + '3GPP-Charging-Id') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Free-Format-Data') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Append-Free-Format-Data') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('PS-Information', + 'PDN-Connection-Charging-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Node-Id') -> {0, 1}; +avp_arity('PS-Information', '3GPP-PDP-Type') -> {0, 1}; +avp_arity('PS-Information', 'PDP-Address') -> {0, '*'}; +avp_arity('PS-Information', + 'PDP-Address-Prefix-Length') -> + {0, 1}; +avp_arity('PS-Information', 'Dynamic-Address-Flag') -> + {0, 1}; +avp_arity('PS-Information', + 'Dynamic-Address-Flag-Extension') -> + {0, 1}; +avp_arity('PS-Information', 'QoS-Information') -> + {0, 1}; +avp_arity('PS-Information', 'SGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'GGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TDF-IP-Address') -> + {0, '*'}; +avp_arity('PS-Information', 'SGW-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TWAG-Address') -> {0, '*'}; +avp_arity('PS-Information', 'CG-Address') -> {0, 1}; +avp_arity('PS-Information', 'Serving-Node-Type') -> + {0, 1}; +avp_arity('PS-Information', 'SGW-Change') -> {0, 1}; +avp_arity('PS-Information', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', + 'IMSI-Unauthenticated-Flag') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-GGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-NSAPI') -> {0, 1}; +avp_arity('PS-Information', 'Called-Station-Id') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Session-Stop-Indicator') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Characteristics-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'User-Location-Info-Time') -> + {0, 1}; +avp_arity('PS-Information', 'User-CSG-Information') -> + {0, 1}; +avp_arity('PS-Information', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('PS-Information', + 'TWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-RAT-Type') -> {0, 1}; +avp_arity('PS-Information', + 'PS-Furnish-Charging-Information') -> + {0, 1}; +avp_arity('PS-Information', 'PDP-Context-Type') -> + {0, 1}; +avp_arity('PS-Information', 'Offline-Charging') -> + {0, 1}; +avp_arity('PS-Information', 'Traffic-Data-Volumes') -> + {0, '*'}; +avp_arity('PS-Information', 'Service-Data-Container') -> + {0, '*'}; +avp_arity('PS-Information', 'User-Equipment-Info') -> + {0, 1}; +avp_arity('PS-Information', 'Start-Time') -> {0, 1}; +avp_arity('PS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('PS-Information', 'Change-Condition') -> + {0, 1}; +avp_arity('PS-Information', 'Diagnostics') -> {0, 1}; +avp_arity('PS-Information', 'Low-Priority-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Physical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', + 'Fixed-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'CN-Operator-Selection-Entity') -> + {0, 1}; +avp_arity('PS-Information', 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('PS-Information', + 'SGi-PtP-Tunnelling-Method') -> + {0, 1}; +avp_arity('PS-Information', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'UNI-PDU-CP-Only-Flag') -> + {0, 1}; +avp_arity('PS-Information', 'APN-Rate-Control') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Per-IP-CAN-Session-Indicator') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('PS-Information', 'SCS-AS-Address') -> {0, 1}; +avp_arity('PS-Information', 'Unused-Quota-Timer') -> + {0, 1}; +avp_arity('PS-Information', + 'RAN-Secondary-RAT-Usage-Report') -> + {0, '*'}; +avp_arity('PS-Information', 'AVP') -> {0, '*'}; +avp_arity('Radio-Parameter-Set-Info', + 'Radio-Parameter-Set-Values') -> + {0, 1}; +avp_arity('Radio-Parameter-Set-Info', 'Change-Time') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Secondary-RAT-Type') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Rate-Element', 'CC-Unit-Type') -> 1; +avp_arity('Rate-Element', 'Charge-Reason-Code') -> + {0, 1}; +avp_arity('Rate-Element', 'Unit-Value') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Cost') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Quota-Threshold') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-Information') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-XML') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Recipient-Address', 'Addressee-Type') -> + {0, 1}; +avp_arity('Recipient-Info', 'Destination-Interface') -> + {0, 1}; +avp_arity('Recipient-Info', 'Recipient-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', + 'Recipient-Received-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', 'Recipient-SCCP-Address') -> + {0, 1}; +avp_arity('Recipient-Info', 'SM-Protocol-ID') -> {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'SGSN-Address') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Related-Change-Condition-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Related-Trigger', 'Trigger-Type') -> + {0, '*'}; +avp_arity('Remaining-Balance', 'Unit-Value') -> 1; +avp_arity('Remaining-Balance', 'Currency-Code') -> 1; +avp_arity('Scale-Factor', 'Value-Digits') -> 1; +avp_arity('Scale-Factor', 'Exponent') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Realm') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Address') -> {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Media-Name') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'SDP-Media-Description') -> + {0, '*'}; +avp_arity('SDP-Media-Component', + 'Local-GW-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'IP-Realm-Default-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Transcoder-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Flag') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Party') -> + {0, 1}; +avp_arity('SDP-Media-Component', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Access-Network-Charging-Identifier-Value') -> + {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Type') -> {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Offer-Timestamp') -> + {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Answer-Timestamp') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'AF-Correlation-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'QoS-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Rating-Group') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Change-Time') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Specific-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', 'SGSN-Address') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-First-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-Last-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Time-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Service-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'APN-Rate-Control') -> + {0, 1}; +avp_arity('Service-Data-Container', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('Service-Information', 'Subscription-Id') -> + {0, '*'}; +avp_arity('Service-Information', 'AoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'IMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'LCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MBMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'SMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'VCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMTel-Information') -> + {0, 1}; +avp_arity('Service-Information', 'ProSe-Information') -> + {0, 1}; +avp_arity('Service-Information', 'CPDT-Information') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Data') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Type') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'Validity-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Node') -> {0, 1}; +avp_arity('SMS-Information', 'Client-Address') -> + {0, 1}; +avp_arity('SMS-Information', + 'Originator-SCCP-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SMSC-Address') -> {0, 1}; +avp_arity('SMS-Information', 'Data-Coding-Scheme') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Discharge-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Message-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'Originator-Interface') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Protocol-ID') -> + {0, 1}; +avp_arity('SMS-Information', 'Reply-Path-Requested') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Status') -> {0, 1}; +avp_arity('SMS-Information', 'SM-User-Data-Header') -> + {0, 1}; +avp_arity('SMS-Information', + 'Number-Of-Messages-Sent') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Sequence-Number') -> + {0, 1}; +avp_arity('SMS-Information', 'Recipient-Info') -> + {0, '*'}; +avp_arity('SMS-Information', + 'Originator-Received-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Service-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Result') -> {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Indicator') -> + {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Information') -> + {0, 1}; +avp_arity('SMS-Information', 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'MMTel-SService-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Mode') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Diversions') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Associated-Party-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Id') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Change-Time') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Participant-Action-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'CUG-Information') -> + {0, 1}; +avp_arity('Supplementary-Service', 'AoC-Information') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'PoC-Change-Time') -> + 1; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Received-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'PoC-Change-Condition') -> + {0, 1}; +avp_arity('Tariff-Information', 'Current-Tariff') -> 1; +avp_arity('Tariff-Information', 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Tariff-Information', 'Next-Tariff') -> + {0, 1}; +avp_arity('Time-Quota-Mechanism', 'Time-Quota-Type') -> + 1; +avp_arity('Time-Quota-Mechanism', + 'Base-Time-Interval') -> + 1; +avp_arity('Time-Stamps', 'SIP-Request-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', 'SIP-Response-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Request-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Response-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'QoS-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Condition') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Time') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('Transmitter-Info', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('Transmitter-Info', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('Trigger', 'Trigger-Type') -> {0, '*'}; +avp_arity('Trunk-Group-Id', + 'Incoming-Trunk-Group-Id') -> + {0, 1}; +avp_arity('Trunk-Group-Id', + 'Outgoing-Trunk-Group-Id') -> + {0, 1}; +avp_arity('TWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Unit-Cost', 'Value-Digits') -> 1; +avp_arity('Unit-Cost', 'Exponent') -> {0, 1}; +avp_arity('User-CSG-Information', 'CSG-Access-Mode') -> + 1; +avp_arity('User-CSG-Information', + 'CSG-Membership-Indication') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', + 'UE-Local-IP-Address') -> + 1; +avp_arity('UWAN-User-Location-Info', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Variable-Part', 'Variable-Part-Type') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Value') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Order') -> + {0, 1}; +avp_arity('VCS-Information', 'Bearer-Capability') -> + {0, 1}; +avp_arity('VCS-Information', + 'Network-Call-Reference-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'MSC-Address') -> {0, 1}; +avp_arity('VCS-Information', 'Basic-Service-Code') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Location-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'VLR-Number') -> {0, 1}; +avp_arity('VCS-Information', 'Forwarding-Pending') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Cause') -> {0, 1}; +avp_arity('VCS-Information', 'Start-Time') -> {0, 1}; +avp_arity('VCS-Information', 'Start-of-Charging') -> + {0, 1}; +avp_arity('VCS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('VCS-Information', 'PS-Free-Format-Data') -> + {0, 1}; +avp_arity('Cost-Information', 'Unit-Value') -> 1; +avp_arity('Cost-Information', 'Currency-Code') -> 1; +avp_arity('Cost-Information', 'Cost-Unit') -> {0, 1}; +avp_arity('Unit-Value', 'Value-Digits') -> 1; +avp_arity('Unit-Value', 'Exponent') -> {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Granted-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Requested-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Used-Service-Unit') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Service-Identifier') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Rating-Group') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'G-S-U-Pool-Reference') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Validity-Time') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Result-Code') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', 'AVP') -> + {0, '*'}; +avp_arity('Granted-Service-Unit', + 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Requested-Service-Unit', 'CC-Time') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'CC-Money') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Used-Service-Unit', 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('CC-Money', 'Unit-Value') -> 1; +avp_arity('CC-Money', 'Currency-Code') -> {0, 1}; +avp_arity('G-S-U-Pool-Reference', + 'G-S-U-Pool-Identifier') -> + 1; +avp_arity('G-S-U-Pool-Reference', 'CC-Unit-Type') -> 1; +avp_arity('G-S-U-Pool-Reference', 'Unit-Value') -> 1; +avp_arity('Final-Unit-Indication', + 'Final-Unit-Action') -> + 1; +avp_arity('Final-Unit-Indication', + 'Restriction-Filter-Rule') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Filter-Id') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Redirect-Server') -> + {0, 1}; +avp_arity('Redirect-Server', 'Redirect-Address-Type') -> + 1; +avp_arity('Redirect-Server', + 'Redirect-Server-Address') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Type') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Value') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Type') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Data') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Type') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Value') -> + 1; +avp_arity('MIP6-Agent-Info', + 'MIP-Home-Agent-Address') -> + {0, 2}; +avp_arity('MIP6-Agent-Info', 'MIP-Home-Agent-Host') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'MIP6-Home-Link-Prefix') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'AVP') -> {0, '*'}; +avp_arity('OC-Supported-Features', + 'OC-Feature-Vector') -> + {0, 1}; +avp_arity('OC-Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('OC-OLR', 'OC-Sequence-Number') -> 1; +avp_arity('OC-OLR', 'OC-Report-Type') -> 1; +avp_arity('OC-OLR', 'OC-Reduction-Percentage') -> + {0, 1}; +avp_arity('OC-OLR', 'OC-Validity-Duration') -> {0, 1}; +avp_arity('OC-OLR', 'AVP') -> {0, '*'}; +avp_arity('Load', 'Load-Type') -> {0, 1}; +avp_arity('Load', 'Load-Value') -> {0, 1}; +avp_arity('Load', 'SourceID') -> {0, 1}; +avp_arity('Load', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header('APN-OI-Replacement') -> + diameter_3gpp_break_circles:avp_header('APN-OI-Replacement'); +avp_header('Emergency-Info') -> + diameter_3gpp_break_circles:avp_header('Emergency-Info'); +avp_header('GMLC-Number') -> + diameter_3gpp_break_circles:avp_header('GMLC-Number'); +avp_header('SGSN-Number') -> + diameter_3gpp_break_circles:avp_header('SGSN-Number'); +avp_header('AN-GW-Address') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Address'); +avp_header('AN-GW-Status') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Status'); +avp_header('APN-Aggregate-Max-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-DL'); +avp_header('APN-Aggregate-Max-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-UL'); +avp_header('Access-Network-Charging-Identifier-Gx') -> + diameter_3gpp_ts29_212:avp_header('Access-Network-Charging-Identifier-Gx'); +avp_header('Allocation-Retention-Priority') -> + diameter_3gpp_ts29_212:avp_header('Allocation-Retention-Priority'); +avp_header('Application-Detection-Information') -> + diameter_3gpp_ts29_212:avp_header('Application-Detection-Information'); +avp_header('Bearer-Control-Mode') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Control-Mode'); +avp_header('Bearer-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Identifier'); +avp_header('Bearer-Operation') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Operation'); +avp_header('Bearer-Usage') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Usage'); +avp_header('CSG-Information-Reporting') -> + diameter_3gpp_ts29_212:avp_header('CSG-Information-Reporting'); +avp_header('Charging-Correlation-Indicator') -> + diameter_3gpp_ts29_212:avp_header('Charging-Correlation-Indicator'); +avp_header('Charging-Rule-Base-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Base-Name'); +avp_header('Charging-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Definition'); +avp_header('Charging-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Install'); +avp_header('Charging-Rule-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Name'); +avp_header('Charging-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Remove'); +avp_header('Charging-Rule-Report') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Report'); +avp_header('CoA-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('CoA-IP-Address'); +avp_header('CoA-Information') -> + diameter_3gpp_ts29_212:avp_header('CoA-Information'); +avp_header('Conditional-APN-Aggregate-Max-Bitrate') -> + diameter_3gpp_ts29_212:avp_header('Conditional-APN-Aggregate-Max-Bitrate'); +avp_header('Credit-Management-Status') -> + diameter_3gpp_ts29_212:avp_header('Credit-Management-Status'); +avp_header('Default-EPS-Bearer-QoS') -> + diameter_3gpp_ts29_212:avp_header('Default-EPS-Bearer-QoS'); +avp_header('Default-QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Information'); +avp_header('Default-QoS-Name') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Name'); +avp_header('Event-Report-Indication') -> + diameter_3gpp_ts29_212:avp_header('Event-Report-Indication'); +avp_header('Event-Trigger') -> + diameter_3gpp_ts29_212:avp_header('Event-Trigger'); +avp_header('Fixed-User-Location-Info') -> + diameter_3gpp_ts29_212:avp_header('Fixed-User-Location-Info'); +avp_header('Flow-Direction') -> + diameter_3gpp_ts29_212:avp_header('Flow-Direction'); +avp_header('Flow-Information') -> + diameter_3gpp_ts29_212:avp_header('Flow-Information'); +avp_header('Flow-Label') -> + diameter_3gpp_ts29_212:avp_header('Flow-Label'); +avp_header('Guaranteed-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-DL'); +avp_header('Guaranteed-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-UL'); +avp_header('HeNB-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('HeNB-Local-IP-Address'); +avp_header('IP-CAN-Session-Charging-Scope') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Session-Charging-Scope'); +avp_header('IP-CAN-Type') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Type'); +avp_header('Metering-Method') -> + diameter_3gpp_ts29_212:avp_header('Metering-Method'); +avp_header('Monitoring-Key') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Key'); +avp_header('Monitoring-Time') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Time'); +avp_header('Mute-Notification') -> + diameter_3gpp_ts29_212:avp_header('Mute-Notification'); +avp_header('NetLoc-Access-Support') -> + diameter_3gpp_ts29_212:avp_header('NetLoc-Access-Support'); +avp_header('Network-Request-Support') -> + diameter_3gpp_ts29_212:avp_header('Network-Request-Support'); +avp_header('Offline') -> + diameter_3gpp_ts29_212:avp_header('Offline'); +avp_header('Online') -> + diameter_3gpp_ts29_212:avp_header('Online'); +avp_header('PCC-Rule-Status') -> + diameter_3gpp_ts29_212:avp_header('PCC-Rule-Status'); +avp_header('PCSCF-Restoration-Indication') -> + diameter_3gpp_ts29_212:avp_header('PCSCF-Restoration-Indication'); +avp_header('PDN-Connection-ID') -> + diameter_3gpp_ts29_212:avp_header('PDN-Connection-ID'); +avp_header('PS-to-CS-Session-Continuity') -> + diameter_3gpp_ts29_212:avp_header('PS-to-CS-Session-Continuity'); +avp_header('Packet-Filter-Content') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Content'); +avp_header('Packet-Filter-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Identifier'); +avp_header('Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Information'); +avp_header('Packet-Filter-Operation') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Operation'); +avp_header('Packet-Filter-Usage') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Usage'); +avp_header('Pre-emption-Capability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Capability'); +avp_header('Pre-emption-Vulnerability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Vulnerability'); +avp_header('Precedence') -> + diameter_3gpp_ts29_212:avp_header('Precedence'); +avp_header('Presence-Reporting-Area-Elements-List') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Elements-List'); +avp_header('Presence-Reporting-Area-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Identifier'); +avp_header('Presence-Reporting-Area-Information') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Information'); +avp_header('Presence-Reporting-Area-Status') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Status'); +avp_header('Priority-Level') -> + diameter_3gpp_ts29_212:avp_header('Priority-Level'); +avp_header('QoS-Class-Identifier') -> + diameter_3gpp_ts29_212:avp_header('QoS-Class-Identifier'); +avp_header('QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('QoS-Information'); +avp_header('QoS-Negotiation') -> + diameter_3gpp_ts29_212:avp_header('QoS-Negotiation'); +avp_header('QoS-Upgrade') -> + diameter_3gpp_ts29_212:avp_header('QoS-Upgrade'); +avp_header('RAN-NAS-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('RAN-NAS-Release-Cause'); +avp_header('RAT-Type') -> + diameter_3gpp_ts29_212:avp_header('RAT-Type'); +avp_header('Redirect-Information') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Information'); +avp_header('Redirect-Support') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Support'); +avp_header('Reporting-Level') -> + diameter_3gpp_ts29_212:avp_header('Reporting-Level'); +avp_header('Resource-Allocation-Notification') -> + diameter_3gpp_ts29_212:avp_header('Resource-Allocation-Notification'); +avp_header('Revalidation-Time') -> + diameter_3gpp_ts29_212:avp_header('Revalidation-Time'); +avp_header('Routing-Filter') -> + diameter_3gpp_ts29_212:avp_header('Routing-Filter'); +avp_header('Routing-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('Routing-IP-Address'); +avp_header('Routing-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Definition'); +avp_header('Routing-Rule-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Identifier'); +avp_header('Routing-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Install'); +avp_header('Routing-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Remove'); +avp_header('Rule-Activation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Activation-Time'); +avp_header('Rule-Deactivation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Deactivation-Time'); +avp_header('Rule-Failure-Code') -> + diameter_3gpp_ts29_212:avp_header('Rule-Failure-Code'); +avp_header('Security-Parameter-Index') -> + diameter_3gpp_ts29_212:avp_header('Security-Parameter-Index'); +avp_header('Session-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('Session-Release-Cause'); +avp_header('TDF-Application-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Identifier'); +avp_header('TDF-Application-Instance-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Instance-Identifier'); +avp_header('TDF-Destination-Host') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Host'); +avp_header('TDF-Destination-Realm') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Realm'); +avp_header('TDF-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('TDF-IP-Address'); +avp_header('TDF-Information') -> + diameter_3gpp_ts29_212:avp_header('TDF-Information'); +avp_header('TFT-Filter') -> + diameter_3gpp_ts29_212:avp_header('TFT-Filter'); +avp_header('TFT-Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('TFT-Packet-Filter-Information'); +avp_header('ToS-Traffic-Class') -> + diameter_3gpp_ts29_212:avp_header('ToS-Traffic-Class'); +avp_header('Tunnel-Header-Filter') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Filter'); +avp_header('Tunnel-Header-Length') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Length'); +avp_header('Tunnel-Information') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Information'); +avp_header('UDP-Source-Port') -> + diameter_3gpp_ts29_212:avp_header('UDP-Source-Port'); +avp_header('UE-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('UE-Local-IP-Address'); +avp_header('Usage-Monitoring-Information') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Information'); +avp_header('Usage-Monitoring-Level') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Level'); +avp_header('Usage-Monitoring-Report') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Report'); +avp_header('Usage-Monitoring-Support') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Support'); +avp_header('User-Location-Info-Time') -> + diameter_3gpp_ts29_212:avp_header('User-Location-Info-Time'); +avp_header('AF-Application-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Application-Identifier'); +avp_header('AF-Charging-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Charging-Identifier'); +avp_header('AF-Signalling-Protocol') -> + diameter_3gpp_ts29_214:avp_header('AF-Signalling-Protocol'); +avp_header('Abort-Cause') -> + diameter_3gpp_ts29_214:avp_header('Abort-Cause'); +avp_header('Access-Network-Charging-Address') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Address'); +avp_header('Access-Network-Charging-Identifier-Value') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Identifier-Value'); +avp_header('Application-Service-Provider-Identity') -> + diameter_3gpp_ts29_214:avp_header('Application-Service-Provider-Identity'); +avp_header('Codec-Data') -> + diameter_3gpp_ts29_214:avp_header('Codec-Data'); +avp_header('Flow-Description') -> + diameter_3gpp_ts29_214:avp_header('Flow-Description'); +avp_header('Flow-Number') -> + diameter_3gpp_ts29_214:avp_header('Flow-Number'); +avp_header('Flow-Status') -> + diameter_3gpp_ts29_214:avp_header('Flow-Status'); +avp_header('Flow-Usage') -> + diameter_3gpp_ts29_214:avp_header('Flow-Usage'); +avp_header('Flows') -> + diameter_3gpp_ts29_214:avp_header('Flows'); +avp_header('GCS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('GCS-Identifier'); +avp_header('IP-Domain-Id') -> + diameter_3gpp_ts29_214:avp_header('IP-Domain-Id'); +avp_header('MPS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('MPS-Identifier'); +avp_header('Max-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-DL'); +avp_header('Max-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-UL'); +avp_header('Media-Component-Number') -> + diameter_3gpp_ts29_214:avp_header('Media-Component-Number'); +avp_header('Media-Type') -> + diameter_3gpp_ts29_214:avp_header('Media-Type'); +avp_header('Min-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-DL'); +avp_header('Min-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-UL'); +avp_header('RR-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RR-Bandwidth'); +avp_header('RS-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RS-Bandwidth'); +avp_header('Required-Access-Info') -> + diameter_3gpp_ts29_214:avp_header('Required-Access-Info'); +avp_header('Rx-Request-Type') -> + diameter_3gpp_ts29_214:avp_header('Rx-Request-Type'); +avp_header('SIP-Forking-Indication') -> + diameter_3gpp_ts29_214:avp_header('SIP-Forking-Indication'); +avp_header('Service-Info-Status') -> + diameter_3gpp_ts29_214:avp_header('Service-Info-Status'); +avp_header('Service-URN') -> + diameter_3gpp_ts29_214:avp_header('Service-URN'); +avp_header('Specific-Action') -> + diameter_3gpp_ts29_214:avp_header('Specific-Action'); +avp_header('Sponsor-Identity') -> + diameter_3gpp_ts29_214:avp_header('Sponsor-Identity'); +avp_header('Call-ID-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('Call-ID-SIP-Header'); +avp_header('Charging-Information') -> + diameter_3gpp_ts29_229:avp_header('Charging-Information'); +avp_header('Confidentiality-Key') -> + diameter_3gpp_ts29_229:avp_header('Confidentiality-Key'); +avp_header('Contact') -> + diameter_3gpp_ts29_229:avp_header('Contact'); +avp_header('Deregistration-Reason') -> + diameter_3gpp_ts29_229:avp_header('Deregistration-Reason'); +avp_header('Digest-Algorithm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Algorithm'); +avp_header('Digest-HA1') -> + diameter_3gpp_ts29_229:avp_header('Digest-HA1'); +avp_header('Digest-QoP') -> + diameter_3gpp_ts29_229:avp_header('Digest-QoP'); +avp_header('Digest-Realm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Realm'); +avp_header('Feature-List') -> + diameter_3gpp_ts29_229:avp_header('Feature-List'); +avp_header('Feature-List-ID') -> + diameter_3gpp_ts29_229:avp_header('Feature-List-ID'); +avp_header('From-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('From-SIP-Header'); +avp_header('Initial-CSeq-Sequence-Number') -> + diameter_3gpp_ts29_229:avp_header('Initial-CSeq-Sequence-Number'); +avp_header('Integrity-Key') -> + diameter_3gpp_ts29_229:avp_header('Integrity-Key'); +avp_header('LIA-Flags') -> + diameter_3gpp_ts29_229:avp_header('LIA-Flags'); +avp_header('Loose-Route-Indication') -> + diameter_3gpp_ts29_229:avp_header('Loose-Route-Indication'); +avp_header('Mandatory-Capability') -> + diameter_3gpp_ts29_229:avp_header('Mandatory-Capability'); +avp_header('Multiple-Registration-Indication') -> + diameter_3gpp_ts29_229:avp_header('Multiple-Registration-Indication'); +avp_header('Optional-Capability') -> + diameter_3gpp_ts29_229:avp_header('Optional-Capability'); +avp_header('Originating-Request') -> + diameter_3gpp_ts29_229:avp_header('Originating-Request'); +avp_header('Path') -> + diameter_3gpp_ts29_229:avp_header('Path'); +avp_header('Primary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Charging-Collection-Function-Name'); +avp_header('Primary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Event-Charging-Function-Name'); +avp_header('Priviledged-Sender-Indication') -> + diameter_3gpp_ts29_229:avp_header('Priviledged-Sender-Indication'); +avp_header('Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Public-Identity'); +avp_header('Reason-Code') -> + diameter_3gpp_ts29_229:avp_header('Reason-Code'); +avp_header('Reason-Info') -> + diameter_3gpp_ts29_229:avp_header('Reason-Info'); +avp_header('Record-Route') -> + diameter_3gpp_ts29_229:avp_header('Record-Route'); +avp_header('SAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('SAR-Flags'); +avp_header('SIP-Auth-Data-Item') -> + diameter_3gpp_ts29_229:avp_header('SIP-Auth-Data-Item'); +avp_header('SIP-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authenticate'); +avp_header('SIP-Authentication-Context') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Context'); +avp_header('SIP-Authentication-Scheme') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Scheme'); +avp_header('SIP-Authorization') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authorization'); +avp_header('SIP-Digest-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Digest-Authenticate'); +avp_header('SIP-Item-Number') -> + diameter_3gpp_ts29_229:avp_header('SIP-Item-Number'); +avp_header('SIP-Number-Auth-Items') -> + diameter_3gpp_ts29_229:avp_header('SIP-Number-Auth-Items'); +avp_header('Secondary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Charging-Collection-Function-Name'); +avp_header('Secondary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Event-Charging-Function-Name'); +avp_header('Server-Assignment-Type') -> + diameter_3gpp_ts29_229:avp_header('Server-Assignment-Type'); +avp_header('Server-Name') -> + diameter_3gpp_ts29_229:avp_header('Server-Name'); +avp_header('Session-Priority') -> + diameter_3gpp_ts29_229:avp_header('Session-Priority'); +avp_header('Supported-Applications') -> + diameter_3gpp_ts29_229:avp_header('Supported-Applications'); +avp_header('Supported-Features') -> + diameter_3gpp_ts29_229:avp_header('Supported-Features'); +avp_header('To-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('To-SIP-Header'); +avp_header('UAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('UAR-Flags'); +avp_header('User-Authorization-Type') -> + diameter_3gpp_ts29_229:avp_header('User-Authorization-Type'); +avp_header('User-Data') -> + diameter_3gpp_ts29_229:avp_header('User-Data'); +avp_header('User-Data-Already-Available') -> + diameter_3gpp_ts29_229:avp_header('User-Data-Already-Available'); +avp_header('Visited-Network-Identifier') -> + diameter_3gpp_ts29_229:avp_header('Visited-Network-Identifier'); +avp_header('Wildcarded-Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Wildcarded-Public-Identity'); +avp_header('3GPP2-MEID') -> + diameter_3gpp_ts29_272:avp_header('3GPP2-MEID'); +avp_header('A-MSISDN') -> + diameter_3gpp_ts29_272:avp_header('A-MSISDN'); +avp_header('AMBR') -> + diameter_3gpp_ts29_272:avp_header('AMBR'); +avp_header('APN-Configuration') -> + diameter_3gpp_ts29_272:avp_header('APN-Configuration'); +avp_header('APN-Configuration-Profile') -> + diameter_3gpp_ts29_272:avp_header('APN-Configuration-Profile'); +avp_header('AUTN') -> + diameter_3gpp_ts29_272:avp_header('AUTN'); +avp_header('Access-Restriction-Data') -> + diameter_3gpp_ts29_272:avp_header('Access-Restriction-Data'); +avp_header('Active-APN') -> + diameter_3gpp_ts29_272:avp_header('Active-APN'); +avp_header('Age-Of-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('Age-Of-Location-Information'); +avp_header('Alert-Reason') -> + diameter_3gpp_ts29_272:avp_header('Alert-Reason'); +avp_header('All-APN-Configurations-Included-Indicator') -> + diameter_3gpp_ts29_272:avp_header('All-APN-Configurations-Included-Indicator'); +avp_header('Area-Scope') -> + diameter_3gpp_ts29_272:avp_header('Area-Scope'); +avp_header('Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Authentication-Info'); +avp_header('CLR-Flags') -> + diameter_3gpp_ts29_272:avp_header('CLR-Flags'); +avp_header('CSG-Id') -> + diameter_3gpp_ts29_272:avp_header('CSG-Id'); +avp_header('CSG-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('CSG-Subscription-Data'); +avp_header('Call-Barring-Info') -> + diameter_3gpp_ts29_272:avp_header('Call-Barring-Info'); +avp_header('Cancellation-Type') -> + diameter_3gpp_ts29_272:avp_header('Cancellation-Type'); +avp_header('Cell-Global-Identity') -> + diameter_3gpp_ts29_272:avp_header('Cell-Global-Identity'); +avp_header('Client-Identity') -> + diameter_3gpp_ts29_272:avp_header('Client-Identity'); +avp_header('Collection-Period-RRM-LTE') -> + diameter_3gpp_ts29_272:avp_header('Collection-Period-RRM-LTE'); +avp_header('Collection-Period-RRM-UMTS') -> + diameter_3gpp_ts29_272:avp_header('Collection-Period-RRM-UMTS'); +avp_header('Complete-Data-List-Included-Indicator') -> + diameter_3gpp_ts29_272:avp_header('Complete-Data-List-Included-Indicator'); +avp_header('Context-Identifier') -> + diameter_3gpp_ts29_272:avp_header('Context-Identifier'); +avp_header('Core-Network-Restrictions') -> + diameter_3gpp_ts29_272:avp_header('Core-Network-Restrictions'); +avp_header('Current-Location-Retrieved') -> + diameter_3gpp_ts29_272:avp_header('Current-Location-Retrieved'); +avp_header('DSA-Flags') -> + diameter_3gpp_ts29_272:avp_header('DSA-Flags'); +avp_header('DSR-Flags') -> + diameter_3gpp_ts29_272:avp_header('DSR-Flags'); +avp_header('Daylight-Saving-Time') -> + diameter_3gpp_ts29_272:avp_header('Daylight-Saving-Time'); +avp_header('E-UTRAN-Cell-Global-Identity') -> + diameter_3gpp_ts29_272:avp_header('E-UTRAN-Cell-Global-Identity'); +avp_header('E-UTRAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('E-UTRAN-Vector'); +avp_header('EPS-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('EPS-Location-Information'); +avp_header('EPS-Subscribed-QoS-Profile') -> + diameter_3gpp_ts29_272:avp_header('EPS-Subscribed-QoS-Profile'); +avp_header('EPS-User-State') -> + diameter_3gpp_ts29_272:avp_header('EPS-User-State'); +avp_header('Equipment-Status') -> + diameter_3gpp_ts29_272:avp_header('Equipment-Status'); +avp_header('Equivalent-PLMN-List') -> + diameter_3gpp_ts29_272:avp_header('Equivalent-PLMN-List'); +avp_header('Error-Diagnostic') -> + diameter_3gpp_ts29_272:avp_header('Error-Diagnostic'); +avp_header('Event-Threshold-Event-1F') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-Event-1F'); +avp_header('Event-Threshold-Event-1I') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-Event-1I'); +avp_header('Event-Threshold-RSRP') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-RSRP'); +avp_header('Event-Threshold-RSRQ') -> + diameter_3gpp_ts29_272:avp_header('Event-Threshold-RSRQ'); +avp_header('Expiration-Date') -> + diameter_3gpp_ts29_272:avp_header('Expiration-Date'); +avp_header('Ext-PDP-Address') -> + diameter_3gpp_ts29_272:avp_header('Ext-PDP-Address'); +avp_header('Ext-PDP-Type') -> + diameter_3gpp_ts29_272:avp_header('Ext-PDP-Type'); +avp_header('External-Client') -> + diameter_3gpp_ts29_272:avp_header('External-Client'); +avp_header('GERAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('GERAN-Vector'); +avp_header('GMLC-Restriction') -> + diameter_3gpp_ts29_272:avp_header('GMLC-Restriction'); +avp_header('GPRS-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('GPRS-Subscription-Data'); +avp_header('Geodetic-Information') -> + diameter_3gpp_ts29_272:avp_header('Geodetic-Information'); +avp_header('Geographical-Information') -> + diameter_3gpp_ts29_272:avp_header('Geographical-Information'); +avp_header('HPLMN-ODB') -> + diameter_3gpp_ts29_272:avp_header('HPLMN-ODB'); +avp_header('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions') -> + diameter_3gpp_ts29_272:avp_header('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions'); +avp_header('ICS-Indicator') -> + diameter_3gpp_ts29_272:avp_header('ICS-Indicator'); +avp_header('IDA-Flags') -> + diameter_3gpp_ts29_272:avp_header('IDA-Flags'); +avp_header('IDR-Flags') -> + diameter_3gpp_ts29_272:avp_header('IDR-Flags'); +avp_header('IMEI') -> + diameter_3gpp_ts29_272:avp_header('IMEI'); +avp_header('IMS-Voice-Over-PS-Sessions-Supported') -> + diameter_3gpp_ts29_272:avp_header('IMS-Voice-Over-PS-Sessions-Supported'); +avp_header('Immediate-Response-Preferred') -> + diameter_3gpp_ts29_272:avp_header('Immediate-Response-Preferred'); +avp_header('Item-Number') -> + diameter_3gpp_ts29_272:avp_header('Item-Number'); +avp_header('Job-Type') -> + diameter_3gpp_ts29_272:avp_header('Job-Type'); +avp_header('KASME') -> + diameter_3gpp_ts29_272:avp_header('KASME'); +avp_header('Kc') -> + diameter_3gpp_ts29_272:avp_header('Kc'); +avp_header('LCS-Info') -> + diameter_3gpp_ts29_272:avp_header('LCS-Info'); +avp_header('LCS-PrivacyException') -> + diameter_3gpp_ts29_272:avp_header('LCS-PrivacyException'); +avp_header('LIPA-Permission') -> + diameter_3gpp_ts29_272:avp_header('LIPA-Permission'); +avp_header('Last-UE-Activity-Time') -> + diameter_3gpp_ts29_272:avp_header('Last-UE-Activity-Time'); +avp_header('List-Of-Measurements') -> + diameter_3gpp_ts29_272:avp_header('List-Of-Measurements'); +avp_header('Local-Time-Zone') -> + diameter_3gpp_ts29_272:avp_header('Local-Time-Zone'); +avp_header('Location-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Location-Area-Identity'); +avp_header('Logging-Duration') -> + diameter_3gpp_ts29_272:avp_header('Logging-Duration'); +avp_header('Logging-Interval') -> + diameter_3gpp_ts29_272:avp_header('Logging-Interval'); +avp_header('MDT-Configuration') -> + diameter_3gpp_ts29_272:avp_header('MDT-Configuration'); +avp_header('MDT-User-Consent') -> + diameter_3gpp_ts29_272:avp_header('MDT-User-Consent'); +avp_header('MME-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('MME-Location-Information'); +avp_header('MME-Number-for-MT-SMS') -> + diameter_3gpp_ts29_272:avp_header('MME-Number-for-MT-SMS'); +avp_header('MME-User-State') -> + diameter_3gpp_ts29_272:avp_header('MME-User-State'); +avp_header('MO-LR') -> + diameter_3gpp_ts29_272:avp_header('MO-LR'); +avp_header('MPS-Priority') -> + diameter_3gpp_ts29_272:avp_header('MPS-Priority'); +avp_header('Measurement-Period-LTE') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Period-LTE'); +avp_header('Measurement-Period-UMTS') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Period-UMTS'); +avp_header('Measurement-Quantity') -> + diameter_3gpp_ts29_272:avp_header('Measurement-Quantity'); +avp_header('NOR-Flags') -> + diameter_3gpp_ts29_272:avp_header('NOR-Flags'); +avp_header('Network-Access-Mode') -> + diameter_3gpp_ts29_272:avp_header('Network-Access-Mode'); +avp_header('Notification-To-UE-User') -> + diameter_3gpp_ts29_272:avp_header('Notification-To-UE-User'); +avp_header('Number-Of-Requested-Vectors') -> + diameter_3gpp_ts29_272:avp_header('Number-Of-Requested-Vectors'); +avp_header('OMC-Id') -> + diameter_3gpp_ts29_272:avp_header('OMC-Id'); +avp_header('Operator-Determined-Barring') -> + diameter_3gpp_ts29_272:avp_header('Operator-Determined-Barring'); +avp_header('PDN-GW-Allocation-Type') -> + diameter_3gpp_ts29_272:avp_header('PDN-GW-Allocation-Type'); +avp_header('PDN-Type') -> + diameter_3gpp_ts29_272:avp_header('PDN-Type'); +avp_header('PDP-Context') -> + diameter_3gpp_ts29_272:avp_header('PDP-Context'); +avp_header('PDP-Type') -> + diameter_3gpp_ts29_272:avp_header('PDP-Type'); +avp_header('PLMN-Client') -> + diameter_3gpp_ts29_272:avp_header('PLMN-Client'); +avp_header('PUA-Flags') -> + diameter_3gpp_ts29_272:avp_header('PUA-Flags'); +avp_header('PUR-Flags') -> + diameter_3gpp_ts29_272:avp_header('PUR-Flags'); +avp_header('Positioning-Method') -> + diameter_3gpp_ts29_272:avp_header('Positioning-Method'); +avp_header('QoS-Subscribed') -> + diameter_3gpp_ts29_272:avp_header('QoS-Subscribed'); +avp_header('RAND') -> + diameter_3gpp_ts29_272:avp_header('RAND'); +avp_header('RAT-Frequency-Selection-Priority-ID') -> + diameter_3gpp_ts29_272:avp_header('RAT-Frequency-Selection-Priority-ID'); +avp_header('Re-Synchronization-Info') -> + diameter_3gpp_ts29_272:avp_header('Re-Synchronization-Info'); +avp_header('Regional-Subscription-Zone-Code') -> + diameter_3gpp_ts29_272:avp_header('Regional-Subscription-Zone-Code'); +avp_header('Relay-Node-Indicator') -> + diameter_3gpp_ts29_272:avp_header('Relay-Node-Indicator'); +avp_header('Report-Amount') -> + diameter_3gpp_ts29_272:avp_header('Report-Amount'); +avp_header('Report-Interval') -> + diameter_3gpp_ts29_272:avp_header('Report-Interval'); +avp_header('Reporting-Trigger') -> + diameter_3gpp_ts29_272:avp_header('Reporting-Trigger'); +avp_header('Requested-EUTRAN-Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Requested-EUTRAN-Authentication-Info'); +avp_header('Requested-UTRAN-GERAN-Authentication-Info') -> + diameter_3gpp_ts29_272:avp_header('Requested-UTRAN-GERAN-Authentication-Info'); +avp_header('Restoration-Priority') -> + diameter_3gpp_ts29_272:avp_header('Restoration-Priority'); +avp_header('Roaming-Restricted-Due-To-Unsupported-Feature') -> + diameter_3gpp_ts29_272:avp_header('Roaming-Restricted-Due-To-Unsupported-Feature'); +avp_header('Routing-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Routing-Area-Identity'); +avp_header('SGSN-Location-Information') -> + diameter_3gpp_ts29_272:avp_header('SGSN-Location-Information'); +avp_header('SGSN-User-State') -> + diameter_3gpp_ts29_272:avp_header('SGSN-User-State'); +avp_header('SIPTO-Permission') -> + diameter_3gpp_ts29_272:avp_header('SIPTO-Permission'); +avp_header('SMS-Register-Request') -> + diameter_3gpp_ts29_272:avp_header('SMS-Register-Request'); +avp_header('SRES') -> + diameter_3gpp_ts29_272:avp_header('SRES'); +avp_header('SS-Code') -> + diameter_3gpp_ts29_272:avp_header('SS-Code'); +avp_header('SS-Status') -> + diameter_3gpp_ts29_272:avp_header('SS-Status'); +avp_header('STN-SR') -> + diameter_3gpp_ts29_272:avp_header('STN-SR'); +avp_header('Service-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Service-Area-Identity'); +avp_header('Service-Type') -> + diameter_3gpp_ts29_272:avp_header('Service-Type'); +avp_header('ServiceTypeIdentity') -> + diameter_3gpp_ts29_272:avp_header('ServiceTypeIdentity'); +avp_header('Software-Version') -> + diameter_3gpp_ts29_272:avp_header('Software-Version'); +avp_header('Specific-APN-Info') -> + diameter_3gpp_ts29_272:avp_header('Specific-APN-Info'); +avp_header('Subscribed-Periodic-RAU-TAU-Timer') -> + diameter_3gpp_ts29_272:avp_header('Subscribed-Periodic-RAU-TAU-Timer'); +avp_header('Subscribed-VSRVCC') -> + diameter_3gpp_ts29_272:avp_header('Subscribed-VSRVCC'); +avp_header('Subscriber-Status') -> + diameter_3gpp_ts29_272:avp_header('Subscriber-Status'); +avp_header('Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('Subscription-Data'); +avp_header('Subscription-Data-Flags') -> + diameter_3gpp_ts29_272:avp_header('Subscription-Data-Flags'); +avp_header('TS-Code') -> + diameter_3gpp_ts29_272:avp_header('TS-Code'); +avp_header('Teleservice-List') -> + diameter_3gpp_ts29_272:avp_header('Teleservice-List'); +avp_header('Terminal-Information') -> + diameter_3gpp_ts29_272:avp_header('Terminal-Information'); +avp_header('Time-Zone') -> + diameter_3gpp_ts29_272:avp_header('Time-Zone'); +avp_header('Trace-Collection-Entity') -> + diameter_3gpp_ts29_272:avp_header('Trace-Collection-Entity'); +avp_header('Trace-Data') -> + diameter_3gpp_ts29_272:avp_header('Trace-Data'); +avp_header('Trace-Depth') -> + diameter_3gpp_ts29_272:avp_header('Trace-Depth'); +avp_header('Trace-Event-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-Event-List'); +avp_header('Trace-Interface-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-Interface-List'); +avp_header('Trace-NE-Type-List') -> + diameter_3gpp_ts29_272:avp_header('Trace-NE-Type-List'); +avp_header('Trace-Reference') -> + diameter_3gpp_ts29_272:avp_header('Trace-Reference'); +avp_header('Tracking-Area-Identity') -> + diameter_3gpp_ts29_272:avp_header('Tracking-Area-Identity'); +avp_header('UE-SRVCC-Capability') -> + diameter_3gpp_ts29_272:avp_header('UE-SRVCC-Capability'); +avp_header('UE-Usage-Type') -> + diameter_3gpp_ts29_272:avp_header('UE-Usage-Type'); +avp_header('ULA-Flags') -> + diameter_3gpp_ts29_272:avp_header('ULA-Flags'); +avp_header('ULR-Flags') -> + diameter_3gpp_ts29_272:avp_header('ULR-Flags'); +avp_header('UTRAN-Vector') -> + diameter_3gpp_ts29_272:avp_header('UTRAN-Vector'); +avp_header('UVA-Flags') -> + diameter_3gpp_ts29_272:avp_header('UVA-Flags'); +avp_header('UVR-Flags') -> + diameter_3gpp_ts29_272:avp_header('UVR-Flags'); +avp_header('User-Id') -> + diameter_3gpp_ts29_272:avp_header('User-Id'); +avp_header('User-State') -> + diameter_3gpp_ts29_272:avp_header('User-State'); +avp_header('VPLMN-CSG-Subscription-Data') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-CSG-Subscription-Data'); +avp_header('VPLMN-Dynamic-Address-Allowed') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-Dynamic-Address-Allowed'); +avp_header('VPLMN-LIPA-Allowed') -> + diameter_3gpp_ts29_272:avp_header('VPLMN-LIPA-Allowed'); +avp_header('Visited-PLMN-Id') -> + diameter_3gpp_ts29_272:avp_header('Visited-PLMN-Id'); +avp_header('XRES') -> + diameter_3gpp_ts29_272:avp_header('XRES'); +avp_header('3GPP-AAA-Server-Name') -> + diameter_3gpp_ts29_273:avp_header('3GPP-AAA-Server-Name'); +avp_header('AAA-Failure-Indication') -> + diameter_3gpp_ts29_273:avp_header('AAA-Failure-Indication'); +avp_header('AAR-Flags') -> + diameter_3gpp_ts29_273:avp_header('AAR-Flags'); +avp_header('AN-Trusted') -> + diameter_3gpp_ts29_273:avp_header('AN-Trusted'); +avp_header('ANID') -> + diameter_3gpp_ts29_273:avp_header('ANID'); +avp_header('Access-Authorization-Flags') -> + diameter_3gpp_ts29_273:avp_header('Access-Authorization-Flags'); +avp_header('Access-Network-Info') -> + diameter_3gpp_ts29_273:avp_header('Access-Network-Info'); +avp_header('Connectivity-Flags') -> + diameter_3gpp_ts29_273:avp_header('Connectivity-Flags'); +avp_header('DEA-Flags') -> + diameter_3gpp_ts29_273:avp_header('DEA-Flags'); +avp_header('DER-Flags') -> + diameter_3gpp_ts29_273:avp_header('DER-Flags'); +avp_header('DER-S6b-Flags') -> + diameter_3gpp_ts29_273:avp_header('DER-S6b-Flags'); +avp_header('ERP-Authorization') -> + diameter_3gpp_ts29_273:avp_header('ERP-Authorization'); +avp_header('Emergency-Services') -> + diameter_3gpp_ts29_273:avp_header('Emergency-Services'); +avp_header('Full-Network-Name') -> + diameter_3gpp_ts29_273:avp_header('Full-Network-Name'); +avp_header('HESSID') -> + diameter_3gpp_ts29_273:avp_header('HESSID'); +avp_header('IMEI-Check-In-VPLMN-Result') -> + diameter_3gpp_ts29_273:avp_header('IMEI-Check-In-VPLMN-Result'); +avp_header('MIP-FA-RK') -> + diameter_3gpp_ts29_273:avp_header('MIP-FA-RK'); +avp_header('MIP-FA-RK-SPI') -> + diameter_3gpp_ts29_273:avp_header('MIP-FA-RK-SPI'); +avp_header('MIP6-Feature-Vector') -> + diameter_3gpp_ts29_273:avp_header('MIP6-Feature-Vector'); +avp_header('Maximum-Wait-Time') -> + diameter_3gpp_ts29_273:avp_header('Maximum-Wait-Time'); +avp_header('Mobile-Node-Identifier') -> + diameter_3gpp_ts29_273:avp_header('Mobile-Node-Identifier'); +avp_header('Non-3GPP-IP-Access') -> + diameter_3gpp_ts29_273:avp_header('Non-3GPP-IP-Access'); +avp_header('Non-3GPP-IP-Access-APN') -> + diameter_3gpp_ts29_273:avp_header('Non-3GPP-IP-Access-APN'); +avp_header('Non-3GPP-User-Data') -> + diameter_3gpp_ts29_273:avp_header('Non-3GPP-User-Data'); +avp_header('Origination-Time-Stamp') -> + diameter_3gpp_ts29_273:avp_header('Origination-Time-Stamp'); +avp_header('PPR-Flags') -> + diameter_3gpp_ts29_273:avp_header('PPR-Flags'); +avp_header('RAR-Flags') -> + diameter_3gpp_ts29_273:avp_header('RAR-Flags'); +avp_header('SM-Back-Off-Timer') -> + diameter_3gpp_ts29_273:avp_header('SM-Back-Off-Timer'); +avp_header('SSID') -> + diameter_3gpp_ts29_273:avp_header('SSID'); +avp_header('Short-Network-Name') -> + diameter_3gpp_ts29_273:avp_header('Short-Network-Name'); +avp_header('TWAG-CP-Address') -> + diameter_3gpp_ts29_273:avp_header('TWAG-CP-Address'); +avp_header('TWAG-UP-Address') -> + diameter_3gpp_ts29_273:avp_header('TWAG-UP-Address'); +avp_header('TWAN-Access-Info') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Access-Info'); +avp_header('TWAN-Connection-Mode') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Connection-Mode'); +avp_header('TWAN-Connectivity-Parameters') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Connectivity-Parameters'); +avp_header('TWAN-Default-APN-Context-Id') -> + diameter_3gpp_ts29_273:avp_header('TWAN-Default-APN-Context-Id'); +avp_header('TWAN-PCO') -> + diameter_3gpp_ts29_273:avp_header('TWAN-PCO'); +avp_header('TWAN-S2a-Failure-Cause') -> + diameter_3gpp_ts29_273:avp_header('TWAN-S2a-Failure-Cause'); +avp_header('Trace-Info') -> + diameter_3gpp_ts29_273:avp_header('Trace-Info'); +avp_header('Transport-Access-Type') -> + diameter_3gpp_ts29_273:avp_header('Transport-Access-Type'); +avp_header('WLAN-Identifier') -> + diameter_3gpp_ts29_273:avp_header('WLAN-Identifier'); +avp_header('WLCP-Key') -> + diameter_3gpp_ts29_273:avp_header('WLCP-Key'); +avp_header('3GPP-PS-Data-Off-Status') -> + diameter_3gpp_ts32_299:avp_header('3GPP-PS-Data-Off-Status'); +avp_header('AF-Correlation-Information') -> + diameter_3gpp_ts32_299:avp_header('AF-Correlation-Information'); +avp_header('APN-Rate-Control') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control'); +avp_header('APN-Rate-Control-Downlink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Downlink'); +avp_header('APN-Rate-Control-Uplink') -> + diameter_3gpp_ts32_299:avp_header('APN-Rate-Control-Uplink'); +avp_header('Access-Network-Info-Change') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Info-Change'); +avp_header('Access-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Network-Information'); +avp_header('Access-Transfer-Information') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Information'); +avp_header('Access-Transfer-Type') -> + diameter_3gpp_ts32_299:avp_header('Access-Transfer-Type'); +avp_header('Account-Expiration') -> + diameter_3gpp_ts32_299:avp_header('Account-Expiration'); +avp_header('Accumulated-Cost') -> + diameter_3gpp_ts32_299:avp_header('Accumulated-Cost'); +avp_header('Adaptations') -> + diameter_3gpp_ts32_299:avp_header('Adaptations'); +avp_header('Additional-Content-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Content-Information'); +avp_header('Additional-Exception-Reports') -> + diameter_3gpp_ts32_299:avp_header('Additional-Exception-Reports'); +avp_header('Additional-Type-Information') -> + diameter_3gpp_ts32_299:avp_header('Additional-Type-Information'); +avp_header('Address-Data') -> + diameter_3gpp_ts32_299:avp_header('Address-Data'); +avp_header('Address-Domain') -> + diameter_3gpp_ts32_299:avp_header('Address-Domain'); +avp_header('Address-Type') -> + diameter_3gpp_ts32_299:avp_header('Address-Type'); +avp_header('Addressee-Type') -> + diameter_3gpp_ts32_299:avp_header('Addressee-Type'); +avp_header('Alternate-Charged-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Alternate-Charged-Party-Address'); +avp_header('Announcement-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Identifier'); +avp_header('Announcement-Information') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Information'); +avp_header('Announcement-Order') -> + diameter_3gpp_ts32_299:avp_header('Announcement-Order'); +avp_header('Announcing-PLMN-ID') -> + diameter_3gpp_ts32_299:avp_header('Announcing-PLMN-ID'); +avp_header('Announcing-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-HPLMN-Identifier'); +avp_header('Announcing-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Announcing-UE-VPLMN-Identifier'); +avp_header('AoC-Cost-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Cost-Information'); +avp_header('AoC-Format') -> + diameter_3gpp_ts32_299:avp_header('AoC-Format'); +avp_header('AoC-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Information'); +avp_header('AoC-Request-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Request-Type'); +avp_header('AoC-Service') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service'); +avp_header('AoC-Service-Obligatory-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Obligatory-Type'); +avp_header('AoC-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('AoC-Service-Type'); +avp_header('AoC-Subscription-Information') -> + diameter_3gpp_ts32_299:avp_header('AoC-Subscription-Information'); +avp_header('Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Applic-ID'); +avp_header('Application-Provided-Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Application-Provided-Called-Party-Address'); +avp_header('Application-Server') -> + diameter_3gpp_ts32_299:avp_header('Application-Server'); +avp_header('Application-Server-Information') -> + diameter_3gpp_ts32_299:avp_header('Application-Server-Information'); +avp_header('Application-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Application-Specific-Data'); +avp_header('Associated-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Associated-Party-Address'); +avp_header('Associated-URI') -> + diameter_3gpp_ts32_299:avp_header('Associated-URI'); +avp_header('Authorised-QoS') -> + diameter_3gpp_ts32_299:avp_header('Authorised-QoS'); +avp_header('Aux-Applic-Info') -> + diameter_3gpp_ts32_299:avp_header('Aux-Applic-Info'); +avp_header('BSSID') -> + diameter_3gpp_ts32_299:avp_header('BSSID'); +avp_header('Base-Time-Interval') -> + diameter_3gpp_ts32_299:avp_header('Base-Time-Interval'); +avp_header('Basic-Service-Code') -> + diameter_3gpp_ts32_299:avp_header('Basic-Service-Code'); +avp_header('Bearer-Capability') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Capability'); +avp_header('Bearer-Service') -> + diameter_3gpp_ts32_299:avp_header('Bearer-Service'); +avp_header('CG-Address') -> + diameter_3gpp_ts32_299:avp_header('CG-Address'); +avp_header('CN-Operator-Selection-Entity') -> + diameter_3gpp_ts32_299:avp_header('CN-Operator-Selection-Entity'); +avp_header('CP-CIoT-EPS-Optimisation-Indicator') -> + diameter_3gpp_ts32_299:avp_header('CP-CIoT-EPS-Optimisation-Indicator'); +avp_header('CPDT-Information') -> + diameter_3gpp_ts32_299:avp_header('CPDT-Information'); +avp_header('CSG-Access-Mode') -> + diameter_3gpp_ts32_299:avp_header('CSG-Access-Mode'); +avp_header('CSG-Membership-Indication') -> + diameter_3gpp_ts32_299:avp_header('CSG-Membership-Indication'); +avp_header('CUG-Information') -> + diameter_3gpp_ts32_299:avp_header('CUG-Information'); +avp_header('Called-Asserted-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Asserted-Identity'); +avp_header('Called-Identity') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity'); +avp_header('Called-Identity-Change') -> + diameter_3gpp_ts32_299:avp_header('Called-Identity-Change'); +avp_header('Called-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Called-Party-Address'); +avp_header('Calling-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Calling-Party-Address'); +avp_header('Carrier-Select-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Carrier-Select-Routing-Information'); +avp_header('Cause-Code') -> + diameter_3gpp_ts32_299:avp_header('Cause-Code'); +avp_header('Cellular-Network-Information') -> + diameter_3gpp_ts32_299:avp_header('Cellular-Network-Information'); +avp_header('Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('Change-Condition'); +avp_header('Change-Time') -> + diameter_3gpp_ts32_299:avp_header('Change-Time'); +avp_header('Charge-Reason-Code') -> + diameter_3gpp_ts32_299:avp_header('Charge-Reason-Code'); +avp_header('Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('Charged-Party'); +avp_header('Charging-Characteristics-Selection-Mode') -> + diameter_3gpp_ts32_299:avp_header('Charging-Characteristics-Selection-Mode'); +avp_header('Charging-Per-IP-CAN-Session-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Charging-Per-IP-CAN-Session-Indicator'); +avp_header('Class-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Class-Identifier'); +avp_header('Client-Address') -> + diameter_3gpp_ts32_299:avp_header('Client-Address'); +avp_header('Content-Class') -> + diameter_3gpp_ts32_299:avp_header('Content-Class'); +avp_header('Content-Disposition') -> + diameter_3gpp_ts32_299:avp_header('Content-Disposition'); +avp_header('Content-Length') -> + diameter_3gpp_ts32_299:avp_header('Content-Length'); +avp_header('Content-Size') -> + diameter_3gpp_ts32_299:avp_header('Content-Size'); +avp_header('Content-Type') -> + diameter_3gpp_ts32_299:avp_header('Content-Type'); +avp_header('Coverage-Info') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Info'); +avp_header('Coverage-Status') -> + diameter_3gpp_ts32_299:avp_header('Coverage-Status'); +avp_header('Current-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Current-Tariff'); +avp_header('DRM-Content') -> + diameter_3gpp_ts32_299:avp_header('DRM-Content'); +avp_header('Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('Data-Coding-Scheme'); +avp_header('Deferred-Location-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Deferred-Location-Event-Type'); +avp_header('Delivery-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Delivery-Report-Requested'); +avp_header('Destination-Interface') -> + diameter_3gpp_ts32_299:avp_header('Destination-Interface'); +avp_header('Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Diagnostics'); +avp_header('Discoveree-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-HPLMN-Identifier'); +avp_header('Discoveree-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoveree-UE-VPLMN-Identifier'); +avp_header('Discoverer-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-HPLMN-Identifier'); +avp_header('Discoverer-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Discoverer-UE-VPLMN-Identifier'); +avp_header('Domain-Name') -> + diameter_3gpp_ts32_299:avp_header('Domain-Name'); +avp_header('Dynamic-Address-Flag') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag'); +avp_header('Dynamic-Address-Flag-Extension') -> + diameter_3gpp_ts32_299:avp_header('Dynamic-Address-Flag-Extension'); +avp_header('EPDG-Address') -> + diameter_3gpp_ts32_299:avp_header('EPDG-Address'); +avp_header('Early-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('Early-Media-Description'); +avp_header('Enhanced-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('Enhanced-Diagnostics'); +avp_header('Envelope') -> + diameter_3gpp_ts32_299:avp_header('Envelope'); +avp_header('Envelope-End-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-End-Time'); +avp_header('Envelope-Reporting') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Reporting'); +avp_header('Envelope-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Envelope-Start-Time'); +avp_header('Event') -> + diameter_3gpp_ts32_299:avp_header('Event'); +avp_header('Event-Charging-TimeStamp') -> + diameter_3gpp_ts32_299:avp_header('Event-Charging-TimeStamp'); +avp_header('Event-Type') -> + diameter_3gpp_ts32_299:avp_header('Event-Type'); +avp_header('Expires') -> + diameter_3gpp_ts32_299:avp_header('Expires'); +avp_header('FE-Identifier-List') -> + diameter_3gpp_ts32_299:avp_header('FE-Identifier-List'); +avp_header('File-Repair-Supported') -> + diameter_3gpp_ts32_299:avp_header('File-Repair-Supported'); +avp_header('Forwarding-Pending') -> + diameter_3gpp_ts32_299:avp_header('Forwarding-Pending'); +avp_header('From-Address') -> + diameter_3gpp_ts32_299:avp_header('From-Address'); +avp_header('GGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('GGSN-Address'); +avp_header('IMS-Application-Reference-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Application-Reference-Identifier'); +avp_header('IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Charging-Identifier'); +avp_header('IMS-Communication-Service-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Communication-Service-Identifier'); +avp_header('IMS-Emergency-Indicator') -> + diameter_3gpp_ts32_299:avp_header('IMS-Emergency-Indicator'); +avp_header('IMS-Information') -> + diameter_3gpp_ts32_299:avp_header('IMS-Information'); +avp_header('IMS-Visited-Network-Identifier') -> + diameter_3gpp_ts32_299:avp_header('IMS-Visited-Network-Identifier'); +avp_header('IMSI-Unauthenticated-Flag') -> + diameter_3gpp_ts32_299:avp_header('IMSI-Unauthenticated-Flag'); +avp_header('IP-Realm-Default-Indication') -> + diameter_3gpp_ts32_299:avp_header('IP-Realm-Default-Indication'); +avp_header('ISUP-Cause') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause'); +avp_header('ISUP-Cause-Diagnostics') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Diagnostics'); +avp_header('ISUP-Cause-Location') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Location'); +avp_header('ISUP-Cause-Value') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Cause-Value'); +avp_header('ISUP-Location-Number') -> + diameter_3gpp_ts32_299:avp_header('ISUP-Location-Number'); +avp_header('Incoming-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Incoming-Trunk-Group-Id'); +avp_header('Incremental-Cost') -> + diameter_3gpp_ts32_299:avp_header('Incremental-Cost'); +avp_header('Initial-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Initial-IMS-Charging-Identifier'); +avp_header('Instance-Id') -> + diameter_3gpp_ts32_299:avp_header('Instance-Id'); +avp_header('Inter-Operator-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Inter-Operator-Identifier'); +avp_header('Inter-UE-Transfer') -> + diameter_3gpp_ts32_299:avp_header('Inter-UE-Transfer'); +avp_header('Interface-Id') -> + diameter_3gpp_ts32_299:avp_header('Interface-Id'); +avp_header('Interface-Port') -> + diameter_3gpp_ts32_299:avp_header('Interface-Port'); +avp_header('Interface-Text') -> + diameter_3gpp_ts32_299:avp_header('Interface-Text'); +avp_header('Interface-Type') -> + diameter_3gpp_ts32_299:avp_header('Interface-Type'); +avp_header('LCS-APN') -> + diameter_3gpp_ts32_299:avp_header('LCS-APN'); +avp_header('LCS-Client-Dialed-By-MS') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Dialed-By-MS'); +avp_header('LCS-Client-External-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-External-ID'); +avp_header('LCS-Client-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-ID'); +avp_header('LCS-Client-Name') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Name'); +avp_header('LCS-Client-Type') -> + diameter_3gpp_ts32_299:avp_header('LCS-Client-Type'); +avp_header('LCS-Data-Coding-Scheme') -> + diameter_3gpp_ts32_299:avp_header('LCS-Data-Coding-Scheme'); +avp_header('LCS-Format-Indicator') -> + diameter_3gpp_ts32_299:avp_header('LCS-Format-Indicator'); +avp_header('LCS-Information') -> + diameter_3gpp_ts32_299:avp_header('LCS-Information'); +avp_header('LCS-Name-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Name-String'); +avp_header('LCS-Requestor-ID') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID'); +avp_header('LCS-Requestor-ID-String') -> + diameter_3gpp_ts32_299:avp_header('LCS-Requestor-ID-String'); +avp_header('Language') -> + diameter_3gpp_ts32_299:avp_header('Language'); +avp_header('Layer-2-Group-ID') -> + diameter_3gpp_ts32_299:avp_header('Layer-2-Group-ID'); +avp_header('Local-GW-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Local-GW-Inserted-Indication'); +avp_header('Local-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Local-Sequence-Number'); +avp_header('Location-Estimate') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate'); +avp_header('Location-Estimate-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Estimate-Type'); +avp_header('Location-Info') -> + diameter_3gpp_ts32_299:avp_header('Location-Info'); +avp_header('Location-Type') -> + diameter_3gpp_ts32_299:avp_header('Location-Type'); +avp_header('Low-Balance-Indication') -> + diameter_3gpp_ts32_299:avp_header('Low-Balance-Indication'); +avp_header('Low-Priority-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Low-Priority-Indicator'); +avp_header('MBMS-Charged-Party') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Charged-Party'); +avp_header('MBMS-GW-Address') -> + diameter_3gpp_ts32_299:avp_header('MBMS-GW-Address'); +avp_header('MBMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MBMS-Information'); +avp_header('MBMS-User-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('MBMS-User-Service-Type'); +avp_header('MM-Content-Type') -> + diameter_3gpp_ts32_299:avp_header('MM-Content-Type'); +avp_header('MMBox-Storage-Requested') -> + diameter_3gpp_ts32_299:avp_header('MMBox-Storage-Requested'); +avp_header('MMS-Information') -> + diameter_3gpp_ts32_299:avp_header('MMS-Information'); +avp_header('MMTel-Information') -> + diameter_3gpp_ts32_299:avp_header('MMTel-Information'); +avp_header('MMTel-SService-Type') -> + diameter_3gpp_ts32_299:avp_header('MMTel-SService-Type'); +avp_header('MSC-Address') -> + diameter_3gpp_ts32_299:avp_header('MSC-Address'); +avp_header('MTC-IWF-Address') -> + diameter_3gpp_ts32_299:avp_header('MTC-IWF-Address'); +avp_header('Media-Initiator-Flag') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Flag'); +avp_header('Media-Initiator-Party') -> + diameter_3gpp_ts32_299:avp_header('Media-Initiator-Party'); +avp_header('Message-Body') -> + diameter_3gpp_ts32_299:avp_header('Message-Body'); +avp_header('Message-Class') -> + diameter_3gpp_ts32_299:avp_header('Message-Class'); +avp_header('Message-ID') -> + diameter_3gpp_ts32_299:avp_header('Message-ID'); +avp_header('Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Message-Size'); +avp_header('Message-Type') -> + diameter_3gpp_ts32_299:avp_header('Message-Type'); +avp_header('Monitored-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitored-PLMN-Identifier'); +avp_header('Monitoring-Event-Configuration-Activity') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Configuration-Activity'); +avp_header('Monitoring-Event-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Functionality'); +avp_header('Monitoring-Event-Information') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Information'); +avp_header('Monitoring-Event-Report-Data') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Data'); +avp_header('Monitoring-Event-Report-Number') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-Event-Report-Number'); +avp_header('Monitoring-UE-HPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-HPLMN-Identifier'); +avp_header('Monitoring-UE-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-Identifier'); +avp_header('Monitoring-UE-VPLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Monitoring-UE-VPLMN-Identifier'); +avp_header('NIDD-Submission') -> + diameter_3gpp_ts32_299:avp_header('NIDD-Submission'); +avp_header('NNI-Information') -> + diameter_3gpp_ts32_299:avp_header('NNI-Information'); +avp_header('NNI-Type') -> + diameter_3gpp_ts32_299:avp_header('NNI-Type'); +avp_header('Neighbour-Node-Address') -> + diameter_3gpp_ts32_299:avp_header('Neighbour-Node-Address'); +avp_header('Network-Call-Reference-Number') -> + diameter_3gpp_ts32_299:avp_header('Network-Call-Reference-Number'); +avp_header('Next-Tariff') -> + diameter_3gpp_ts32_299:avp_header('Next-Tariff'); +avp_header('Node-Functionality') -> + diameter_3gpp_ts32_299:avp_header('Node-Functionality'); +avp_header('Node-Id') -> + diameter_3gpp_ts32_299:avp_header('Node-Id'); +avp_header('Number-Of-Diversions') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Diversions'); +avp_header('Number-Of-Messages-Sent') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Messages-Sent'); +avp_header('Number-Of-Participants') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Participants'); +avp_header('Number-Of-Received-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Received-Talk-Bursts'); +avp_header('Number-Of-Talk-Bursts') -> + diameter_3gpp_ts32_299:avp_header('Number-Of-Talk-Bursts'); +avp_header('Number-Portability-Routing-Information') -> + diameter_3gpp_ts32_299:avp_header('Number-Portability-Routing-Information'); +avp_header('Offline-Charging') -> + diameter_3gpp_ts32_299:avp_header('Offline-Charging'); +avp_header('Online-Charging-Flag') -> + diameter_3gpp_ts32_299:avp_header('Online-Charging-Flag'); +avp_header('Originating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Originating-IOI'); +avp_header('Originator') -> + diameter_3gpp_ts32_299:avp_header('Originator'); +avp_header('Originator-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Address'); +avp_header('Originator-Interface') -> + diameter_3gpp_ts32_299:avp_header('Originator-Interface'); +avp_header('Originator-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-Received-Address'); +avp_header('Originator-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Originator-SCCP-Address'); +avp_header('Outgoing-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Session-Id'); +avp_header('Outgoing-Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Outgoing-Trunk-Group-Id'); +avp_header('PC3-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-Control-Protocol-Cause'); +avp_header('PC3-EPC-Control-Protocol-Cause') -> + diameter_3gpp_ts32_299:avp_header('PC3-EPC-Control-Protocol-Cause'); +avp_header('PC5-Radio-Technology') -> + diameter_3gpp_ts32_299:avp_header('PC5-Radio-Technology'); +avp_header('PDN-Connection-Charging-ID') -> + diameter_3gpp_ts32_299:avp_header('PDN-Connection-Charging-ID'); +avp_header('PDP-Address') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address'); +avp_header('PDP-Address-Prefix-Length') -> + diameter_3gpp_ts32_299:avp_header('PDP-Address-Prefix-Length'); +avp_header('PDP-Context-Type') -> + diameter_3gpp_ts32_299:avp_header('PDP-Context-Type'); +avp_header('PS-Append-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Append-Free-Format-Data'); +avp_header('PS-Free-Format-Data') -> + diameter_3gpp_ts32_299:avp_header('PS-Free-Format-Data'); +avp_header('PS-Furnish-Charging-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Furnish-Charging-Information'); +avp_header('PS-Information') -> + diameter_3gpp_ts32_299:avp_header('PS-Information'); +avp_header('Participant-Access-Priority') -> + diameter_3gpp_ts32_299:avp_header('Participant-Access-Priority'); +avp_header('Participant-Action-Type') -> + diameter_3gpp_ts32_299:avp_header('Participant-Action-Type'); +avp_header('Participant-Group') -> + diameter_3gpp_ts32_299:avp_header('Participant-Group'); +avp_header('Participants-Involved') -> + diameter_3gpp_ts32_299:avp_header('Participants-Involved'); +avp_header('Play-Alternative') -> + diameter_3gpp_ts32_299:avp_header('Play-Alternative'); +avp_header('PoC-Change-Condition') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Condition'); +avp_header('PoC-Change-Time') -> + diameter_3gpp_ts32_299:avp_header('PoC-Change-Time'); +avp_header('PoC-Controlling-Address') -> + diameter_3gpp_ts32_299:avp_header('PoC-Controlling-Address'); +avp_header('PoC-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Event-Type'); +avp_header('PoC-Group-Name') -> + diameter_3gpp_ts32_299:avp_header('PoC-Group-Name'); +avp_header('PoC-Information') -> + diameter_3gpp_ts32_299:avp_header('PoC-Information'); +avp_header('PoC-Server-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-Server-Role'); +avp_header('PoC-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Id'); +avp_header('PoC-Session-Initiation-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Initiation-Type'); +avp_header('PoC-Session-Type') -> + diameter_3gpp_ts32_299:avp_header('PoC-Session-Type'); +avp_header('PoC-User-Role') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role'); +avp_header('PoC-User-Role-IDs') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-IDs'); +avp_header('PoC-User-Role-Info-Units') -> + diameter_3gpp_ts32_299:avp_header('PoC-User-Role-Info-Units'); +avp_header('Positioning-Data') -> + diameter_3gpp_ts32_299:avp_header('Positioning-Data'); +avp_header('Preferred-AoC-Currency') -> + diameter_3gpp_ts32_299:avp_header('Preferred-AoC-Currency'); +avp_header('Priority') -> + diameter_3gpp_ts32_299:avp_header('Priority'); +avp_header('Privacy-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Privacy-Indicator'); +avp_header('ProSe-3rd-Party-Application-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-3rd-Party-Application-ID'); +avp_header('ProSe-Direct-Communication-Reception-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Reception-Data-Container'); +avp_header('ProSe-Direct-Communication-Transmission-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Communication-Transmission-Data-Container'); +avp_header('ProSe-Direct-Discovery-Model') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Direct-Discovery-Model'); +avp_header('ProSe-Event-Type') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Event-Type'); +avp_header('ProSe-Function-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-IP-Address'); +avp_header('ProSe-Function-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Function-PLMN-Identifier'); +avp_header('ProSe-Functionality') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Functionality'); +avp_header('ProSe-Group-IP-Multicast-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Group-IP-Multicast-Address'); +avp_header('ProSe-Information') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Information'); +avp_header('ProSe-Range-Class') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Range-Class'); +avp_header('ProSe-Reason-For-Cancellation') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Reason-For-Cancellation'); +avp_header('ProSe-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Request-Timestamp'); +avp_header('ProSe-Role-Of-UE') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Role-Of-UE'); +avp_header('ProSe-Source-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Source-IP-Address'); +avp_header('ProSe-Target-Layer-2-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-Target-Layer-2-ID'); +avp_header('ProSe-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-ID'); +avp_header('ProSe-UE-to-Network-Relay-UE-ID') -> + diameter_3gpp_ts32_299:avp_header('ProSe-UE-to-Network-Relay-UE-ID'); +avp_header('Proximity-Alert-Indication') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Indication'); +avp_header('Proximity-Alert-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Alert-Timestamp'); +avp_header('Proximity-Cancellation-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('Proximity-Cancellation-Timestamp'); +avp_header('Quota-Consumption-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Consumption-Time'); +avp_header('Quota-Holding-Time') -> + diameter_3gpp_ts32_299:avp_header('Quota-Holding-Time'); +avp_header('Quota-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Quota-Indicator'); +avp_header('RAN-End-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-End-Time'); +avp_header('RAN-Secondary-RAT-Usage-Report') -> + diameter_3gpp_ts32_299:avp_header('RAN-Secondary-RAT-Usage-Report'); +avp_header('RAN-Start-Time') -> + diameter_3gpp_ts32_299:avp_header('RAN-Start-Time'); +avp_header('Radio-Frequency') -> + diameter_3gpp_ts32_299:avp_header('Radio-Frequency'); +avp_header('Radio-Parameter-Set-Info') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Info'); +avp_header('Radio-Parameter-Set-Values') -> + diameter_3gpp_ts32_299:avp_header('Radio-Parameter-Set-Values'); +avp_header('Radio-Resources-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Radio-Resources-Indicator'); +avp_header('Rate-Control-Max-Message-Size') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Message-Size'); +avp_header('Rate-Control-Max-Rate') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Max-Rate'); +avp_header('Rate-Control-Time-Unit') -> + diameter_3gpp_ts32_299:avp_header('Rate-Control-Time-Unit'); +avp_header('Rate-Element') -> + diameter_3gpp_ts32_299:avp_header('Rate-Element'); +avp_header('Read-Reply-Report-Requested') -> + diameter_3gpp_ts32_299:avp_header('Read-Reply-Report-Requested'); +avp_header('Real-Time-Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Real-Time-Tariff-Information'); +avp_header('Reason-Header') -> + diameter_3gpp_ts32_299:avp_header('Reason-Header'); +avp_header('Received-Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Time'); +avp_header('Received-Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Received-Talk-Burst-Volume'); +avp_header('Recipient-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Address'); +avp_header('Recipient-Info') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Info'); +avp_header('Recipient-Received-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-Received-Address'); +avp_header('Recipient-SCCP-Address') -> + diameter_3gpp_ts32_299:avp_header('Recipient-SCCP-Address'); +avp_header('Refund-Information') -> + diameter_3gpp_ts32_299:avp_header('Refund-Information'); +avp_header('Related-Change-Condition-Information') -> + diameter_3gpp_ts32_299:avp_header('Related-Change-Condition-Information'); +avp_header('Related-IMS-Charging-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier'); +avp_header('Related-IMS-Charging-Identifier-Node') -> + diameter_3gpp_ts32_299:avp_header('Related-IMS-Charging-Identifier-Node'); +avp_header('Related-Trigger') -> + diameter_3gpp_ts32_299:avp_header('Related-Trigger'); +avp_header('Relationship-Mode') -> + diameter_3gpp_ts32_299:avp_header('Relationship-Mode'); +avp_header('Relay-IP-address') -> + diameter_3gpp_ts32_299:avp_header('Relay-IP-address'); +avp_header('Remaining-Balance') -> + diameter_3gpp_ts32_299:avp_header('Remaining-Balance'); +avp_header('Reply-Applic-ID') -> + diameter_3gpp_ts32_299:avp_header('Reply-Applic-ID'); +avp_header('Reply-Path-Requested') -> + diameter_3gpp_ts32_299:avp_header('Reply-Path-Requested'); +avp_header('Reporting-Reason') -> + diameter_3gpp_ts32_299:avp_header('Reporting-Reason'); +avp_header('Requested-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requested-PLMN-Identifier'); +avp_header('Requested-Party-Address') -> + diameter_3gpp_ts32_299:avp_header('Requested-Party-Address'); +avp_header('Requestor-PLMN-Identifier') -> + diameter_3gpp_ts32_299:avp_header('Requestor-PLMN-Identifier'); +avp_header('Role-Of-Node') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-Node'); +avp_header('Role-Of-ProSe-Function') -> + diameter_3gpp_ts32_299:avp_header('Role-Of-ProSe-Function'); +avp_header('Route-Header-Received') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Received'); +avp_header('Route-Header-Transmitted') -> + diameter_3gpp_ts32_299:avp_header('Route-Header-Transmitted'); +avp_header('SCS-AS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-AS-Address'); +avp_header('SCS-Address') -> + diameter_3gpp_ts32_299:avp_header('SCS-Address'); +avp_header('SCS-Realm') -> + diameter_3gpp_ts32_299:avp_header('SCS-Realm'); +avp_header('SDP-Answer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Answer-Timestamp'); +avp_header('SDP-Media-Component') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Component'); +avp_header('SDP-Media-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Description'); +avp_header('SDP-Media-Name') -> + diameter_3gpp_ts32_299:avp_header('SDP-Media-Name'); +avp_header('SDP-Offer-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SDP-Offer-Timestamp'); +avp_header('SDP-Session-Description') -> + diameter_3gpp_ts32_299:avp_header('SDP-Session-Description'); +avp_header('SDP-TimeStamps') -> + diameter_3gpp_ts32_299:avp_header('SDP-TimeStamps'); +avp_header('SDP-Type') -> + diameter_3gpp_ts32_299:avp_header('SDP-Type'); +avp_header('SGSN-Address') -> + diameter_3gpp_ts32_299:avp_header('SGSN-Address'); +avp_header('SGW-Address') -> + diameter_3gpp_ts32_299:avp_header('SGW-Address'); +avp_header('SGW-Change') -> + diameter_3gpp_ts32_299:avp_header('SGW-Change'); +avp_header('SGi-PtP-Tunnelling-Method') -> + diameter_3gpp_ts32_299:avp_header('SGi-PtP-Tunnelling-Method'); +avp_header('SIP-Method') -> + diameter_3gpp_ts32_299:avp_header('SIP-Method'); +avp_header('SIP-Request-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp'); +avp_header('SIP-Request-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Request-Timestamp-Fraction'); +avp_header('SIP-Response-Timestamp') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp'); +avp_header('SIP-Response-Timestamp-Fraction') -> + diameter_3gpp_ts32_299:avp_header('SIP-Response-Timestamp-Fraction'); +avp_header('SM-Device-Trigger-Indicator') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Indicator'); +avp_header('SM-Device-Trigger-Information') -> + diameter_3gpp_ts32_299:avp_header('SM-Device-Trigger-Information'); +avp_header('SM-Discharge-Time') -> + diameter_3gpp_ts32_299:avp_header('SM-Discharge-Time'); +avp_header('SM-Message-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Message-Type'); +avp_header('SM-Protocol-ID') -> + diameter_3gpp_ts32_299:avp_header('SM-Protocol-ID'); +avp_header('SM-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('SM-Sequence-Number'); +avp_header('SM-Service-Type') -> + diameter_3gpp_ts32_299:avp_header('SM-Service-Type'); +avp_header('SM-Status') -> + diameter_3gpp_ts32_299:avp_header('SM-Status'); +avp_header('SM-User-Data-Header') -> + diameter_3gpp_ts32_299:avp_header('SM-User-Data-Header'); +avp_header('SMS-Information') -> + diameter_3gpp_ts32_299:avp_header('SMS-Information'); +avp_header('SMS-Node') -> + diameter_3gpp_ts32_299:avp_header('SMS-Node'); +avp_header('SMS-Result') -> + diameter_3gpp_ts32_299:avp_header('SMS-Result'); +avp_header('SMSC-Address') -> + diameter_3gpp_ts32_299:avp_header('SMSC-Address'); +avp_header('Scale-Factor') -> + diameter_3gpp_ts32_299:avp_header('Scale-Factor'); +avp_header('Secondary-RAT-Type') -> + diameter_3gpp_ts32_299:avp_header('Secondary-RAT-Type'); +avp_header('Served-Party-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Served-Party-IP-Address'); +avp_header('Service-Data-Container') -> + diameter_3gpp_ts32_299:avp_header('Service-Data-Container'); +avp_header('Service-Id') -> + diameter_3gpp_ts32_299:avp_header('Service-Id'); +avp_header('Service-Information') -> + diameter_3gpp_ts32_299:avp_header('Service-Information'); +avp_header('Service-Mode') -> + diameter_3gpp_ts32_299:avp_header('Service-Mode'); +avp_header('Service-Specific-Data') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Data'); +avp_header('Service-Specific-Info') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Info'); +avp_header('Service-Specific-Type') -> + diameter_3gpp_ts32_299:avp_header('Service-Specific-Type'); +avp_header('Serving-Node-Identity') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Identity'); +avp_header('Serving-Node-Type') -> + diameter_3gpp_ts32_299:avp_header('Serving-Node-Type'); +avp_header('Session-Direction') -> + diameter_3gpp_ts32_299:avp_header('Session-Direction'); +avp_header('Start-Time') -> + diameter_3gpp_ts32_299:avp_header('Start-Time'); +avp_header('Start-of-Charging') -> + diameter_3gpp_ts32_299:avp_header('Start-of-Charging'); +avp_header('Status-AS-Code') -> + diameter_3gpp_ts32_299:avp_header('Status-AS-Code'); +avp_header('Stop-Time') -> + diameter_3gpp_ts32_299:avp_header('Stop-Time'); +avp_header('Submission-Time') -> + diameter_3gpp_ts32_299:avp_header('Submission-Time'); +avp_header('Subscriber-Role') -> + diameter_3gpp_ts32_299:avp_header('Subscriber-Role'); +avp_header('Supplementary-Service') -> + diameter_3gpp_ts32_299:avp_header('Supplementary-Service'); +avp_header('TAD-Identifier') -> + diameter_3gpp_ts32_299:avp_header('TAD-Identifier'); +avp_header('TWAG-Address') -> + diameter_3gpp_ts32_299:avp_header('TWAG-Address'); +avp_header('TWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('TWAN-User-Location-Info'); +avp_header('Talk-Burst-Exchange') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Exchange'); +avp_header('Talk-Burst-Time') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Time'); +avp_header('Talk-Burst-Volume') -> + diameter_3gpp_ts32_299:avp_header('Talk-Burst-Volume'); +avp_header('Target-IP-Address') -> + diameter_3gpp_ts32_299:avp_header('Target-IP-Address'); +avp_header('Tariff-Information') -> + diameter_3gpp_ts32_299:avp_header('Tariff-Information'); +avp_header('Tariff-XML') -> + diameter_3gpp_ts32_299:avp_header('Tariff-XML'); +avp_header('Teleservice') -> + diameter_3gpp_ts32_299:avp_header('Teleservice'); +avp_header('Terminating-IOI') -> + diameter_3gpp_ts32_299:avp_header('Terminating-IOI'); +avp_header('Time-First-Reception') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Reception'); +avp_header('Time-First-Transmission') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Transmission'); +avp_header('Time-First-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-First-Usage'); +avp_header('Time-Indicator') -> + diameter_3gpp_ts32_299:avp_header('Time-Indicator'); +avp_header('Time-Last-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Last-Usage'); +avp_header('Time-Quota-Mechanism') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Mechanism'); +avp_header('Time-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Threshold'); +avp_header('Time-Quota-Type') -> + diameter_3gpp_ts32_299:avp_header('Time-Quota-Type'); +avp_header('Time-Stamps') -> + diameter_3gpp_ts32_299:avp_header('Time-Stamps'); +avp_header('Time-Usage') -> + diameter_3gpp_ts32_299:avp_header('Time-Usage'); +avp_header('Token-Text') -> + diameter_3gpp_ts32_299:avp_header('Token-Text'); +avp_header('Traffic-Data-Volumes') -> + diameter_3gpp_ts32_299:avp_header('Traffic-Data-Volumes'); +avp_header('Transcoder-Inserted-Indication') -> + diameter_3gpp_ts32_299:avp_header('Transcoder-Inserted-Indication'); +avp_header('Transit-IOI-List') -> + diameter_3gpp_ts32_299:avp_header('Transit-IOI-List'); +avp_header('Transmitter-Info') -> + diameter_3gpp_ts32_299:avp_header('Transmitter-Info'); +avp_header('Trigger') -> + diameter_3gpp_ts32_299:avp_header('Trigger'); +avp_header('Trigger-Type') -> + diameter_3gpp_ts32_299:avp_header('Trigger-Type'); +avp_header('Trunk-Group-Id') -> + diameter_3gpp_ts32_299:avp_header('Trunk-Group-Id'); +avp_header('Type-Number') -> + diameter_3gpp_ts32_299:avp_header('Type-Number'); +avp_header('UNI-PDU-CP-Only-Flag') -> + diameter_3gpp_ts32_299:avp_header('UNI-PDU-CP-Only-Flag'); +avp_header('UWAN-User-Location-Info') -> + diameter_3gpp_ts32_299:avp_header('UWAN-User-Location-Info'); +avp_header('Unit-Cost') -> + diameter_3gpp_ts32_299:avp_header('Unit-Cost'); +avp_header('Unit-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Unit-Quota-Threshold'); +avp_header('Unused-Quota-Timer') -> + diameter_3gpp_ts32_299:avp_header('Unused-Quota-Timer'); +avp_header('Usage-Information-Report-Sequence-Number') -> + diameter_3gpp_ts32_299:avp_header('Usage-Information-Report-Sequence-Number'); +avp_header('User-CSG-Information') -> + diameter_3gpp_ts32_299:avp_header('User-CSG-Information'); +avp_header('User-Participating-Type') -> + diameter_3gpp_ts32_299:avp_header('User-Participating-Type'); +avp_header('User-Session-Id') -> + diameter_3gpp_ts32_299:avp_header('User-Session-Id'); +avp_header('VCS-Information') -> + diameter_3gpp_ts32_299:avp_header('VCS-Information'); +avp_header('VLR-Number') -> + diameter_3gpp_ts32_299:avp_header('VLR-Number'); +avp_header('Variable-Part') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part'); +avp_header('Variable-Part-Order') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Order'); +avp_header('Variable-Part-Type') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Type'); +avp_header('Variable-Part-Value') -> + diameter_3gpp_ts32_299:avp_header('Variable-Part-Value'); +avp_header('Volume-Quota-Threshold') -> + diameter_3gpp_ts32_299:avp_header('Volume-Quota-Threshold'); +avp_header('Address-Realm') -> + diameter_etsi_es283_034:avp_header('Address-Realm'); +avp_header('Aggregation-Network-Type') -> + diameter_etsi_es283_034:avp_header('Aggregation-Network-Type'); +avp_header('Application-Class-ID') -> + diameter_etsi_es283_034:avp_header('Application-Class-ID'); +avp_header('IP-Connectivity-Status') -> + diameter_etsi_es283_034:avp_header('IP-Connectivity-Status'); +avp_header('Initial-Gate-Setting-ID') -> + diameter_etsi_es283_034:avp_header('Initial-Gate-Setting-ID'); +avp_header('Logical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Logical-Access-ID'); +avp_header('Maximum-Allowed-Bandwidth-DL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-DL'); +avp_header('Maximum-Allowed-Bandwidth-UL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-UL'); +avp_header('Physical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Physical-Access-ID'); +avp_header('QoS-Profile-ID') -> + diameter_etsi_es283_034:avp_header('QoS-Profile-ID'); +avp_header('Transport-Class') -> + diameter_etsi_es283_034:avp_header('Transport-Class'); +avp_header('CC-Correlation-Id') -> + diameter_rfc4006_cc:avp_header('CC-Correlation-Id'); +avp_header('CC-Input-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Input-Octets'); +avp_header('CC-Money') -> + diameter_rfc4006_cc:avp_header('CC-Money'); +avp_header('CC-Output-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Output-Octets'); +avp_header('CC-Request-Number') -> + diameter_rfc4006_cc:avp_header('CC-Request-Number'); +avp_header('CC-Request-Type') -> + diameter_rfc4006_cc:avp_header('CC-Request-Type'); +avp_header('CC-Service-Specific-Units') -> + diameter_rfc4006_cc:avp_header('CC-Service-Specific-Units'); +avp_header('CC-Session-Failover') -> + diameter_rfc4006_cc:avp_header('CC-Session-Failover'); +avp_header('CC-Sub-Session-Id') -> + diameter_rfc4006_cc:avp_header('CC-Sub-Session-Id'); +avp_header('CC-Time') -> + diameter_rfc4006_cc:avp_header('CC-Time'); +avp_header('CC-Total-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Total-Octets'); +avp_header('CC-Unit-Type') -> + diameter_rfc4006_cc:avp_header('CC-Unit-Type'); +avp_header('Check-Balance-Result') -> + diameter_rfc4006_cc:avp_header('Check-Balance-Result'); +avp_header('Cost-Information') -> + diameter_rfc4006_cc:avp_header('Cost-Information'); +avp_header('Cost-Unit') -> + diameter_rfc4006_cc:avp_header('Cost-Unit'); +avp_header('Credit-Control') -> + diameter_rfc4006_cc:avp_header('Credit-Control'); +avp_header('Credit-Control-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Credit-Control-Failure-Handling'); +avp_header('Currency-Code') -> + diameter_rfc4006_cc:avp_header('Currency-Code'); +avp_header('Direct-Debiting-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Direct-Debiting-Failure-Handling'); +avp_header('Exponent') -> + diameter_rfc4006_cc:avp_header('Exponent'); +avp_header('Final-Unit-Action') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Action'); +avp_header('Final-Unit-Indication') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Indication'); +avp_header('G-S-U-Pool-Identifier') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Identifier'); +avp_header('G-S-U-Pool-Reference') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Reference'); +avp_header('Granted-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Granted-Service-Unit'); +avp_header('Multiple-Services-Credit-Control') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Credit-Control'); +avp_header('Multiple-Services-Indicator') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Indicator'); +avp_header('Rating-Group') -> + diameter_rfc4006_cc:avp_header('Rating-Group'); +avp_header('Redirect-Address-Type') -> + diameter_rfc4006_cc:avp_header('Redirect-Address-Type'); +avp_header('Redirect-Server') -> + diameter_rfc4006_cc:avp_header('Redirect-Server'); +avp_header('Redirect-Server-Address') -> + diameter_rfc4006_cc:avp_header('Redirect-Server-Address'); +avp_header('Requested-Action') -> + diameter_rfc4006_cc:avp_header('Requested-Action'); +avp_header('Requested-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Requested-Service-Unit'); +avp_header('Restriction-Filter-Rule') -> + diameter_rfc4006_cc:avp_header('Restriction-Filter-Rule'); +avp_header('Service-Context-Id') -> + diameter_rfc4006_cc:avp_header('Service-Context-Id'); +avp_header('Service-Identifier') -> + diameter_rfc4006_cc:avp_header('Service-Identifier'); +avp_header('Service-Parameter-Info') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Info'); +avp_header('Service-Parameter-Type') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Type'); +avp_header('Service-Parameter-Value') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Value'); +avp_header('Subscription-Id') -> + diameter_rfc4006_cc:avp_header('Subscription-Id'); +avp_header('Subscription-Id-Data') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Data'); +avp_header('Subscription-Id-Type') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Type'); +avp_header('Tariff-Change-Usage') -> + diameter_rfc4006_cc:avp_header('Tariff-Change-Usage'); +avp_header('Tariff-Time-Change') -> + diameter_rfc4006_cc:avp_header('Tariff-Time-Change'); +avp_header('Unit-Value') -> + diameter_rfc4006_cc:avp_header('Unit-Value'); +avp_header('Used-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Used-Service-Unit'); +avp_header('User-Equipment-Info') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info'); +avp_header('User-Equipment-Info-Type') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Type'); +avp_header('User-Equipment-Info-Value') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Value'); +avp_header('Validity-Time') -> + diameter_rfc4006_cc:avp_header('Validity-Time'); +avp_header('Value-Digits') -> + diameter_rfc4006_cc:avp_header('Value-Digits'); +avp_header('MIP6-Agent-Info') -> + diameter_rfc5447:avp_header('MIP6-Agent-Info'); +avp_header('MIP6-Home-Link-Prefix') -> + diameter_rfc5447:avp_header('MIP6-Home-Link-Prefix'); +avp_header('Location-Data') -> + diameter_rfc5580:avp_header('Location-Data'); +avp_header('Location-Information') -> + diameter_rfc5580:avp_header('Location-Information'); +avp_header('Operator-Name') -> + diameter_rfc5580:avp_header('Operator-Name'); +avp_header('Service-Selection') -> + diameter_rfc5778:avp_header('Service-Selection'); +avp_header('Framed-AppleTalk-Link') -> + diameter_rfc7155:avp_header('Framed-AppleTalk-Link'); +avp_header('Framed-AppleTalk-Network') -> + diameter_rfc7155:avp_header('Framed-AppleTalk-Network'); +avp_header('Framed-AppleTalk-Zone') -> + diameter_rfc7155:avp_header('Framed-AppleTalk-Zone'); +avp_header('Framed-Compression') -> + diameter_rfc7155:avp_header('Framed-Compression'); +avp_header('Framed-IP-Address') -> + diameter_rfc7155:avp_header('Framed-IP-Address'); +avp_header('Framed-IP-Netmask') -> + diameter_rfc7155:avp_header('Framed-IP-Netmask'); +avp_header('Framed-IPX-Network') -> + diameter_rfc7155:avp_header('Framed-IPX-Network'); +avp_header('Framed-IPv6-Pool') -> + diameter_rfc7155:avp_header('Framed-IPv6-Pool'); +avp_header('Framed-IPv6-Prefix') -> + diameter_rfc7155:avp_header('Framed-IPv6-Prefix'); +avp_header('Framed-IPv6-Route') -> + diameter_rfc7155:avp_header('Framed-IPv6-Route'); +avp_header('Framed-Interface-Id') -> + diameter_rfc7155:avp_header('Framed-Interface-Id'); +avp_header('Framed-MTU') -> + diameter_rfc7155:avp_header('Framed-MTU'); +avp_header('Framed-Pool') -> + diameter_rfc7155:avp_header('Framed-Pool'); +avp_header('Framed-Protocol') -> + diameter_rfc7155:avp_header('Framed-Protocol'); +avp_header('Framed-Route') -> + diameter_rfc7155:avp_header('Framed-Route'); +avp_header('Framed-Routing') -> + diameter_rfc7155:avp_header('Framed-Routing'); +avp_header('OC-Feature-Vector') -> + diameter_rfc7683:avp_header('OC-Feature-Vector'); +avp_header('OC-OLR') -> + diameter_rfc7683:avp_header('OC-OLR'); +avp_header('OC-Reduction-Percentage') -> + diameter_rfc7683:avp_header('OC-Reduction-Percentage'); +avp_header('OC-Report-Type') -> + diameter_rfc7683:avp_header('OC-Report-Type'); +avp_header('OC-Sequence-Number') -> + diameter_rfc7683:avp_header('OC-Sequence-Number'); +avp_header('OC-Supported-Features') -> + diameter_rfc7683:avp_header('OC-Supported-Features'); +avp_header('OC-Validity-Duration') -> + diameter_rfc7683:avp_header('OC-Validity-Duration'); +avp_header('DRMP') -> + diameter_rfc7944:avp_header('DRMP'); +avp_header('Load') -> + diameter_rfc8583:avp_header('Load'); +avp_header('Load-Type') -> + diameter_rfc8583:avp_header('Load-Type'); +avp_header('Load-Value') -> + diameter_rfc8583:avp_header('Load-Value'); +avp_header('SourceID') -> + diameter_rfc8583:avp_header('SourceID'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(T, Data, 'APN-OI-Replacement', Opts) -> + avp(T, + Data, + 'APN-OI-Replacement', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'Emergency-Info', Opts) -> + grouped_avp(T, 'Emergency-Info', Data, Opts); +avp(T, Data, 'GMLC-Number', Opts) -> + avp(T, + Data, + 'GMLC-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'SGSN-Number', Opts) -> + avp(T, + Data, + 'SGSN-Number', + Opts, + diameter_3gpp_break_circles); +avp(T, Data, 'AN-GW-Address', Opts) -> + avp(T, + Data, + 'AN-GW-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AN-GW-Status', Opts) -> + avp(T, + Data, + 'AN-GW-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-DL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-UL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Access-Network-Charging-Identifier-Gx', + Opts) -> + grouped_avp(T, + 'Access-Network-Charging-Identifier-Gx', + Data, + Opts); +avp(T, Data, 'Allocation-Retention-Priority', Opts) -> + grouped_avp(T, + 'Allocation-Retention-Priority', + Data, + Opts); +avp(T, Data, 'Application-Detection-Information', + Opts) -> + grouped_avp(T, + 'Application-Detection-Information', + Data, + Opts); +avp(T, Data, 'Bearer-Control-Mode', Opts) -> + avp(T, + Data, + 'Bearer-Control-Mode', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Identifier', Opts) -> + avp(T, + Data, + 'Bearer-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Operation', Opts) -> + avp(T, + Data, + 'Bearer-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Usage', Opts) -> + avp(T, + Data, + 'Bearer-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CSG-Information-Reporting', Opts) -> + avp(T, + Data, + 'CSG-Information-Reporting', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Correlation-Indicator', Opts) -> + avp(T, + Data, + 'Charging-Correlation-Indicator', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Base-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Base-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Definition', Opts) -> + grouped_avp(T, 'Charging-Rule-Definition', Data, Opts); +avp(T, Data, 'Charging-Rule-Install', Opts) -> + grouped_avp(T, 'Charging-Rule-Install', Data, Opts); +avp(T, Data, 'Charging-Rule-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Remove', Opts) -> + grouped_avp(T, 'Charging-Rule-Remove', Data, Opts); +avp(T, Data, 'Charging-Rule-Report', Opts) -> + grouped_avp(T, 'Charging-Rule-Report', Data, Opts); +avp(T, Data, 'CoA-IP-Address', Opts) -> + avp(T, + Data, + 'CoA-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CoA-Information', Opts) -> + grouped_avp(T, 'CoA-Information', Data, Opts); +avp(T, Data, 'Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + grouped_avp(T, + 'Conditional-APN-Aggregate-Max-Bitrate', + Data, + Opts); +avp(T, Data, 'Credit-Management-Status', Opts) -> + avp(T, + Data, + 'Credit-Management-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Default-EPS-Bearer-QoS', Opts) -> + grouped_avp(T, 'Default-EPS-Bearer-QoS', Data, Opts); +avp(T, Data, 'Default-QoS-Information', Opts) -> + grouped_avp(T, 'Default-QoS-Information', Data, Opts); +avp(T, Data, 'Default-QoS-Name', Opts) -> + avp(T, + Data, + 'Default-QoS-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Event-Report-Indication', Opts) -> + grouped_avp(T, 'Event-Report-Indication', Data, Opts); +avp(T, Data, 'Event-Trigger', Opts) -> + avp(T, + Data, + 'Event-Trigger', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Fixed-User-Location-Info', Opts) -> + grouped_avp(T, 'Fixed-User-Location-Info', Data, Opts); +avp(T, Data, 'Flow-Direction', Opts) -> + avp(T, + Data, + 'Flow-Direction', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Flow-Information', Opts) -> + grouped_avp(T, 'Flow-Information', Data, Opts); +avp(T, Data, 'Flow-Label', Opts) -> + avp(T, + Data, + 'Flow-Label', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-DL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-UL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'HeNB-Local-IP-Address', Opts) -> + avp(T, + Data, + 'HeNB-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Session-Charging-Scope', Opts) -> + avp(T, + Data, + 'IP-CAN-Session-Charging-Scope', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Type', Opts) -> + avp(T, + Data, + 'IP-CAN-Type', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Metering-Method', Opts) -> + avp(T, + Data, + 'Metering-Method', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Key', Opts) -> + avp(T, + Data, + 'Monitoring-Key', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Time', Opts) -> + avp(T, + Data, + 'Monitoring-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Mute-Notification', Opts) -> + avp(T, + Data, + 'Mute-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'NetLoc-Access-Support', Opts) -> + avp(T, + Data, + 'NetLoc-Access-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Network-Request-Support', Opts) -> + avp(T, + Data, + 'Network-Request-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Offline', Opts) -> + avp(T, Data, 'Offline', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Online', Opts) -> + avp(T, Data, 'Online', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'PCC-Rule-Status', Opts) -> + avp(T, + Data, + 'PCC-Rule-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PCSCF-Restoration-Indication', Opts) -> + avp(T, + Data, + 'PCSCF-Restoration-Indication', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PDN-Connection-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-ID', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PS-to-CS-Session-Continuity', Opts) -> + avp(T, + Data, + 'PS-to-CS-Session-Continuity', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Content', Opts) -> + avp(T, + Data, + 'Packet-Filter-Content', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Identifier', Opts) -> + avp(T, + Data, + 'Packet-Filter-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Information', Opts) -> + grouped_avp(T, 'Packet-Filter-Information', Data, Opts); +avp(T, Data, 'Packet-Filter-Operation', Opts) -> + avp(T, + Data, + 'Packet-Filter-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Usage', Opts) -> + avp(T, + Data, + 'Packet-Filter-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Capability', Opts) -> + avp(T, + Data, + 'Pre-emption-Capability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Vulnerability', Opts) -> + avp(T, + Data, + 'Pre-emption-Vulnerability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Precedence', Opts) -> + avp(T, + Data, + 'Precedence', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Elements-List', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Elements-List', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Identifier', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Information', + Opts) -> + grouped_avp(T, + 'Presence-Reporting-Area-Information', + Data, + Opts); +avp(T, Data, 'Presence-Reporting-Area-Status', Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Priority-Level', Opts) -> + avp(T, + Data, + 'Priority-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Class-Identifier', Opts) -> + avp(T, + Data, + 'QoS-Class-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Information', Opts) -> + grouped_avp(T, 'QoS-Information', Data, Opts); +avp(T, Data, 'QoS-Negotiation', Opts) -> + avp(T, + Data, + 'QoS-Negotiation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Upgrade', Opts) -> + avp(T, + Data, + 'QoS-Upgrade', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAN-NAS-Release-Cause', Opts) -> + avp(T, + Data, + 'RAN-NAS-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAT-Type', Opts) -> + avp(T, Data, 'RAT-Type', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Redirect-Information', Opts) -> + grouped_avp(T, 'Redirect-Information', Data, Opts); +avp(T, Data, 'Redirect-Support', Opts) -> + avp(T, + Data, + 'Redirect-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Reporting-Level', Opts) -> + avp(T, + Data, + 'Reporting-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Resource-Allocation-Notification', + Opts) -> + avp(T, + Data, + 'Resource-Allocation-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Revalidation-Time', Opts) -> + avp(T, + Data, + 'Revalidation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Filter', Opts) -> + grouped_avp(T, 'Routing-Filter', Data, Opts); +avp(T, Data, 'Routing-IP-Address', Opts) -> + avp(T, + Data, + 'Routing-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Definition', Opts) -> + grouped_avp(T, 'Routing-Rule-Definition', Data, Opts); +avp(T, Data, 'Routing-Rule-Identifier', Opts) -> + avp(T, + Data, + 'Routing-Rule-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Install', Opts) -> + grouped_avp(T, 'Routing-Rule-Install', Data, Opts); +avp(T, Data, 'Routing-Rule-Remove', Opts) -> + grouped_avp(T, 'Routing-Rule-Remove', Data, Opts); +avp(T, Data, 'Rule-Activation-Time', Opts) -> + avp(T, + Data, + 'Rule-Activation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Deactivation-Time', Opts) -> + avp(T, + Data, + 'Rule-Deactivation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Failure-Code', Opts) -> + avp(T, + Data, + 'Rule-Failure-Code', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Security-Parameter-Index', Opts) -> + avp(T, + Data, + 'Security-Parameter-Index', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Session-Release-Cause', Opts) -> + avp(T, + Data, + 'Session-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Identifier', Opts) -> + avp(T, + Data, + 'TDF-Application-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Instance-Identifier', + Opts) -> + avp(T, + Data, + 'TDF-Application-Instance-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Host', Opts) -> + avp(T, + Data, + 'TDF-Destination-Host', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Realm', Opts) -> + avp(T, + Data, + 'TDF-Destination-Realm', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-IP-Address', Opts) -> + avp(T, + Data, + 'TDF-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Information', Opts) -> + grouped_avp(T, 'TDF-Information', Data, Opts); +avp(T, Data, 'TFT-Filter', Opts) -> + avp(T, + Data, + 'TFT-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TFT-Packet-Filter-Information', Opts) -> + grouped_avp(T, + 'TFT-Packet-Filter-Information', + Data, + Opts); +avp(T, Data, 'ToS-Traffic-Class', Opts) -> + avp(T, + Data, + 'ToS-Traffic-Class', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Filter', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Length', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Length', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Information', Opts) -> + grouped_avp(T, 'Tunnel-Information', Data, Opts); +avp(T, Data, 'UDP-Source-Port', Opts) -> + avp(T, + Data, + 'UDP-Source-Port', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'UE-Local-IP-Address', Opts) -> + avp(T, + Data, + 'UE-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Information', Opts) -> + grouped_avp(T, + 'Usage-Monitoring-Information', + Data, + Opts); +avp(T, Data, 'Usage-Monitoring-Level', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Report', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Report', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Support', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'User-Location-Info-Time', Opts) -> + avp(T, + Data, + 'User-Location-Info-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AF-Application-Identifier', Opts) -> + avp(T, + Data, + 'AF-Application-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Charging-Identifier', Opts) -> + avp(T, + Data, + 'AF-Charging-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Signalling-Protocol', Opts) -> + avp(T, + Data, + 'AF-Signalling-Protocol', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Abort-Cause', Opts) -> + avp(T, + Data, + 'Abort-Cause', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Address', Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Address', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Identifier-Value', + Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Identifier-Value', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Application-Service-Provider-Identity', + Opts) -> + avp(T, + Data, + 'Application-Service-Provider-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Codec-Data', Opts) -> + avp(T, + Data, + 'Codec-Data', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Description', Opts) -> + avp(T, + Data, + 'Flow-Description', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Number', Opts) -> + avp(T, + Data, + 'Flow-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Status', Opts) -> + avp(T, + Data, + 'Flow-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Usage', Opts) -> + avp(T, + Data, + 'Flow-Usage', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flows', Opts) -> + grouped_avp(T, 'Flows', Data, Opts); +avp(T, Data, 'GCS-Identifier', Opts) -> + avp(T, + Data, + 'GCS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'IP-Domain-Id', Opts) -> + avp(T, + Data, + 'IP-Domain-Id', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'MPS-Identifier', Opts) -> + avp(T, + Data, + 'MPS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Component-Number', Opts) -> + avp(T, + Data, + 'Media-Component-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Type', Opts) -> + avp(T, + Data, + 'Media-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RR-Bandwidth', Opts) -> + avp(T, + Data, + 'RR-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RS-Bandwidth', Opts) -> + avp(T, + Data, + 'RS-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Required-Access-Info', Opts) -> + avp(T, + Data, + 'Required-Access-Info', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Rx-Request-Type', Opts) -> + avp(T, + Data, + 'Rx-Request-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'SIP-Forking-Indication', Opts) -> + avp(T, + Data, + 'SIP-Forking-Indication', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-Info-Status', Opts) -> + avp(T, + Data, + 'Service-Info-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-URN', Opts) -> + avp(T, + Data, + 'Service-URN', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Specific-Action', Opts) -> + avp(T, + Data, + 'Specific-Action', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Sponsor-Identity', Opts) -> + avp(T, + Data, + 'Sponsor-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Call-ID-SIP-Header', Opts) -> + avp(T, + Data, + 'Call-ID-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Charging-Information', Opts) -> + grouped_avp(T, 'Charging-Information', Data, Opts); +avp(T, Data, 'Confidentiality-Key', Opts) -> + avp(T, + Data, + 'Confidentiality-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Contact', Opts) -> + avp(T, Data, 'Contact', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Deregistration-Reason', Opts) -> + grouped_avp(T, 'Deregistration-Reason', Data, Opts); +avp(T, Data, 'Digest-Algorithm', Opts) -> + avp(T, + Data, + 'Digest-Algorithm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-HA1', Opts) -> + avp(T, + Data, + 'Digest-HA1', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-QoP', Opts) -> + avp(T, + Data, + 'Digest-QoP', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-Realm', Opts) -> + avp(T, + Data, + 'Digest-Realm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List', Opts) -> + avp(T, + Data, + 'Feature-List', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List-ID', Opts) -> + avp(T, + Data, + 'Feature-List-ID', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'From-SIP-Header', Opts) -> + avp(T, + Data, + 'From-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Initial-CSeq-Sequence-Number', Opts) -> + avp(T, + Data, + 'Initial-CSeq-Sequence-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Integrity-Key', Opts) -> + avp(T, + Data, + 'Integrity-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'LIA-Flags', Opts) -> + avp(T, Data, 'LIA-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Loose-Route-Indication', Opts) -> + avp(T, + Data, + 'Loose-Route-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Mandatory-Capability', Opts) -> + avp(T, + Data, + 'Mandatory-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Multiple-Registration-Indication', + Opts) -> + avp(T, + Data, + 'Multiple-Registration-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Optional-Capability', Opts) -> + avp(T, + Data, + 'Optional-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Originating-Request', Opts) -> + avp(T, + Data, + 'Originating-Request', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Path', Opts) -> + avp(T, Data, 'Path', Opts, diameter_3gpp_ts29_229); +avp(T, Data, + 'Primary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Primary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Primary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Primary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Priviledged-Sender-Indication', Opts) -> + avp(T, + Data, + 'Priviledged-Sender-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Public-Identity', Opts) -> + avp(T, + Data, + 'Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Code', Opts) -> + avp(T, + Data, + 'Reason-Code', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Info', Opts) -> + avp(T, + Data, + 'Reason-Info', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Record-Route', Opts) -> + avp(T, + Data, + 'Record-Route', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SAR-Flags', Opts) -> + avp(T, Data, 'SAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Auth-Data-Item', Opts) -> + grouped_avp(T, 'SIP-Auth-Data-Item', Data, Opts); +avp(T, Data, 'SIP-Authenticate', Opts) -> + avp(T, + Data, + 'SIP-Authenticate', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Context', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Context', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Scheme', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Scheme', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authorization', Opts) -> + avp(T, + Data, + 'SIP-Authorization', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Digest-Authenticate', Opts) -> + grouped_avp(T, 'SIP-Digest-Authenticate', Data, Opts); +avp(T, Data, 'SIP-Item-Number', Opts) -> + avp(T, + Data, + 'SIP-Item-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Number-Auth-Items', Opts) -> + avp(T, + Data, + 'SIP-Number-Auth-Items', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, + 'Secondary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Secondary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Secondary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Secondary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Assignment-Type', Opts) -> + avp(T, + Data, + 'Server-Assignment-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Name', Opts) -> + avp(T, + Data, + 'Server-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Session-Priority', Opts) -> + avp(T, + Data, + 'Session-Priority', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Supported-Applications', Opts) -> + grouped_avp(T, 'Supported-Applications', Data, Opts); +avp(T, Data, 'Supported-Features', Opts) -> + grouped_avp(T, 'Supported-Features', Data, Opts); +avp(T, Data, 'To-SIP-Header', Opts) -> + avp(T, + Data, + 'To-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'UAR-Flags', Opts) -> + avp(T, Data, 'UAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Authorization-Type', Opts) -> + avp(T, + Data, + 'User-Authorization-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data', Opts) -> + avp(T, Data, 'User-Data', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data-Already-Available', Opts) -> + avp(T, + Data, + 'User-Data-Already-Available', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'Visited-Network-Identifier', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Wildcarded-Public-Identity', Opts) -> + avp(T, + Data, + 'Wildcarded-Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, '3GPP2-MEID', Opts) -> + avp(T, + Data, + '3GPP2-MEID', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'A-MSISDN', Opts) -> + avp(T, Data, 'A-MSISDN', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'AMBR', Opts) -> + grouped_avp(T, 'AMBR', Data, Opts); +avp(T, Data, 'APN-Configuration', Opts) -> + grouped_avp(T, 'APN-Configuration', Data, Opts); +avp(T, Data, 'APN-Configuration-Profile', Opts) -> + grouped_avp(T, 'APN-Configuration-Profile', Data, Opts); +avp(T, Data, 'AUTN', Opts) -> + avp(T, Data, 'AUTN', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Access-Restriction-Data', Opts) -> + avp(T, + Data, + 'Access-Restriction-Data', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Active-APN', Opts) -> + grouped_avp(T, 'Active-APN', Data, Opts); +avp(T, Data, 'Age-Of-Location-Information', Opts) -> + avp(T, + Data, + 'Age-Of-Location-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Alert-Reason', Opts) -> + avp(T, + Data, + 'Alert-Reason', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, + 'All-APN-Configurations-Included-Indicator', Opts) -> + avp(T, + Data, + 'All-APN-Configurations-Included-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Area-Scope', Opts) -> + grouped_avp(T, 'Area-Scope', Data, Opts); +avp(T, Data, 'Authentication-Info', Opts) -> + grouped_avp(T, 'Authentication-Info', Data, Opts); +avp(T, Data, 'CLR-Flags', Opts) -> + avp(T, Data, 'CLR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'CSG-Id', Opts) -> + avp(T, Data, 'CSG-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'CSG-Subscription-Data', Opts) -> + grouped_avp(T, 'CSG-Subscription-Data', Data, Opts); +avp(T, Data, 'Call-Barring-Info', Opts) -> + grouped_avp(T, 'Call-Barring-Info', Data, Opts); +avp(T, Data, 'Cancellation-Type', Opts) -> + avp(T, + Data, + 'Cancellation-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Cell-Global-Identity', Opts) -> + avp(T, + Data, + 'Cell-Global-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Client-Identity', Opts) -> + avp(T, + Data, + 'Client-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Collection-Period-RRM-LTE', Opts) -> + avp(T, + Data, + 'Collection-Period-RRM-LTE', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Collection-Period-RRM-UMTS', Opts) -> + avp(T, + Data, + 'Collection-Period-RRM-UMTS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Complete-Data-List-Included-Indicator', + Opts) -> + avp(T, + Data, + 'Complete-Data-List-Included-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Context-Identifier', Opts) -> + avp(T, + Data, + 'Context-Identifier', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Core-Network-Restrictions', Opts) -> + avp(T, + Data, + 'Core-Network-Restrictions', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Current-Location-Retrieved', Opts) -> + avp(T, + Data, + 'Current-Location-Retrieved', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'DSA-Flags', Opts) -> + avp(T, Data, 'DSA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'DSR-Flags', Opts) -> + avp(T, Data, 'DSR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Daylight-Saving-Time', Opts) -> + avp(T, + Data, + 'Daylight-Saving-Time', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'E-UTRAN-Cell-Global-Identity', Opts) -> + avp(T, + Data, + 'E-UTRAN-Cell-Global-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'E-UTRAN-Vector', Opts) -> + grouped_avp(T, 'E-UTRAN-Vector', Data, Opts); +avp(T, Data, 'EPS-Location-Information', Opts) -> + grouped_avp(T, 'EPS-Location-Information', Data, Opts); +avp(T, Data, 'EPS-Subscribed-QoS-Profile', Opts) -> + grouped_avp(T, + 'EPS-Subscribed-QoS-Profile', + Data, + Opts); +avp(T, Data, 'EPS-User-State', Opts) -> + grouped_avp(T, 'EPS-User-State', Data, Opts); +avp(T, Data, 'Equipment-Status', Opts) -> + avp(T, + Data, + 'Equipment-Status', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Equivalent-PLMN-List', Opts) -> + grouped_avp(T, 'Equivalent-PLMN-List', Data, Opts); +avp(T, Data, 'Error-Diagnostic', Opts) -> + avp(T, + Data, + 'Error-Diagnostic', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-Event-1F', Opts) -> + avp(T, + Data, + 'Event-Threshold-Event-1F', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-Event-1I', Opts) -> + avp(T, + Data, + 'Event-Threshold-Event-1I', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-RSRP', Opts) -> + avp(T, + Data, + 'Event-Threshold-RSRP', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Event-Threshold-RSRQ', Opts) -> + avp(T, + Data, + 'Event-Threshold-RSRQ', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Expiration-Date', Opts) -> + avp(T, + Data, + 'Expiration-Date', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Ext-PDP-Address', Opts) -> + avp(T, + Data, + 'Ext-PDP-Address', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Ext-PDP-Type', Opts) -> + avp(T, + Data, + 'Ext-PDP-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'External-Client', Opts) -> + grouped_avp(T, 'External-Client', Data, Opts); +avp(T, Data, 'GERAN-Vector', Opts) -> + grouped_avp(T, 'GERAN-Vector', Data, Opts); +avp(T, Data, 'GMLC-Restriction', Opts) -> + avp(T, + Data, + 'GMLC-Restriction', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'GPRS-Subscription-Data', Opts) -> + grouped_avp(T, 'GPRS-Subscription-Data', Data, Opts); +avp(T, Data, 'Geodetic-Information', Opts) -> + avp(T, + Data, + 'Geodetic-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Geographical-Information', Opts) -> + avp(T, + Data, + 'Geographical-Information', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'HPLMN-ODB', Opts) -> + avp(T, Data, 'HPLMN-ODB', Opts, diameter_3gpp_ts29_272); +avp(T, Data, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + Opts) -> + avp(T, + Data, + 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'ICS-Indicator', Opts) -> + avp(T, + Data, + 'ICS-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'IDA-Flags', Opts) -> + avp(T, Data, 'IDA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IDR-Flags', Opts) -> + avp(T, Data, 'IDR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IMEI', Opts) -> + avp(T, Data, 'IMEI', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'IMS-Voice-Over-PS-Sessions-Supported', + Opts) -> + avp(T, + Data, + 'IMS-Voice-Over-PS-Sessions-Supported', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Immediate-Response-Preferred', Opts) -> + avp(T, + Data, + 'Immediate-Response-Preferred', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Item-Number', Opts) -> + avp(T, + Data, + 'Item-Number', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Job-Type', Opts) -> + avp(T, Data, 'Job-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'KASME', Opts) -> + avp(T, Data, 'KASME', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Kc', Opts) -> + avp(T, Data, 'Kc', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'LCS-Info', Opts) -> + grouped_avp(T, 'LCS-Info', Data, Opts); +avp(T, Data, 'LCS-PrivacyException', Opts) -> + grouped_avp(T, 'LCS-PrivacyException', Data, Opts); +avp(T, Data, 'LIPA-Permission', Opts) -> + avp(T, + Data, + 'LIPA-Permission', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Last-UE-Activity-Time', Opts) -> + avp(T, + Data, + 'Last-UE-Activity-Time', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'List-Of-Measurements', Opts) -> + avp(T, + Data, + 'List-Of-Measurements', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Local-Time-Zone', Opts) -> + grouped_avp(T, 'Local-Time-Zone', Data, Opts); +avp(T, Data, 'Location-Area-Identity', Opts) -> + avp(T, + Data, + 'Location-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Logging-Duration', Opts) -> + avp(T, + Data, + 'Logging-Duration', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Logging-Interval', Opts) -> + avp(T, + Data, + 'Logging-Interval', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MDT-Configuration', Opts) -> + grouped_avp(T, 'MDT-Configuration', Data, Opts); +avp(T, Data, 'MDT-User-Consent', Opts) -> + avp(T, + Data, + 'MDT-User-Consent', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MME-Location-Information', Opts) -> + grouped_avp(T, 'MME-Location-Information', Data, Opts); +avp(T, Data, 'MME-Number-for-MT-SMS', Opts) -> + avp(T, + Data, + 'MME-Number-for-MT-SMS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'MME-User-State', Opts) -> + grouped_avp(T, 'MME-User-State', Data, Opts); +avp(T, Data, 'MO-LR', Opts) -> + grouped_avp(T, 'MO-LR', Data, Opts); +avp(T, Data, 'MPS-Priority', Opts) -> + avp(T, + Data, + 'MPS-Priority', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Period-LTE', Opts) -> + avp(T, + Data, + 'Measurement-Period-LTE', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Period-UMTS', Opts) -> + avp(T, + Data, + 'Measurement-Period-UMTS', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Measurement-Quantity', Opts) -> + avp(T, + Data, + 'Measurement-Quantity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'NOR-Flags', Opts) -> + avp(T, Data, 'NOR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Network-Access-Mode', Opts) -> + avp(T, + Data, + 'Network-Access-Mode', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Notification-To-UE-User', Opts) -> + avp(T, + Data, + 'Notification-To-UE-User', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Number-Of-Requested-Vectors', Opts) -> + avp(T, + Data, + 'Number-Of-Requested-Vectors', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'OMC-Id', Opts) -> + avp(T, Data, 'OMC-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Operator-Determined-Barring', Opts) -> + avp(T, + Data, + 'Operator-Determined-Barring', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PDN-GW-Allocation-Type', Opts) -> + avp(T, + Data, + 'PDN-GW-Allocation-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PDN-Type', Opts) -> + avp(T, Data, 'PDN-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PDP-Context', Opts) -> + grouped_avp(T, 'PDP-Context', Data, Opts); +avp(T, Data, 'PDP-Type', Opts) -> + avp(T, Data, 'PDP-Type', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PLMN-Client', Opts) -> + avp(T, + Data, + 'PLMN-Client', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'PUA-Flags', Opts) -> + avp(T, Data, 'PUA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'PUR-Flags', Opts) -> + avp(T, Data, 'PUR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Positioning-Method', Opts) -> + avp(T, + Data, + 'Positioning-Method', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'QoS-Subscribed', Opts) -> + avp(T, + Data, + 'QoS-Subscribed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'RAND', Opts) -> + avp(T, Data, 'RAND', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'RAT-Frequency-Selection-Priority-ID', + Opts) -> + avp(T, + Data, + 'RAT-Frequency-Selection-Priority-ID', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Re-Synchronization-Info', Opts) -> + avp(T, + Data, + 'Re-Synchronization-Info', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Regional-Subscription-Zone-Code', Opts) -> + avp(T, + Data, + 'Regional-Subscription-Zone-Code', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Relay-Node-Indicator', Opts) -> + avp(T, + Data, + 'Relay-Node-Indicator', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Report-Amount', Opts) -> + avp(T, + Data, + 'Report-Amount', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Report-Interval', Opts) -> + avp(T, + Data, + 'Report-Interval', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Reporting-Trigger', Opts) -> + avp(T, + Data, + 'Reporting-Trigger', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Requested-EUTRAN-Authentication-Info', + Opts) -> + grouped_avp(T, + 'Requested-EUTRAN-Authentication-Info', + Data, + Opts); +avp(T, Data, + 'Requested-UTRAN-GERAN-Authentication-Info', Opts) -> + grouped_avp(T, + 'Requested-UTRAN-GERAN-Authentication-Info', + Data, + Opts); +avp(T, Data, 'Restoration-Priority', Opts) -> + avp(T, + Data, + 'Restoration-Priority', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + Opts) -> + avp(T, + Data, + 'Roaming-Restricted-Due-To-Unsupported-Feature', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Routing-Area-Identity', Opts) -> + avp(T, + Data, + 'Routing-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SGSN-Location-Information', Opts) -> + grouped_avp(T, 'SGSN-Location-Information', Data, Opts); +avp(T, Data, 'SGSN-User-State', Opts) -> + grouped_avp(T, 'SGSN-User-State', Data, Opts); +avp(T, Data, 'SIPTO-Permission', Opts) -> + avp(T, + Data, + 'SIPTO-Permission', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SMS-Register-Request', Opts) -> + avp(T, + Data, + 'SMS-Register-Request', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'SRES', Opts) -> + avp(T, Data, 'SRES', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'SS-Code', Opts) -> + avp(T, Data, 'SS-Code', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'SS-Status', Opts) -> + avp(T, Data, 'SS-Status', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'STN-SR', Opts) -> + avp(T, Data, 'STN-SR', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Service-Area-Identity', Opts) -> + avp(T, + Data, + 'Service-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Service-Type', Opts) -> + grouped_avp(T, 'Service-Type', Data, Opts); +avp(T, Data, 'ServiceTypeIdentity', Opts) -> + avp(T, + Data, + 'ServiceTypeIdentity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Software-Version', Opts) -> + avp(T, + Data, + 'Software-Version', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Specific-APN-Info', Opts) -> + grouped_avp(T, 'Specific-APN-Info', Data, Opts); +avp(T, Data, 'Subscribed-Periodic-RAU-TAU-Timer', + Opts) -> + avp(T, + Data, + 'Subscribed-Periodic-RAU-TAU-Timer', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscribed-VSRVCC', Opts) -> + avp(T, + Data, + 'Subscribed-VSRVCC', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscriber-Status', Opts) -> + avp(T, + Data, + 'Subscriber-Status', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Subscription-Data', Opts) -> + grouped_avp(T, 'Subscription-Data', Data, Opts); +avp(T, Data, 'Subscription-Data-Flags', Opts) -> + avp(T, + Data, + 'Subscription-Data-Flags', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'TS-Code', Opts) -> + avp(T, Data, 'TS-Code', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Teleservice-List', Opts) -> + grouped_avp(T, 'Teleservice-List', Data, Opts); +avp(T, Data, 'Terminal-Information', Opts) -> + grouped_avp(T, 'Terminal-Information', Data, Opts); +avp(T, Data, 'Time-Zone', Opts) -> + avp(T, Data, 'Time-Zone', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Collection-Entity', Opts) -> + avp(T, + Data, + 'Trace-Collection-Entity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Data', Opts) -> + grouped_avp(T, 'Trace-Data', Data, Opts); +avp(T, Data, 'Trace-Depth', Opts) -> + avp(T, + Data, + 'Trace-Depth', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Event-List', Opts) -> + avp(T, + Data, + 'Trace-Event-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Interface-List', Opts) -> + avp(T, + Data, + 'Trace-Interface-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-NE-Type-List', Opts) -> + avp(T, + Data, + 'Trace-NE-Type-List', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Trace-Reference', Opts) -> + avp(T, + Data, + 'Trace-Reference', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Tracking-Area-Identity', Opts) -> + avp(T, + Data, + 'Tracking-Area-Identity', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'UE-SRVCC-Capability', Opts) -> + avp(T, + Data, + 'UE-SRVCC-Capability', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'UE-Usage-Type', Opts) -> + avp(T, + Data, + 'UE-Usage-Type', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'ULA-Flags', Opts) -> + avp(T, Data, 'ULA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'ULR-Flags', Opts) -> + avp(T, Data, 'ULR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'UTRAN-Vector', Opts) -> + grouped_avp(T, 'UTRAN-Vector', Data, Opts); +avp(T, Data, 'UVA-Flags', Opts) -> + avp(T, Data, 'UVA-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'UVR-Flags', Opts) -> + avp(T, Data, 'UVR-Flags', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'User-Id', Opts) -> + avp(T, Data, 'User-Id', Opts, diameter_3gpp_ts29_272); +avp(T, Data, 'User-State', Opts) -> + avp(T, + Data, + 'User-State', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'VPLMN-CSG-Subscription-Data', Opts) -> + grouped_avp(T, + 'VPLMN-CSG-Subscription-Data', + Data, + Opts); +avp(T, Data, 'VPLMN-Dynamic-Address-Allowed', Opts) -> + avp(T, + Data, + 'VPLMN-Dynamic-Address-Allowed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'VPLMN-LIPA-Allowed', Opts) -> + avp(T, + Data, + 'VPLMN-LIPA-Allowed', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'Visited-PLMN-Id', Opts) -> + avp(T, + Data, + 'Visited-PLMN-Id', + Opts, + diameter_3gpp_ts29_272); +avp(T, Data, 'XRES', Opts) -> + avp(T, Data, 'XRES', Opts, diameter_3gpp_ts29_272); +avp(T, Data, '3GPP-AAA-Server-Name', Opts) -> + avp(T, + Data, + '3GPP-AAA-Server-Name', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'AAA-Failure-Indication', Opts) -> + avp(T, + Data, + 'AAA-Failure-Indication', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'AAR-Flags', Opts) -> + avp(T, Data, 'AAR-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'AN-Trusted', Opts) -> + avp(T, + Data, + 'AN-Trusted', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'ANID', Opts) -> + avp(T, Data, 'ANID', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'Access-Authorization-Flags', Opts) -> + avp(T, + Data, + 'Access-Authorization-Flags', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Access-Network-Info', Opts) -> + grouped_avp(T, 'Access-Network-Info', Data, Opts); +avp(T, Data, 'Connectivity-Flags', Opts) -> + avp(T, + Data, + 'Connectivity-Flags', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'DEA-Flags', Opts) -> + avp(T, Data, 'DEA-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'DER-Flags', Opts) -> + avp(T, Data, 'DER-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'DER-S6b-Flags', Opts) -> + avp(T, + Data, + 'DER-S6b-Flags', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'ERP-Authorization', Opts) -> + avp(T, + Data, + 'ERP-Authorization', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Emergency-Services', Opts) -> + avp(T, + Data, + 'Emergency-Services', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Full-Network-Name', Opts) -> + avp(T, + Data, + 'Full-Network-Name', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'HESSID', Opts) -> + avp(T, Data, 'HESSID', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'IMEI-Check-In-VPLMN-Result', Opts) -> + avp(T, + Data, + 'IMEI-Check-In-VPLMN-Result', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'MIP-FA-RK', Opts) -> + avp(T, Data, 'MIP-FA-RK', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'MIP-FA-RK-SPI', Opts) -> + avp(T, + Data, + 'MIP-FA-RK-SPI', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'MIP6-Feature-Vector', Opts) -> + avp(T, + Data, + 'MIP6-Feature-Vector', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Maximum-Wait-Time', Opts) -> + avp(T, + Data, + 'Maximum-Wait-Time', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Mobile-Node-Identifier', Opts) -> + avp(T, + Data, + 'Mobile-Node-Identifier', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Non-3GPP-IP-Access', Opts) -> + avp(T, + Data, + 'Non-3GPP-IP-Access', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Non-3GPP-IP-Access-APN', Opts) -> + avp(T, + Data, + 'Non-3GPP-IP-Access-APN', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Non-3GPP-User-Data', Opts) -> + grouped_avp(T, 'Non-3GPP-User-Data', Data, Opts); +avp(T, Data, 'Origination-Time-Stamp', Opts) -> + avp(T, + Data, + 'Origination-Time-Stamp', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'PPR-Flags', Opts) -> + avp(T, Data, 'PPR-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'RAR-Flags', Opts) -> + avp(T, Data, 'RAR-Flags', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'SM-Back-Off-Timer', Opts) -> + avp(T, + Data, + 'SM-Back-Off-Timer', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'SSID', Opts) -> + avp(T, Data, 'SSID', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'Short-Network-Name', Opts) -> + avp(T, + Data, + 'Short-Network-Name', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAG-CP-Address', Opts) -> + avp(T, + Data, + 'TWAG-CP-Address', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAG-UP-Address', Opts) -> + avp(T, + Data, + 'TWAG-UP-Address', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-Access-Info', Opts) -> + grouped_avp(T, 'TWAN-Access-Info', Data, Opts); +avp(T, Data, 'TWAN-Connection-Mode', Opts) -> + avp(T, + Data, + 'TWAN-Connection-Mode', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-Connectivity-Parameters', Opts) -> + grouped_avp(T, + 'TWAN-Connectivity-Parameters', + Data, + Opts); +avp(T, Data, 'TWAN-Default-APN-Context-Id', Opts) -> + avp(T, + Data, + 'TWAN-Default-APN-Context-Id', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-PCO', Opts) -> + avp(T, Data, 'TWAN-PCO', Opts, diameter_3gpp_ts29_273); +avp(T, Data, 'TWAN-S2a-Failure-Cause', Opts) -> + avp(T, + Data, + 'TWAN-S2a-Failure-Cause', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'Trace-Info', Opts) -> + grouped_avp(T, 'Trace-Info', Data, Opts); +avp(T, Data, 'Transport-Access-Type', Opts) -> + avp(T, + Data, + 'Transport-Access-Type', + Opts, + diameter_3gpp_ts29_273); +avp(T, Data, 'WLAN-Identifier', Opts) -> + grouped_avp(T, 'WLAN-Identifier', Data, Opts); +avp(T, Data, 'WLCP-Key', Opts) -> + avp(T, Data, 'WLCP-Key', Opts, diameter_3gpp_ts29_273); +avp(T, Data, '3GPP-PS-Data-Off-Status', Opts) -> + avp(T, + Data, + '3GPP-PS-Data-Off-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AF-Correlation-Information', Opts) -> + grouped_avp(T, + 'AF-Correlation-Information', + Data, + Opts); +avp(T, Data, 'APN-Rate-Control', Opts) -> + grouped_avp(T, 'APN-Rate-Control', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Downlink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Downlink', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Uplink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Uplink', Data, Opts); +avp(T, Data, 'Access-Network-Info-Change', Opts) -> + grouped_avp(T, + 'Access-Network-Info-Change', + Data, + Opts); +avp(T, Data, 'Access-Network-Information', Opts) -> + avp(T, + Data, + 'Access-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Access-Transfer-Information', Opts) -> + grouped_avp(T, + 'Access-Transfer-Information', + Data, + Opts); +avp(T, Data, 'Access-Transfer-Type', Opts) -> + avp(T, + Data, + 'Access-Transfer-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Account-Expiration', Opts) -> + avp(T, + Data, + 'Account-Expiration', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Accumulated-Cost', Opts) -> + grouped_avp(T, 'Accumulated-Cost', Data, Opts); +avp(T, Data, 'Adaptations', Opts) -> + avp(T, + Data, + 'Adaptations', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Content-Information', Opts) -> + grouped_avp(T, + 'Additional-Content-Information', + Data, + Opts); +avp(T, Data, 'Additional-Exception-Reports', Opts) -> + avp(T, + Data, + 'Additional-Exception-Reports', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Additional-Type-Information', Opts) -> + avp(T, + Data, + 'Additional-Type-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Data', Opts) -> + avp(T, + Data, + 'Address-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Domain', Opts) -> + grouped_avp(T, 'Address-Domain', Data, Opts); +avp(T, Data, 'Address-Type', Opts) -> + avp(T, + Data, + 'Address-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Addressee-Type', Opts) -> + avp(T, + Data, + 'Addressee-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Alternate-Charged-Party-Address', Opts) -> + avp(T, + Data, + 'Alternate-Charged-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Identifier', Opts) -> + avp(T, + Data, + 'Announcement-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcement-Information', Opts) -> + grouped_avp(T, 'Announcement-Information', Data, Opts); +avp(T, Data, 'Announcement-Order', Opts) -> + avp(T, + Data, + 'Announcement-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-PLMN-ID', Opts) -> + avp(T, + Data, + 'Announcing-PLMN-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Announcing-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Announcing-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Cost-Information', Opts) -> + grouped_avp(T, 'AoC-Cost-Information', Data, Opts); +avp(T, Data, 'AoC-Format', Opts) -> + avp(T, + Data, + 'AoC-Format', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Information', Opts) -> + grouped_avp(T, 'AoC-Information', Data, Opts); +avp(T, Data, 'AoC-Request-Type', Opts) -> + avp(T, + Data, + 'AoC-Request-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service', Opts) -> + grouped_avp(T, 'AoC-Service', Data, Opts); +avp(T, Data, 'AoC-Service-Obligatory-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Obligatory-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Service-Type', Opts) -> + avp(T, + Data, + 'AoC-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'AoC-Subscription-Information', Opts) -> + grouped_avp(T, + 'AoC-Subscription-Information', + Data, + Opts); +avp(T, Data, 'Applic-ID', Opts) -> + avp(T, Data, 'Applic-ID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, + 'Application-Provided-Called-Party-Address', Opts) -> + avp(T, + Data, + 'Application-Provided-Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server', Opts) -> + avp(T, + Data, + 'Application-Server', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Application-Server-Information', Opts) -> + grouped_avp(T, + 'Application-Server-Information', + Data, + Opts); +avp(T, Data, 'Application-Specific-Data', Opts) -> + avp(T, + Data, + 'Application-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-Party-Address', Opts) -> + avp(T, + Data, + 'Associated-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Associated-URI', Opts) -> + avp(T, + Data, + 'Associated-URI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Authorised-QoS', Opts) -> + avp(T, + Data, + 'Authorised-QoS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Aux-Applic-Info', Opts) -> + avp(T, + Data, + 'Aux-Applic-Info', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'BSSID', Opts) -> + avp(T, Data, 'BSSID', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Base-Time-Interval', Opts) -> + avp(T, + Data, + 'Base-Time-Interval', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Basic-Service-Code', Opts) -> + grouped_avp(T, 'Basic-Service-Code', Data, Opts); +avp(T, Data, 'Bearer-Capability', Opts) -> + avp(T, + Data, + 'Bearer-Capability', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Bearer-Service', Opts) -> + avp(T, + Data, + 'Bearer-Service', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CG-Address', Opts) -> + avp(T, + Data, + 'CG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CN-Operator-Selection-Entity', Opts) -> + avp(T, + Data, + 'CN-Operator-Selection-Entity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CP-CIoT-EPS-Optimisation-Indicator', + Opts) -> + avp(T, + Data, + 'CP-CIoT-EPS-Optimisation-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CPDT-Information', Opts) -> + grouped_avp(T, 'CPDT-Information', Data, Opts); +avp(T, Data, 'CSG-Access-Mode', Opts) -> + avp(T, + Data, + 'CSG-Access-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CSG-Membership-Indication', Opts) -> + avp(T, + Data, + 'CSG-Membership-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'CUG-Information', Opts) -> + avp(T, + Data, + 'CUG-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Asserted-Identity', Opts) -> + avp(T, + Data, + 'Called-Asserted-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity', Opts) -> + avp(T, + Data, + 'Called-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Called-Identity-Change', Opts) -> + grouped_avp(T, 'Called-Identity-Change', Data, Opts); +avp(T, Data, 'Called-Party-Address', Opts) -> + avp(T, + Data, + 'Called-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Calling-Party-Address', Opts) -> + avp(T, + Data, + 'Calling-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Carrier-Select-Routing-Information', + Opts) -> + avp(T, + Data, + 'Carrier-Select-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cause-Code', Opts) -> + avp(T, + Data, + 'Cause-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Cellular-Network-Information', Opts) -> + avp(T, + Data, + 'Cellular-Network-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Condition', Opts) -> + avp(T, + Data, + 'Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Change-Time', Opts) -> + avp(T, + Data, + 'Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charge-Reason-Code', Opts) -> + avp(T, + Data, + 'Charge-Reason-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charged-Party', Opts) -> + avp(T, + Data, + 'Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Characteristics-Selection-Mode', + Opts) -> + avp(T, + Data, + 'Charging-Characteristics-Selection-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Charging-Per-IP-CAN-Session-Indicator', + Opts) -> + avp(T, + Data, + 'Charging-Per-IP-CAN-Session-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Class-Identifier', Opts) -> + avp(T, + Data, + 'Class-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Client-Address', Opts) -> + avp(T, + Data, + 'Client-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Class', Opts) -> + avp(T, + Data, + 'Content-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Disposition', Opts) -> + avp(T, + Data, + 'Content-Disposition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Length', Opts) -> + avp(T, + Data, + 'Content-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Size', Opts) -> + avp(T, + Data, + 'Content-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Content-Type', Opts) -> + avp(T, + Data, + 'Content-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Coverage-Info', Opts) -> + grouped_avp(T, 'Coverage-Info', Data, Opts); +avp(T, Data, 'Coverage-Status', Opts) -> + avp(T, + Data, + 'Coverage-Status', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Current-Tariff', Opts) -> + grouped_avp(T, 'Current-Tariff', Data, Opts); +avp(T, Data, 'DRM-Content', Opts) -> + avp(T, + Data, + 'DRM-Content', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Deferred-Location-Event-Type', Opts) -> + avp(T, + Data, + 'Deferred-Location-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Delivery-Report-Requested', Opts) -> + avp(T, + Data, + 'Delivery-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Destination-Interface', Opts) -> + grouped_avp(T, 'Destination-Interface', Data, Opts); +avp(T, Data, 'Diagnostics', Opts) -> + avp(T, + Data, + 'Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoveree-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoveree-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Discoverer-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Discoverer-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Domain-Name', Opts) -> + avp(T, + Data, + 'Domain-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Dynamic-Address-Flag-Extension', Opts) -> + avp(T, + Data, + 'Dynamic-Address-Flag-Extension', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'EPDG-Address', Opts) -> + avp(T, + Data, + 'EPDG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Early-Media-Description', Opts) -> + grouped_avp(T, 'Early-Media-Description', Data, Opts); +avp(T, Data, 'Enhanced-Diagnostics', Opts) -> + grouped_avp(T, 'Enhanced-Diagnostics', Data, Opts); +avp(T, Data, 'Envelope', Opts) -> + grouped_avp(T, 'Envelope', Data, Opts); +avp(T, Data, 'Envelope-End-Time', Opts) -> + avp(T, + Data, + 'Envelope-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Reporting', Opts) -> + avp(T, + Data, + 'Envelope-Reporting', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Envelope-Start-Time', Opts) -> + avp(T, + Data, + 'Envelope-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event', Opts) -> + avp(T, Data, 'Event', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Charging-TimeStamp', Opts) -> + avp(T, + Data, + 'Event-Charging-TimeStamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Event-Type', Opts) -> + grouped_avp(T, 'Event-Type', Data, Opts); +avp(T, Data, 'Expires', Opts) -> + avp(T, Data, 'Expires', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'FE-Identifier-List', Opts) -> + avp(T, + Data, + 'FE-Identifier-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'File-Repair-Supported', Opts) -> + avp(T, + Data, + 'File-Repair-Supported', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Forwarding-Pending', Opts) -> + avp(T, + Data, + 'Forwarding-Pending', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'From-Address', Opts) -> + avp(T, + Data, + 'From-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'GGSN-Address', Opts) -> + avp(T, + Data, + 'GGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Application-Reference-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Application-Reference-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Communication-Service-Identifier', + Opts) -> + avp(T, + Data, + 'IMS-Communication-Service-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Emergency-Indicator', Opts) -> + avp(T, + Data, + 'IMS-Emergency-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMS-Information', Opts) -> + grouped_avp(T, 'IMS-Information', Data, Opts); +avp(T, Data, 'IMS-Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'IMS-Visited-Network-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IMSI-Unauthenticated-Flag', Opts) -> + avp(T, + Data, + 'IMSI-Unauthenticated-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'IP-Realm-Default-Indication', Opts) -> + avp(T, + Data, + 'IP-Realm-Default-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause', Opts) -> + grouped_avp(T, 'ISUP-Cause', Data, Opts); +avp(T, Data, 'ISUP-Cause-Diagnostics', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Diagnostics', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Location', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Location', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Cause-Value', Opts) -> + avp(T, + Data, + 'ISUP-Cause-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ISUP-Location-Number', Opts) -> + avp(T, + Data, + 'ISUP-Location-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incoming-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Incoming-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Incremental-Cost', Opts) -> + grouped_avp(T, 'Incremental-Cost', Data, Opts); +avp(T, Data, 'Initial-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Initial-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Instance-Id', Opts) -> + avp(T, + Data, + 'Instance-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Inter-Operator-Identifier', Opts) -> + grouped_avp(T, 'Inter-Operator-Identifier', Data, Opts); +avp(T, Data, 'Inter-UE-Transfer', Opts) -> + avp(T, + Data, + 'Inter-UE-Transfer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Id', Opts) -> + avp(T, + Data, + 'Interface-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Port', Opts) -> + avp(T, + Data, + 'Interface-Port', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Text', Opts) -> + avp(T, + Data, + 'Interface-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Interface-Type', Opts) -> + avp(T, + Data, + 'Interface-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-APN', Opts) -> + avp(T, Data, 'LCS-APN', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-Dialed-By-MS', Opts) -> + avp(T, + Data, + 'LCS-Client-Dialed-By-MS', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-External-ID', Opts) -> + avp(T, + Data, + 'LCS-Client-External-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Client-ID', Opts) -> + grouped_avp(T, 'LCS-Client-ID', Data, Opts); +avp(T, Data, 'LCS-Client-Name', Opts) -> + grouped_avp(T, 'LCS-Client-Name', Data, Opts); +avp(T, Data, 'LCS-Client-Type', Opts) -> + avp(T, + Data, + 'LCS-Client-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Data-Coding-Scheme', Opts) -> + avp(T, + Data, + 'LCS-Data-Coding-Scheme', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Format-Indicator', Opts) -> + avp(T, + Data, + 'LCS-Format-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Information', Opts) -> + grouped_avp(T, 'LCS-Information', Data, Opts); +avp(T, Data, 'LCS-Name-String', Opts) -> + avp(T, + Data, + 'LCS-Name-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'LCS-Requestor-ID', Opts) -> + grouped_avp(T, 'LCS-Requestor-ID', Data, Opts); +avp(T, Data, 'LCS-Requestor-ID-String', Opts) -> + avp(T, + Data, + 'LCS-Requestor-ID-String', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Language', Opts) -> + avp(T, Data, 'Language', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Layer-2-Group-ID', Opts) -> + avp(T, + Data, + 'Layer-2-Group-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-GW-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Local-GW-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Local-Sequence-Number', Opts) -> + avp(T, + Data, + 'Local-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate', Opts) -> + avp(T, + Data, + 'Location-Estimate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Estimate-Type', Opts) -> + avp(T, + Data, + 'Location-Estimate-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Location-Info', Opts) -> + grouped_avp(T, 'Location-Info', Data, Opts); +avp(T, Data, 'Location-Type', Opts) -> + grouped_avp(T, 'Location-Type', Data, Opts); +avp(T, Data, 'Low-Balance-Indication', Opts) -> + avp(T, + Data, + 'Low-Balance-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Low-Priority-Indicator', Opts) -> + avp(T, + Data, + 'Low-Priority-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Charged-Party', Opts) -> + avp(T, + Data, + 'MBMS-Charged-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-GW-Address', Opts) -> + avp(T, + Data, + 'MBMS-GW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MBMS-Information', Opts) -> + grouped_avp(T, 'MBMS-Information', Data, Opts); +avp(T, Data, 'MBMS-User-Service-Type', Opts) -> + avp(T, + Data, + 'MBMS-User-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MM-Content-Type', Opts) -> + grouped_avp(T, 'MM-Content-Type', Data, Opts); +avp(T, Data, 'MMBox-Storage-Requested', Opts) -> + avp(T, + Data, + 'MMBox-Storage-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MMS-Information', Opts) -> + grouped_avp(T, 'MMS-Information', Data, Opts); +avp(T, Data, 'MMTel-Information', Opts) -> + grouped_avp(T, 'MMTel-Information', Data, Opts); +avp(T, Data, 'MMTel-SService-Type', Opts) -> + avp(T, + Data, + 'MMTel-SService-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MSC-Address', Opts) -> + avp(T, + Data, + 'MSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'MTC-IWF-Address', Opts) -> + avp(T, + Data, + 'MTC-IWF-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Flag', Opts) -> + avp(T, + Data, + 'Media-Initiator-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Media-Initiator-Party', Opts) -> + avp(T, + Data, + 'Media-Initiator-Party', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Body', Opts) -> + grouped_avp(T, 'Message-Body', Data, Opts); +avp(T, Data, 'Message-Class', Opts) -> + grouped_avp(T, 'Message-Class', Data, Opts); +avp(T, Data, 'Message-ID', Opts) -> + avp(T, + Data, + 'Message-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Size', Opts) -> + avp(T, + Data, + 'Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Message-Type', Opts) -> + avp(T, + Data, + 'Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitored-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitored-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Configuration-Activity', + Opts) -> + avp(T, + Data, + 'Monitoring-Event-Configuration-Activity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Functionality', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-Event-Information', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Information', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Data', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Report-Data', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Number', Opts) -> + avp(T, + Data, + 'Monitoring-Event-Report-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-HPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-HPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Monitoring-UE-VPLMN-Identifier', Opts) -> + avp(T, + Data, + 'Monitoring-UE-VPLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'NIDD-Submission', Opts) -> + grouped_avp(T, 'NIDD-Submission', Data, Opts); +avp(T, Data, 'NNI-Information', Opts) -> + grouped_avp(T, 'NNI-Information', Data, Opts); +avp(T, Data, 'NNI-Type', Opts) -> + avp(T, Data, 'NNI-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Neighbour-Node-Address', Opts) -> + avp(T, + Data, + 'Neighbour-Node-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Network-Call-Reference-Number', Opts) -> + avp(T, + Data, + 'Network-Call-Reference-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Next-Tariff', Opts) -> + grouped_avp(T, 'Next-Tariff', Data, Opts); +avp(T, Data, 'Node-Functionality', Opts) -> + avp(T, + Data, + 'Node-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Node-Id', Opts) -> + avp(T, Data, 'Node-Id', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Diversions', Opts) -> + avp(T, + Data, + 'Number-Of-Diversions', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Messages-Sent', Opts) -> + avp(T, + Data, + 'Number-Of-Messages-Sent', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Participants', Opts) -> + avp(T, + Data, + 'Number-Of-Participants', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Received-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Received-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Of-Talk-Bursts', Opts) -> + avp(T, + Data, + 'Number-Of-Talk-Bursts', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Number-Portability-Routing-Information', + Opts) -> + avp(T, + Data, + 'Number-Portability-Routing-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Offline-Charging', Opts) -> + grouped_avp(T, 'Offline-Charging', Data, Opts); +avp(T, Data, 'Online-Charging-Flag', Opts) -> + avp(T, + Data, + 'Online-Charging-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originating-IOI', Opts) -> + avp(T, + Data, + 'Originating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator', Opts) -> + avp(T, + Data, + 'Originator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Originator-Address', Opts) -> + grouped_avp(T, 'Originator-Address', Data, Opts); +avp(T, Data, 'Originator-Interface', Opts) -> + grouped_avp(T, 'Originator-Interface', Data, Opts); +avp(T, Data, 'Originator-Received-Address', Opts) -> + grouped_avp(T, + 'Originator-Received-Address', + Data, + Opts); +avp(T, Data, 'Originator-SCCP-Address', Opts) -> + avp(T, + Data, + 'Originator-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Session-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Outgoing-Trunk-Group-Id', Opts) -> + avp(T, + Data, + 'Outgoing-Trunk-Group-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC3-EPC-Control-Protocol-Cause', Opts) -> + avp(T, + Data, + 'PC3-EPC-Control-Protocol-Cause', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PC5-Radio-Technology', Opts) -> + avp(T, + Data, + 'PC5-Radio-Technology', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDN-Connection-Charging-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-Charging-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address', Opts) -> + avp(T, + Data, + 'PDP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Address-Prefix-Length', Opts) -> + avp(T, + Data, + 'PDP-Address-Prefix-Length', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PDP-Context-Type', Opts) -> + avp(T, + Data, + 'PDP-Context-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Append-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Append-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Free-Format-Data', Opts) -> + avp(T, + Data, + 'PS-Free-Format-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PS-Furnish-Charging-Information', Opts) -> + grouped_avp(T, + 'PS-Furnish-Charging-Information', + Data, + Opts); +avp(T, Data, 'PS-Information', Opts) -> + grouped_avp(T, 'PS-Information', Data, Opts); +avp(T, Data, 'Participant-Access-Priority', Opts) -> + avp(T, + Data, + 'Participant-Access-Priority', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Action-Type', Opts) -> + avp(T, + Data, + 'Participant-Action-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Participant-Group', Opts) -> + grouped_avp(T, 'Participant-Group', Data, Opts); +avp(T, Data, 'Participants-Involved', Opts) -> + avp(T, + Data, + 'Participants-Involved', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Play-Alternative', Opts) -> + avp(T, + Data, + 'Play-Alternative', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Condition', Opts) -> + avp(T, + Data, + 'PoC-Change-Condition', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Change-Time', Opts) -> + avp(T, + Data, + 'PoC-Change-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Controlling-Address', Opts) -> + avp(T, + Data, + 'PoC-Controlling-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Event-Type', Opts) -> + avp(T, + Data, + 'PoC-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Group-Name', Opts) -> + avp(T, + Data, + 'PoC-Group-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Information', Opts) -> + grouped_avp(T, 'PoC-Information', Data, Opts); +avp(T, Data, 'PoC-Server-Role', Opts) -> + avp(T, + Data, + 'PoC-Server-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Id', Opts) -> + avp(T, + Data, + 'PoC-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Initiation-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Initiation-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-Session-Type', Opts) -> + avp(T, + Data, + 'PoC-Session-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role', Opts) -> + grouped_avp(T, 'PoC-User-Role', Data, Opts); +avp(T, Data, 'PoC-User-Role-IDs', Opts) -> + avp(T, + Data, + 'PoC-User-Role-IDs', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'PoC-User-Role-Info-Units', Opts) -> + avp(T, + Data, + 'PoC-User-Role-Info-Units', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Positioning-Data', Opts) -> + avp(T, + Data, + 'Positioning-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Preferred-AoC-Currency', Opts) -> + avp(T, + Data, + 'Preferred-AoC-Currency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Priority', Opts) -> + avp(T, Data, 'Priority', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Privacy-Indicator', Opts) -> + avp(T, + Data, + 'Privacy-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-3rd-Party-Application-ID', Opts) -> + avp(T, + Data, + 'ProSe-3rd-Party-Application-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, + 'ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Reception-Data-Container', + Data, + Opts); +avp(T, Data, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Data, + Opts); +avp(T, Data, 'ProSe-Direct-Discovery-Model', Opts) -> + avp(T, + Data, + 'ProSe-Direct-Discovery-Model', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Event-Type', Opts) -> + avp(T, + Data, + 'ProSe-Event-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Function-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Function-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'ProSe-Function-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Functionality', Opts) -> + avp(T, + Data, + 'ProSe-Functionality', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Group-IP-Multicast-Address', + Opts) -> + avp(T, + Data, + 'ProSe-Group-IP-Multicast-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Information', Opts) -> + grouped_avp(T, 'ProSe-Information', Data, Opts); +avp(T, Data, 'ProSe-Range-Class', Opts) -> + avp(T, + Data, + 'ProSe-Range-Class', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Reason-For-Cancellation', Opts) -> + avp(T, + Data, + 'ProSe-Reason-For-Cancellation', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Request-Timestamp', Opts) -> + avp(T, + Data, + 'ProSe-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Role-Of-UE', Opts) -> + avp(T, + Data, + 'ProSe-Role-Of-UE', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Source-IP-Address', Opts) -> + avp(T, + Data, + 'ProSe-Source-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-Target-Layer-2-ID', Opts) -> + avp(T, + Data, + 'ProSe-Target-Layer-2-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'ProSe-UE-to-Network-Relay-UE-ID', Opts) -> + avp(T, + Data, + 'ProSe-UE-to-Network-Relay-UE-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Indication', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Alert-Timestamp', Opts) -> + avp(T, + Data, + 'Proximity-Alert-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Proximity-Cancellation-Timestamp', + Opts) -> + avp(T, + Data, + 'Proximity-Cancellation-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Consumption-Time', Opts) -> + avp(T, + Data, + 'Quota-Consumption-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Holding-Time', Opts) -> + avp(T, + Data, + 'Quota-Holding-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Quota-Indicator', Opts) -> + avp(T, + Data, + 'Quota-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-End-Time', Opts) -> + avp(T, + Data, + 'RAN-End-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'RAN-Secondary-RAT-Usage-Report', Opts) -> + grouped_avp(T, + 'RAN-Secondary-RAT-Usage-Report', + Data, + Opts); +avp(T, Data, 'RAN-Start-Time', Opts) -> + avp(T, + Data, + 'RAN-Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Frequency', Opts) -> + avp(T, + Data, + 'Radio-Frequency', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Parameter-Set-Info', Opts) -> + grouped_avp(T, 'Radio-Parameter-Set-Info', Data, Opts); +avp(T, Data, 'Radio-Parameter-Set-Values', Opts) -> + avp(T, + Data, + 'Radio-Parameter-Set-Values', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Radio-Resources-Indicator', Opts) -> + avp(T, + Data, + 'Radio-Resources-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Message-Size', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Message-Size', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Max-Rate', Opts) -> + avp(T, + Data, + 'Rate-Control-Max-Rate', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Control-Time-Unit', Opts) -> + avp(T, + Data, + 'Rate-Control-Time-Unit', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Rate-Element', Opts) -> + grouped_avp(T, 'Rate-Element', Data, Opts); +avp(T, Data, 'Read-Reply-Report-Requested', Opts) -> + avp(T, + Data, + 'Read-Reply-Report-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Real-Time-Tariff-Information', Opts) -> + grouped_avp(T, + 'Real-Time-Tariff-Information', + Data, + Opts); +avp(T, Data, 'Reason-Header', Opts) -> + avp(T, + Data, + 'Reason-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Received-Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Received-Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Recipient-Address', Opts) -> + grouped_avp(T, 'Recipient-Address', Data, Opts); +avp(T, Data, 'Recipient-Info', Opts) -> + grouped_avp(T, 'Recipient-Info', Data, Opts); +avp(T, Data, 'Recipient-Received-Address', Opts) -> + grouped_avp(T, + 'Recipient-Received-Address', + Data, + Opts); +avp(T, Data, 'Recipient-SCCP-Address', Opts) -> + avp(T, + Data, + 'Recipient-SCCP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Refund-Information', Opts) -> + avp(T, + Data, + 'Refund-Information', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Change-Condition-Information', + Opts) -> + grouped_avp(T, + 'Related-Change-Condition-Information', + Data, + Opts); +avp(T, Data, 'Related-IMS-Charging-Identifier', Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-IMS-Charging-Identifier-Node', + Opts) -> + avp(T, + Data, + 'Related-IMS-Charging-Identifier-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Related-Trigger', Opts) -> + grouped_avp(T, 'Related-Trigger', Data, Opts); +avp(T, Data, 'Relationship-Mode', Opts) -> + avp(T, + Data, + 'Relationship-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Relay-IP-address', Opts) -> + avp(T, + Data, + 'Relay-IP-address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Remaining-Balance', Opts) -> + grouped_avp(T, 'Remaining-Balance', Data, Opts); +avp(T, Data, 'Reply-Applic-ID', Opts) -> + avp(T, + Data, + 'Reply-Applic-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reply-Path-Requested', Opts) -> + avp(T, + Data, + 'Reply-Path-Requested', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Reporting-Reason', Opts) -> + avp(T, + Data, + 'Reporting-Reason', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requested-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requested-Party-Address', Opts) -> + avp(T, + Data, + 'Requested-Party-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Requestor-PLMN-Identifier', Opts) -> + avp(T, + Data, + 'Requestor-PLMN-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-Node', Opts) -> + avp(T, + Data, + 'Role-Of-Node', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Role-Of-ProSe-Function', Opts) -> + avp(T, + Data, + 'Role-Of-ProSe-Function', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Received', Opts) -> + avp(T, + Data, + 'Route-Header-Received', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Route-Header-Transmitted', Opts) -> + avp(T, + Data, + 'Route-Header-Transmitted', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-AS-Address', Opts) -> + grouped_avp(T, 'SCS-AS-Address', Data, Opts); +avp(T, Data, 'SCS-Address', Opts) -> + avp(T, + Data, + 'SCS-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SCS-Realm', Opts) -> + avp(T, Data, 'SCS-Realm', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Answer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Answer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Component', Opts) -> + grouped_avp(T, 'SDP-Media-Component', Data, Opts); +avp(T, Data, 'SDP-Media-Description', Opts) -> + avp(T, + Data, + 'SDP-Media-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Media-Name', Opts) -> + avp(T, + Data, + 'SDP-Media-Name', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Offer-Timestamp', Opts) -> + avp(T, + Data, + 'SDP-Offer-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-Session-Description', Opts) -> + avp(T, + Data, + 'SDP-Session-Description', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SDP-TimeStamps', Opts) -> + grouped_avp(T, 'SDP-TimeStamps', Data, Opts); +avp(T, Data, 'SDP-Type', Opts) -> + avp(T, Data, 'SDP-Type', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SGSN-Address', Opts) -> + avp(T, + Data, + 'SGSN-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Address', Opts) -> + avp(T, + Data, + 'SGW-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGW-Change', Opts) -> + avp(T, + Data, + 'SGW-Change', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SGi-PtP-Tunnelling-Method', Opts) -> + avp(T, + Data, + 'SGi-PtP-Tunnelling-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Method', Opts) -> + avp(T, + Data, + 'SIP-Method', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Request-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Request-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SIP-Response-Timestamp-Fraction', Opts) -> + avp(T, + Data, + 'SIP-Response-Timestamp-Fraction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Indicator', Opts) -> + avp(T, + Data, + 'SM-Device-Trigger-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Device-Trigger-Information', Opts) -> + grouped_avp(T, + 'SM-Device-Trigger-Information', + Data, + Opts); +avp(T, Data, 'SM-Discharge-Time', Opts) -> + avp(T, + Data, + 'SM-Discharge-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Message-Type', Opts) -> + avp(T, + Data, + 'SM-Message-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Protocol-ID', Opts) -> + avp(T, + Data, + 'SM-Protocol-ID', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Sequence-Number', Opts) -> + avp(T, + Data, + 'SM-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Service-Type', Opts) -> + avp(T, + Data, + 'SM-Service-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SM-Status', Opts) -> + avp(T, Data, 'SM-Status', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SM-User-Data-Header', Opts) -> + avp(T, + Data, + 'SM-User-Data-Header', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Information', Opts) -> + grouped_avp(T, 'SMS-Information', Data, Opts); +avp(T, Data, 'SMS-Node', Opts) -> + avp(T, Data, 'SMS-Node', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'SMS-Result', Opts) -> + avp(T, + Data, + 'SMS-Result', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'SMSC-Address', Opts) -> + avp(T, + Data, + 'SMSC-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Scale-Factor', Opts) -> + grouped_avp(T, 'Scale-Factor', Data, Opts); +avp(T, Data, 'Secondary-RAT-Type', Opts) -> + avp(T, + Data, + 'Secondary-RAT-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Served-Party-IP-Address', Opts) -> + avp(T, + Data, + 'Served-Party-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Data-Container', Opts) -> + grouped_avp(T, 'Service-Data-Container', Data, Opts); +avp(T, Data, 'Service-Id', Opts) -> + avp(T, + Data, + 'Service-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Information', Opts) -> + grouped_avp(T, 'Service-Information', Data, Opts); +avp(T, Data, 'Service-Mode', Opts) -> + avp(T, + Data, + 'Service-Mode', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Data', Opts) -> + avp(T, + Data, + 'Service-Specific-Data', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Service-Specific-Info', Opts) -> + grouped_avp(T, 'Service-Specific-Info', Data, Opts); +avp(T, Data, 'Service-Specific-Type', Opts) -> + avp(T, + Data, + 'Service-Specific-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Identity', Opts) -> + avp(T, + Data, + 'Serving-Node-Identity', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Serving-Node-Type', Opts) -> + avp(T, + Data, + 'Serving-Node-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Session-Direction', Opts) -> + avp(T, + Data, + 'Session-Direction', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-Time', Opts) -> + avp(T, + Data, + 'Start-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Start-of-Charging', Opts) -> + avp(T, + Data, + 'Start-of-Charging', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Status-AS-Code', Opts) -> + avp(T, + Data, + 'Status-AS-Code', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Stop-Time', Opts) -> + avp(T, Data, 'Stop-Time', Opts, diameter_3gpp_ts32_299); +avp(T, Data, 'Submission-Time', Opts) -> + avp(T, + Data, + 'Submission-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Subscriber-Role', Opts) -> + avp(T, + Data, + 'Subscriber-Role', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Supplementary-Service', Opts) -> + grouped_avp(T, 'Supplementary-Service', Data, Opts); +avp(T, Data, 'TAD-Identifier', Opts) -> + avp(T, + Data, + 'TAD-Identifier', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAG-Address', Opts) -> + avp(T, + Data, + 'TWAG-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'TWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'TWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Talk-Burst-Exchange', Opts) -> + grouped_avp(T, 'Talk-Burst-Exchange', Data, Opts); +avp(T, Data, 'Talk-Burst-Time', Opts) -> + avp(T, + Data, + 'Talk-Burst-Time', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Talk-Burst-Volume', Opts) -> + avp(T, + Data, + 'Talk-Burst-Volume', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Target-IP-Address', Opts) -> + avp(T, + Data, + 'Target-IP-Address', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Tariff-Information', Opts) -> + grouped_avp(T, 'Tariff-Information', Data, Opts); +avp(T, Data, 'Tariff-XML', Opts) -> + avp(T, + Data, + 'Tariff-XML', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Teleservice', Opts) -> + avp(T, + Data, + 'Teleservice', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Terminating-IOI', Opts) -> + avp(T, + Data, + 'Terminating-IOI', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Reception', Opts) -> + avp(T, + Data, + 'Time-First-Reception', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Transmission', Opts) -> + avp(T, + Data, + 'Time-First-Transmission', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-First-Usage', Opts) -> + avp(T, + Data, + 'Time-First-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Indicator', Opts) -> + avp(T, + Data, + 'Time-Indicator', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Last-Usage', Opts) -> + avp(T, + Data, + 'Time-Last-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Mechanism', Opts) -> + grouped_avp(T, 'Time-Quota-Mechanism', Data, Opts); +avp(T, Data, 'Time-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Time-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Quota-Type', Opts) -> + avp(T, + Data, + 'Time-Quota-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Time-Stamps', Opts) -> + grouped_avp(T, 'Time-Stamps', Data, Opts); +avp(T, Data, 'Time-Usage', Opts) -> + avp(T, + Data, + 'Time-Usage', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Token-Text', Opts) -> + avp(T, + Data, + 'Token-Text', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Traffic-Data-Volumes', Opts) -> + grouped_avp(T, 'Traffic-Data-Volumes', Data, Opts); +avp(T, Data, 'Transcoder-Inserted-Indication', Opts) -> + avp(T, + Data, + 'Transcoder-Inserted-Indication', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transit-IOI-List', Opts) -> + avp(T, + Data, + 'Transit-IOI-List', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Transmitter-Info', Opts) -> + grouped_avp(T, 'Transmitter-Info', Data, Opts); +avp(T, Data, 'Trigger', Opts) -> + grouped_avp(T, 'Trigger', Data, Opts); +avp(T, Data, 'Trigger-Type', Opts) -> + avp(T, + Data, + 'Trigger-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Trunk-Group-Id', Opts) -> + grouped_avp(T, 'Trunk-Group-Id', Data, Opts); +avp(T, Data, 'Type-Number', Opts) -> + avp(T, + Data, + 'Type-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UNI-PDU-CP-Only-Flag', Opts) -> + avp(T, + Data, + 'UNI-PDU-CP-Only-Flag', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'UWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'UWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Unit-Cost', Opts) -> + grouped_avp(T, 'Unit-Cost', Data, Opts); +avp(T, Data, 'Unit-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Unit-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Unused-Quota-Timer', Opts) -> + avp(T, + Data, + 'Unused-Quota-Timer', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Usage-Information-Report-Sequence-Number', + Opts) -> + avp(T, + Data, + 'Usage-Information-Report-Sequence-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-CSG-Information', Opts) -> + grouped_avp(T, 'User-CSG-Information', Data, Opts); +avp(T, Data, 'User-Participating-Type', Opts) -> + avp(T, + Data, + 'User-Participating-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'User-Session-Id', Opts) -> + avp(T, + Data, + 'User-Session-Id', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'VCS-Information', Opts) -> + grouped_avp(T, 'VCS-Information', Data, Opts); +avp(T, Data, 'VLR-Number', Opts) -> + avp(T, + Data, + 'VLR-Number', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part', Opts) -> + grouped_avp(T, 'Variable-Part', Data, Opts); +avp(T, Data, 'Variable-Part-Order', Opts) -> + avp(T, + Data, + 'Variable-Part-Order', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Type', Opts) -> + avp(T, + Data, + 'Variable-Part-Type', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Variable-Part-Value', Opts) -> + avp(T, + Data, + 'Variable-Part-Value', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Volume-Quota-Threshold', Opts) -> + avp(T, + Data, + 'Volume-Quota-Threshold', + Opts, + diameter_3gpp_ts32_299); +avp(T, Data, 'Address-Realm', Opts) -> + avp(T, + Data, + 'Address-Realm', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Aggregation-Network-Type', Opts) -> + avp(T, + Data, + 'Aggregation-Network-Type', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Application-Class-ID', Opts) -> + avp(T, + Data, + 'Application-Class-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'IP-Connectivity-Status', Opts) -> + avp(T, + Data, + 'IP-Connectivity-Status', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Initial-Gate-Setting-ID', Opts) -> + avp(T, + Data, + 'Initial-Gate-Setting-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Logical-Access-ID', Opts) -> + avp(T, + Data, + 'Logical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-DL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-UL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Physical-Access-ID', Opts) -> + avp(T, + Data, + 'Physical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'QoS-Profile-ID', Opts) -> + avp(T, + Data, + 'QoS-Profile-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Transport-Class', Opts) -> + avp(T, + Data, + 'Transport-Class', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'CC-Correlation-Id', Opts) -> + avp(T, + Data, + 'CC-Correlation-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Input-Octets', Opts) -> + avp(T, + Data, + 'CC-Input-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Money', Opts) -> + grouped_avp(T, 'CC-Money', Data, Opts); +avp(T, Data, 'CC-Output-Octets', Opts) -> + avp(T, + Data, + 'CC-Output-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Number', Opts) -> + avp(T, + Data, + 'CC-Request-Number', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Type', Opts) -> + avp(T, + Data, + 'CC-Request-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Service-Specific-Units', Opts) -> + avp(T, + Data, + 'CC-Service-Specific-Units', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Session-Failover', Opts) -> + avp(T, + Data, + 'CC-Session-Failover', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'CC-Sub-Session-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Time', Opts) -> + avp(T, Data, 'CC-Time', Opts, diameter_rfc4006_cc); +avp(T, Data, 'CC-Total-Octets', Opts) -> + avp(T, + Data, + 'CC-Total-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Unit-Type', Opts) -> + avp(T, Data, 'CC-Unit-Type', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Check-Balance-Result', Opts) -> + avp(T, + Data, + 'Check-Balance-Result', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Cost-Information', Opts) -> + grouped_avp(T, 'Cost-Information', Data, Opts); +avp(T, Data, 'Cost-Unit', Opts) -> + avp(T, Data, 'Cost-Unit', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control', Opts) -> + avp(T, + Data, + 'Credit-Control', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control-Failure-Handling', Opts) -> + avp(T, + Data, + 'Credit-Control-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Currency-Code', Opts) -> + avp(T, + Data, + 'Currency-Code', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Direct-Debiting-Failure-Handling', + Opts) -> + avp(T, + Data, + 'Direct-Debiting-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Exponent', Opts) -> + avp(T, Data, 'Exponent', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Action', Opts) -> + avp(T, + Data, + 'Final-Unit-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Indication', Opts) -> + grouped_avp(T, 'Final-Unit-Indication', Data, Opts); +avp(T, Data, 'G-S-U-Pool-Identifier', Opts) -> + avp(T, + Data, + 'G-S-U-Pool-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'G-S-U-Pool-Reference', Opts) -> + grouped_avp(T, 'G-S-U-Pool-Reference', Data, Opts); +avp(T, Data, 'Granted-Service-Unit', Opts) -> + grouped_avp(T, 'Granted-Service-Unit', Data, Opts); +avp(T, Data, 'Multiple-Services-Credit-Control', + Opts) -> + grouped_avp(T, + 'Multiple-Services-Credit-Control', + Data, + Opts); +avp(T, Data, 'Multiple-Services-Indicator', Opts) -> + avp(T, + Data, + 'Multiple-Services-Indicator', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Rating-Group', Opts) -> + avp(T, Data, 'Rating-Group', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Address-Type', Opts) -> + avp(T, + Data, + 'Redirect-Address-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Server', Opts) -> + grouped_avp(T, 'Redirect-Server', Data, Opts); +avp(T, Data, 'Redirect-Server-Address', Opts) -> + avp(T, + Data, + 'Redirect-Server-Address', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Action', Opts) -> + avp(T, + Data, + 'Requested-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Service-Unit', Opts) -> + grouped_avp(T, 'Requested-Service-Unit', Data, Opts); +avp(T, Data, 'Restriction-Filter-Rule', Opts) -> + avp(T, + Data, + 'Restriction-Filter-Rule', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Context-Id', Opts) -> + avp(T, + Data, + 'Service-Context-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Identifier', Opts) -> + avp(T, + Data, + 'Service-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Info', Opts) -> + grouped_avp(T, 'Service-Parameter-Info', Data, Opts); +avp(T, Data, 'Service-Parameter-Type', Opts) -> + avp(T, + Data, + 'Service-Parameter-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Value', Opts) -> + avp(T, + Data, + 'Service-Parameter-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id', Opts) -> + grouped_avp(T, 'Subscription-Id', Data, Opts); +avp(T, Data, 'Subscription-Id-Data', Opts) -> + avp(T, + Data, + 'Subscription-Id-Data', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id-Type', Opts) -> + avp(T, + Data, + 'Subscription-Id-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Change-Usage', Opts) -> + avp(T, + Data, + 'Tariff-Change-Usage', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Time-Change', Opts) -> + avp(T, + Data, + 'Tariff-Time-Change', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Unit-Value', Opts) -> + grouped_avp(T, 'Unit-Value', Data, Opts); +avp(T, Data, 'Used-Service-Unit', Opts) -> + grouped_avp(T, 'Used-Service-Unit', Data, Opts); +avp(T, Data, 'User-Equipment-Info', Opts) -> + grouped_avp(T, 'User-Equipment-Info', Data, Opts); +avp(T, Data, 'User-Equipment-Info-Type', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'User-Equipment-Info-Value', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Validity-Time', Opts) -> + avp(T, + Data, + 'Validity-Time', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Value-Digits', Opts) -> + avp(T, Data, 'Value-Digits', Opts, diameter_rfc4006_cc); +avp(T, Data, 'MIP6-Agent-Info', Opts) -> + grouped_avp(T, 'MIP6-Agent-Info', Data, Opts); +avp(T, Data, 'MIP6-Home-Link-Prefix', Opts) -> + avp(T, + Data, + 'MIP6-Home-Link-Prefix', + Opts, + diameter_rfc5447); +avp(T, Data, 'Location-Data', Opts) -> + avp(T, Data, 'Location-Data', Opts, diameter_rfc5580); +avp(T, Data, 'Location-Information', Opts) -> + avp(T, + Data, + 'Location-Information', + Opts, + diameter_rfc5580); +avp(T, Data, 'Operator-Name', Opts) -> + avp(T, Data, 'Operator-Name', Opts, diameter_rfc5580); +avp(T, Data, 'Service-Selection', Opts) -> + avp(T, + Data, + 'Service-Selection', + Opts, + diameter_rfc5778); +avp(T, Data, 'Framed-AppleTalk-Link', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Link', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-AppleTalk-Network', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Network', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-AppleTalk-Zone', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Zone', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-Compression', Opts) -> + avp(T, + Data, + 'Framed-Compression', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IP-Address', Opts) -> + avp(T, + Data, + 'Framed-IP-Address', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IP-Netmask', Opts) -> + avp(T, + Data, + 'Framed-IP-Netmask', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPX-Network', Opts) -> + avp(T, + Data, + 'Framed-IPX-Network', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPv6-Pool', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Pool', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPv6-Prefix', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Prefix', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPv6-Route', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Route', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-Interface-Id', Opts) -> + avp(T, + Data, + 'Framed-Interface-Id', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-MTU', Opts) -> + avp(T, Data, 'Framed-MTU', Opts, diameter_rfc7155); +avp(T, Data, 'Framed-Pool', Opts) -> + avp(T, Data, 'Framed-Pool', Opts, diameter_rfc7155); +avp(T, Data, 'Framed-Protocol', Opts) -> + avp(T, Data, 'Framed-Protocol', Opts, diameter_rfc7155); +avp(T, Data, 'Framed-Route', Opts) -> + avp(T, Data, 'Framed-Route', Opts, diameter_rfc7155); +avp(T, Data, 'Framed-Routing', Opts) -> + avp(T, Data, 'Framed-Routing', Opts, diameter_rfc7155); +avp(T, Data, 'OC-Feature-Vector', Opts) -> + avp(T, + Data, + 'OC-Feature-Vector', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-OLR', Opts) -> + grouped_avp(T, 'OC-OLR', Data, Opts); +avp(T, Data, 'OC-Reduction-Percentage', Opts) -> + avp(T, + Data, + 'OC-Reduction-Percentage', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-Report-Type', Opts) -> + avp(T, Data, 'OC-Report-Type', Opts, diameter_rfc7683); +avp(T, Data, 'OC-Sequence-Number', Opts) -> + avp(T, + Data, + 'OC-Sequence-Number', + Opts, + diameter_rfc7683); +avp(T, Data, 'OC-Supported-Features', Opts) -> + grouped_avp(T, 'OC-Supported-Features', Data, Opts); +avp(T, Data, 'OC-Validity-Duration', Opts) -> + avp(T, + Data, + 'OC-Validity-Duration', + Opts, + diameter_rfc7683); +avp(T, Data, 'DRMP', Opts) -> + avp(T, Data, 'DRMP', Opts, diameter_rfc7944); +avp(T, Data, 'Load', Opts) -> + grouped_avp(T, 'Load', Data, Opts); +avp(T, Data, 'Load-Type', Opts) -> + avp(T, Data, 'Load-Type', Opts, diameter_rfc8583); +avp(T, Data, 'Load-Value', Opts) -> + avp(T, Data, 'Load-Value', Opts, diameter_rfc8583); +avp(T, Data, 'SourceID', Opts) -> + avp(T, Data, 'SourceID', Opts, diameter_rfc8583); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Emergency-Info', Opts) -> + empty_group('Emergency-Info', Opts); +empty_value('Access-Network-Charging-Identifier-Gx', + Opts) -> + empty_group('Access-Network-Charging-Identifier-Gx', + Opts); +empty_value('Allocation-Retention-Priority', Opts) -> + empty_group('Allocation-Retention-Priority', Opts); +empty_value('Application-Detection-Information', + Opts) -> + empty_group('Application-Detection-Information', Opts); +empty_value('Charging-Rule-Definition', Opts) -> + empty_group('Charging-Rule-Definition', Opts); +empty_value('Charging-Rule-Install', Opts) -> + empty_group('Charging-Rule-Install', Opts); +empty_value('Charging-Rule-Remove', Opts) -> + empty_group('Charging-Rule-Remove', Opts); +empty_value('Charging-Rule-Report', Opts) -> + empty_group('Charging-Rule-Report', Opts); +empty_value('CoA-Information', Opts) -> + empty_group('CoA-Information', Opts); +empty_value('Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + empty_group('Conditional-APN-Aggregate-Max-Bitrate', + Opts); +empty_value('Default-EPS-Bearer-QoS', Opts) -> + empty_group('Default-EPS-Bearer-QoS', Opts); +empty_value('Default-QoS-Information', Opts) -> + empty_group('Default-QoS-Information', Opts); +empty_value('Event-Report-Indication', Opts) -> + empty_group('Event-Report-Indication', Opts); +empty_value('Fixed-User-Location-Info', Opts) -> + empty_group('Fixed-User-Location-Info', Opts); +empty_value('Flow-Information', Opts) -> + empty_group('Flow-Information', Opts); +empty_value('Packet-Filter-Information', Opts) -> + empty_group('Packet-Filter-Information', Opts); +empty_value('Presence-Reporting-Area-Information', + Opts) -> + empty_group('Presence-Reporting-Area-Information', + Opts); +empty_value('QoS-Information', Opts) -> + empty_group('QoS-Information', Opts); +empty_value('Redirect-Information', Opts) -> + empty_group('Redirect-Information', Opts); +empty_value('Routing-Filter', Opts) -> + empty_group('Routing-Filter', Opts); +empty_value('Routing-Rule-Definition', Opts) -> + empty_group('Routing-Rule-Definition', Opts); +empty_value('Routing-Rule-Install', Opts) -> + empty_group('Routing-Rule-Install', Opts); +empty_value('Routing-Rule-Remove', Opts) -> + empty_group('Routing-Rule-Remove', Opts); +empty_value('TDF-Information', Opts) -> + empty_group('TDF-Information', Opts); +empty_value('Tunnel-Information', Opts) -> + empty_group('Tunnel-Information', Opts); +empty_value('TFT-Packet-Filter-Information', Opts) -> + empty_group('TFT-Packet-Filter-Information', Opts); +empty_value('Usage-Monitoring-Information', Opts) -> + empty_group('Usage-Monitoring-Information', Opts); +empty_value('Flows', Opts) -> + empty_group('Flows', Opts); +empty_value('Charging-Information', Opts) -> + empty_group('Charging-Information', Opts); +empty_value('Supported-Features', Opts) -> + empty_group('Supported-Features', Opts); +empty_value('Supported-Applications', Opts) -> + empty_group('Supported-Applications', Opts); +empty_value('SIP-Auth-Data-Item', Opts) -> + empty_group('SIP-Auth-Data-Item', Opts); +empty_value('Deregistration-Reason', Opts) -> + empty_group('Deregistration-Reason', Opts); +empty_value('SIP-Digest-Authenticate', Opts) -> + empty_group('SIP-Digest-Authenticate', Opts); +empty_value('Subscription-Data', Opts) -> + empty_group('Subscription-Data', Opts); +empty_value('Terminal-Information', Opts) -> + empty_group('Terminal-Information', Opts); +empty_value('Requested-EUTRAN-Authentication-Info', + Opts) -> + empty_group('Requested-EUTRAN-Authentication-Info', + Opts); +empty_value('Requested-UTRAN-GERAN-Authentication-Info', + Opts) -> + empty_group('Requested-UTRAN-GERAN-Authentication-Info', + Opts); +empty_value('Authentication-Info', Opts) -> + empty_group('Authentication-Info', Opts); +empty_value('E-UTRAN-Vector', Opts) -> + empty_group('E-UTRAN-Vector', Opts); +empty_value('UTRAN-Vector', Opts) -> + empty_group('UTRAN-Vector', Opts); +empty_value('GERAN-Vector', Opts) -> + empty_group('GERAN-Vector', Opts); +empty_value('APN-Configuration-Profile', Opts) -> + empty_group('APN-Configuration-Profile', Opts); +empty_value('APN-Configuration', Opts) -> + empty_group('APN-Configuration', Opts); +empty_value('EPS-Subscribed-QoS-Profile', Opts) -> + empty_group('EPS-Subscribed-QoS-Profile', Opts); +empty_value('AMBR', Opts) -> empty_group('AMBR', Opts); +empty_value('Trace-Data', Opts) -> + empty_group('Trace-Data', Opts); +empty_value('GPRS-Subscription-Data', Opts) -> + empty_group('GPRS-Subscription-Data', Opts); +empty_value('PDP-Context', Opts) -> + empty_group('PDP-Context', Opts); +empty_value('CSG-Subscription-Data', Opts) -> + empty_group('CSG-Subscription-Data', Opts); +empty_value('Specific-APN-Info', Opts) -> + empty_group('Specific-APN-Info', Opts); +empty_value('LCS-Info', Opts) -> + empty_group('LCS-Info', Opts); +empty_value('LCS-PrivacyException', Opts) -> + empty_group('LCS-PrivacyException', Opts); +empty_value('External-Client', Opts) -> + empty_group('External-Client', Opts); +empty_value('Service-Type', Opts) -> + empty_group('Service-Type', Opts); +empty_value('MO-LR', Opts) -> + empty_group('MO-LR', Opts); +empty_value('Teleservice-List', Opts) -> + empty_group('Teleservice-List', Opts); +empty_value('Call-Barring-Info', Opts) -> + empty_group('Call-Barring-Info', Opts); +empty_value('EPS-User-State', Opts) -> + empty_group('EPS-User-State', Opts); +empty_value('EPS-Location-Information', Opts) -> + empty_group('EPS-Location-Information', Opts); +empty_value('MME-User-State', Opts) -> + empty_group('MME-User-State', Opts); +empty_value('SGSN-User-State', Opts) -> + empty_group('SGSN-User-State', Opts); +empty_value('MME-Location-Information', Opts) -> + empty_group('MME-Location-Information', Opts); +empty_value('SGSN-Location-Information', Opts) -> + empty_group('SGSN-Location-Information', Opts); +empty_value('Active-APN', Opts) -> + empty_group('Active-APN', Opts); +empty_value('MDT-Configuration', Opts) -> + empty_group('MDT-Configuration', Opts); +empty_value('Area-Scope', Opts) -> + empty_group('Area-Scope', Opts); +empty_value('Equivalent-PLMN-List', Opts) -> + empty_group('Equivalent-PLMN-List', Opts); +empty_value('VPLMN-CSG-Subscription-Data', Opts) -> + empty_group('VPLMN-CSG-Subscription-Data', Opts); +empty_value('Local-Time-Zone', Opts) -> + empty_group('Local-Time-Zone', Opts); +empty_value('WLAN-Identifier', Opts) -> + empty_group('WLAN-Identifier', Opts); +empty_value('Access-Network-Info', Opts) -> + empty_group('Access-Network-Info', Opts); +empty_value('TWAN-Connectivity-Parameters', Opts) -> + empty_group('TWAN-Connectivity-Parameters', Opts); +empty_value('Non-3GPP-User-Data', Opts) -> + empty_group('Non-3GPP-User-Data', Opts); +empty_value('Trace-Info', Opts) -> + empty_group('Trace-Info', Opts); +empty_value('TWAN-Access-Info', Opts) -> + empty_group('TWAN-Access-Info', Opts); +empty_value('Access-Network-Info-Change', Opts) -> + empty_group('Access-Network-Info-Change', Opts); +empty_value('Access-Transfer-Information', Opts) -> + empty_group('Access-Transfer-Information', Opts); +empty_value('Accumulated-Cost', Opts) -> + empty_group('Accumulated-Cost', Opts); +empty_value('Additional-Content-Information', Opts) -> + empty_group('Additional-Content-Information', Opts); +empty_value('Address-Domain', Opts) -> + empty_group('Address-Domain', Opts); +empty_value('AF-Correlation-Information', Opts) -> + empty_group('AF-Correlation-Information', Opts); +empty_value('Announcement-Information', Opts) -> + empty_group('Announcement-Information', Opts); +empty_value('AoC-Cost-Information', Opts) -> + empty_group('AoC-Cost-Information', Opts); +empty_value('AoC-Information', Opts) -> + empty_group('AoC-Information', Opts); +empty_value('AoC-Service', Opts) -> + empty_group('AoC-Service', Opts); +empty_value('AoC-Subscription-Information', Opts) -> + empty_group('AoC-Subscription-Information', Opts); +empty_value('APN-Rate-Control', Opts) -> + empty_group('APN-Rate-Control', Opts); +empty_value('APN-Rate-Control-Downlink', Opts) -> + empty_group('APN-Rate-Control-Downlink', Opts); +empty_value('APN-Rate-Control-Uplink', Opts) -> + empty_group('APN-Rate-Control-Uplink', Opts); +empty_value('Application-Server-Information', Opts) -> + empty_group('Application-Server-Information', Opts); +empty_value('Basic-Service-Code', Opts) -> + empty_group('Basic-Service-Code', Opts); +empty_value('Called-Identity-Change', Opts) -> + empty_group('Called-Identity-Change', Opts); +empty_value('Coverage-Info', Opts) -> + empty_group('Coverage-Info', Opts); +empty_value('CPDT-Information', Opts) -> + empty_group('CPDT-Information', Opts); +empty_value('Current-Tariff', Opts) -> + empty_group('Current-Tariff', Opts); +empty_value('Destination-Interface', Opts) -> + empty_group('Destination-Interface', Opts); +empty_value('Early-Media-Description', Opts) -> + empty_group('Early-Media-Description', Opts); +empty_value('Enhanced-Diagnostics', Opts) -> + empty_group('Enhanced-Diagnostics', Opts); +empty_value('Envelope', Opts) -> + empty_group('Envelope', Opts); +empty_value('Event-Type', Opts) -> + empty_group('Event-Type', Opts); +empty_value('Incremental-Cost', Opts) -> + empty_group('Incremental-Cost', Opts); +empty_value('IMS-Information', Opts) -> + empty_group('IMS-Information', Opts); +empty_value('Inter-Operator-Identifier', Opts) -> + empty_group('Inter-Operator-Identifier', Opts); +empty_value('ISUP-Cause', Opts) -> + empty_group('ISUP-Cause', Opts); +empty_value('LCS-Client-ID', Opts) -> + empty_group('LCS-Client-ID', Opts); +empty_value('LCS-Client-Name', Opts) -> + empty_group('LCS-Client-Name', Opts); +empty_value('LCS-Information', Opts) -> + empty_group('LCS-Information', Opts); +empty_value('LCS-Requestor-ID', Opts) -> + empty_group('LCS-Requestor-ID', Opts); +empty_value('Location-Info', Opts) -> + empty_group('Location-Info', Opts); +empty_value('Location-Type', Opts) -> + empty_group('Location-Type', Opts); +empty_value('MBMS-Information', Opts) -> + empty_group('MBMS-Information', Opts); +empty_value('Message-Body', Opts) -> + empty_group('Message-Body', Opts); +empty_value('Message-Class', Opts) -> + empty_group('Message-Class', Opts); +empty_value('MM-Content-Type', Opts) -> + empty_group('MM-Content-Type', Opts); +empty_value('MMS-Information', Opts) -> + empty_group('MMS-Information', Opts); +empty_value('MMTel-Information', Opts) -> + empty_group('MMTel-Information', Opts); +empty_value('Monitoring-Event-Information', Opts) -> + empty_group('Monitoring-Event-Information', Opts); +empty_value('Monitoring-Event-Report-Data', Opts) -> + empty_group('Monitoring-Event-Report-Data', Opts); +empty_value('Next-Tariff', Opts) -> + empty_group('Next-Tariff', Opts); +empty_value('NIDD-Submission', Opts) -> + empty_group('NIDD-Submission', Opts); +empty_value('NNI-Information', Opts) -> + empty_group('NNI-Information', Opts); +empty_value('Offline-Charging', Opts) -> + empty_group('Offline-Charging', Opts); +empty_value('Originator-Address', Opts) -> + empty_group('Originator-Address', Opts); +empty_value('Originator-Interface', Opts) -> + empty_group('Originator-Interface', Opts); +empty_value('Originator-Received-Address', Opts) -> + empty_group('Originator-Received-Address', Opts); +empty_value('Participant-Group', Opts) -> + empty_group('Participant-Group', Opts); +empty_value('PoC-Information', Opts) -> + empty_group('PoC-Information', Opts); +empty_value('PoC-User-Role', Opts) -> + empty_group('PoC-User-Role', Opts); +empty_value('ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Reception-Data-Container', + Opts); +empty_value('ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Transmission-Data-Container', + Opts); +empty_value('ProSe-Information', Opts) -> + empty_group('ProSe-Information', Opts); +empty_value('PS-Furnish-Charging-Information', Opts) -> + empty_group('PS-Furnish-Charging-Information', Opts); +empty_value('PS-Information', Opts) -> + empty_group('PS-Information', Opts); +empty_value('Radio-Parameter-Set-Info', Opts) -> + empty_group('Radio-Parameter-Set-Info', Opts); +empty_value('RAN-Secondary-RAT-Usage-Report', Opts) -> + empty_group('RAN-Secondary-RAT-Usage-Report', Opts); +empty_value('Rate-Element', Opts) -> + empty_group('Rate-Element', Opts); +empty_value('Real-Time-Tariff-Information', Opts) -> + empty_group('Real-Time-Tariff-Information', Opts); +empty_value('Recipient-Address', Opts) -> + empty_group('Recipient-Address', Opts); +empty_value('Recipient-Info', Opts) -> + empty_group('Recipient-Info', Opts); +empty_value('Recipient-Received-Address', Opts) -> + empty_group('Recipient-Received-Address', Opts); +empty_value('Related-Change-Condition-Information', + Opts) -> + empty_group('Related-Change-Condition-Information', + Opts); +empty_value('Related-Trigger', Opts) -> + empty_group('Related-Trigger', Opts); +empty_value('Remaining-Balance', Opts) -> + empty_group('Remaining-Balance', Opts); +empty_value('Scale-Factor', Opts) -> + empty_group('Scale-Factor', Opts); +empty_value('SCS-AS-Address', Opts) -> + empty_group('SCS-AS-Address', Opts); +empty_value('SDP-Media-Component', Opts) -> + empty_group('SDP-Media-Component', Opts); +empty_value('SDP-TimeStamps', Opts) -> + empty_group('SDP-TimeStamps', Opts); +empty_value('Service-Data-Container', Opts) -> + empty_group('Service-Data-Container', Opts); +empty_value('Service-Information', Opts) -> + empty_group('Service-Information', Opts); +empty_value('Service-Specific-Info', Opts) -> + empty_group('Service-Specific-Info', Opts); +empty_value('SM-Device-Trigger-Information', Opts) -> + empty_group('SM-Device-Trigger-Information', Opts); +empty_value('SMS-Information', Opts) -> + empty_group('SMS-Information', Opts); +empty_value('Supplementary-Service', Opts) -> + empty_group('Supplementary-Service', Opts); +empty_value('Talk-Burst-Exchange', Opts) -> + empty_group('Talk-Burst-Exchange', Opts); +empty_value('Tariff-Information', Opts) -> + empty_group('Tariff-Information', Opts); +empty_value('Time-Quota-Mechanism', Opts) -> + empty_group('Time-Quota-Mechanism', Opts); +empty_value('Time-Stamps', Opts) -> + empty_group('Time-Stamps', Opts); +empty_value('Traffic-Data-Volumes', Opts) -> + empty_group('Traffic-Data-Volumes', Opts); +empty_value('Transmitter-Info', Opts) -> + empty_group('Transmitter-Info', Opts); +empty_value('Trigger', Opts) -> + empty_group('Trigger', Opts); +empty_value('Trunk-Group-Id', Opts) -> + empty_group('Trunk-Group-Id', Opts); +empty_value('TWAN-User-Location-Info', Opts) -> + empty_group('TWAN-User-Location-Info', Opts); +empty_value('Unit-Cost', Opts) -> + empty_group('Unit-Cost', Opts); +empty_value('User-CSG-Information', Opts) -> + empty_group('User-CSG-Information', Opts); +empty_value('UWAN-User-Location-Info', Opts) -> + empty_group('UWAN-User-Location-Info', Opts); +empty_value('Variable-Part', Opts) -> + empty_group('Variable-Part', Opts); +empty_value('VCS-Information', Opts) -> + empty_group('VCS-Information', Opts); +empty_value('Cost-Information', Opts) -> + empty_group('Cost-Information', Opts); +empty_value('Unit-Value', Opts) -> + empty_group('Unit-Value', Opts); +empty_value('Multiple-Services-Credit-Control', Opts) -> + empty_group('Multiple-Services-Credit-Control', Opts); +empty_value('Granted-Service-Unit', Opts) -> + empty_group('Granted-Service-Unit', Opts); +empty_value('Requested-Service-Unit', Opts) -> + empty_group('Requested-Service-Unit', Opts); +empty_value('Used-Service-Unit', Opts) -> + empty_group('Used-Service-Unit', Opts); +empty_value('CC-Money', Opts) -> + empty_group('CC-Money', Opts); +empty_value('G-S-U-Pool-Reference', Opts) -> + empty_group('G-S-U-Pool-Reference', Opts); +empty_value('Final-Unit-Indication', Opts) -> + empty_group('Final-Unit-Indication', Opts); +empty_value('Redirect-Server', Opts) -> + empty_group('Redirect-Server', Opts); +empty_value('Service-Parameter-Info', Opts) -> + empty_group('Service-Parameter-Info', Opts); +empty_value('Subscription-Id', Opts) -> + empty_group('Subscription-Id', Opts); +empty_value('User-Equipment-Info', Opts) -> + empty_group('User-Equipment-Info', Opts); +empty_value('MIP6-Agent-Info', Opts) -> + empty_group('MIP6-Agent-Info', Opts); +empty_value('OC-Supported-Features', Opts) -> + empty_group('OC-Supported-Features', Opts); +empty_value('OC-OLR', Opts) -> + empty_group('OC-OLR', Opts); +empty_value('Load', Opts) -> empty_group('Load', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AN-GW-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Control-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Operation', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Correlation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Information-Reporting', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Trigger', _) -> <<0, 0, 0, 0>>; +empty_value('Flow-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('IP-CAN-Session-Charging-Scope', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-CAN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Metering-Method', _) -> <<0, 0, 0, 0>>; +empty_value('Mute-Notification', _) -> <<0, 0, 0, 0>>; +empty_value('Network-Request-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Offline', _) -> <<0, 0, 0, 0>>; +empty_value('Online', _) -> <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Operation', _) -> + <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('PCC-Rule-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Pre-emption-Capability', _) -> + <<0, 0, 0, 0>>; +empty_value('Pre-emption-Vulnerability', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-to-CS-Session-Continuity', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Class-Identifier', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Negotiation', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Upgrade', _) -> <<0, 0, 0, 0>>; +empty_value('RAT-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Support', _) -> <<0, 0, 0, 0>>; +empty_value('Reporting-Level', _) -> <<0, 0, 0, 0>>; +empty_value('Resource-Allocation-Notification', _) -> + <<0, 0, 0, 0>>; +empty_value('Rule-Failure-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Release-Cause', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Level', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Report', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Server-Assignment-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Network-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Cancellation-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Status', _) -> <<0, 0, 0, 0>>; +empty_value('All-APN-Configurations-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('VPLMN-Dynamic-Address-Allowed', _) -> + <<0, 0, 0, 0>>; +empty_value('PDN-GW-Allocation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Equipment-Status', _) -> <<0, 0, 0, 0>>; +empty_value('PDN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Complete-Data-List-Included-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Roaming-Restricted-Due-To-Unsupported-Feature', + _) -> + <<0, 0, 0, 0>>; +empty_value('Alert-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Notification-To-UE-User', _) -> + <<0, 0, 0, 0>>; +empty_value('GMLC-Restriction', _) -> <<0, 0, 0, 0>>; +empty_value('PLMN-Client', _) -> <<0, 0, 0, 0>>; +empty_value('ICS-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Voice-Over-PS-Sessions-Supported', + _) -> + <<0, 0, 0, 0>>; +empty_value('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', + _) -> + <<0, 0, 0, 0>>; +empty_value('User-State', _) -> <<0, 0, 0, 0>>; +empty_value('Current-Location-Retrieved', _) -> + <<0, 0, 0, 0>>; +empty_value('Error-Diagnostic', _) -> <<0, 0, 0, 0>>; +empty_value('UE-SRVCC-Capability', _) -> <<0, 0, 0, 0>>; +empty_value('VPLMN-LIPA-Allowed', _) -> <<0, 0, 0, 0>>; +empty_value('LIPA-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('SIPTO-Permission', _) -> <<0, 0, 0, 0>>; +empty_value('Relay-Node-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MDT-User-Consent', _) -> <<0, 0, 0, 0>>; +empty_value('Subscribed-VSRVCC', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Register-Request', _) -> + <<0, 0, 0, 0>>; +empty_value('Daylight-Saving-Time', _) -> + <<0, 0, 0, 0>>; +empty_value('AN-Trusted', _) -> <<0, 0, 0, 0>>; +empty_value('Transport-Access-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Non-3GPP-IP-Access', _) -> <<0, 0, 0, 0>>; +empty_value('Non-3GPP-IP-Access-APN', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PS-Data-Off-Status', _) -> + <<0, 0, 0, 0>>; +empty_value('Access-Transfer-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Adaptations', _) -> <<0, 0, 0, 0>>; +empty_value('Additional-Exception-Reports', _) -> + <<0, 0, 0, 0>>; +empty_value('Address-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Addressee-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Format', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Service-Obligatory-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('AoC-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Charge-Reason-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Characteristics-Selection-Mode', + _) -> + <<0, 0, 0, 0>>; +empty_value('Charging-Per-IP-CAN-Session-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Class-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('CN-Operator-Selection-Entity', _) -> + <<0, 0, 0, 0>>; +empty_value('Content-Class', _) -> <<0, 0, 0, 0>>; +empty_value('Coverage-Status', _) -> <<0, 0, 0, 0>>; +empty_value('CP-CIoT-EPS-Optimisation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('CSG-Membership-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Delivery-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('DRM-Content', _) -> <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag-Extension', _) -> + <<0, 0, 0, 0>>; +empty_value('Envelope-Reporting', _) -> <<0, 0, 0, 0>>; +empty_value('File-Repair-Supported', _) -> + <<0, 0, 0, 0>>; +empty_value('Forwarding-Pending', _) -> <<0, 0, 0, 0>>; +empty_value('Interface-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Inter-UE-Transfer', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Emergency-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('IMSI-Unauthenticated-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-Realm-Default-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('LCS-Client-Type', _) -> <<0, 0, 0, 0>>; +empty_value('LCS-Format-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Local-GW-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Location-Estimate-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Balance-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Priority-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MBMS-Charged-Party', _) -> <<0, 0, 0, 0>>; +empty_value('MBMS-User-Service-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Media-Initiator-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('MMBox-Storage-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('NNI-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Node-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('Online-Charging-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Originator', _) -> <<0, 0, 0, 0>>; +empty_value('Participant-Access-Priority', _) -> + <<0, 0, 0, 0>>; +empty_value('Participant-Action-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PC5-Radio-Technology', _) -> + <<0, 0, 0, 0>>; +empty_value('PDP-Context-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Play-Alternative', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Change-Condition', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Server-Role', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Session-Initiation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Session-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-User-Role-Info-Units', _) -> + <<0, 0, 0, 0>>; +empty_value('Priority', _) -> <<0, 0, 0, 0>>; +empty_value('Privacy-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Direct-Discovery-Model', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Range-Class', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Reason-For-Cancellation', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Role-Of-UE', _) -> <<0, 0, 0, 0>>; +empty_value('Proximity-Alert-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-Append-Free-Format-Data', _) -> + <<0, 0, 0, 0>>; +empty_value('Quota-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('Read-Reply-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Relationship-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Reply-Path-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Reporting-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-Node', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-ProSe-Function', _) -> + <<0, 0, 0, 0>>; +empty_value('SDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('Serving-Node-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SGi-PtP-Tunnelling-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('SGW-Change', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Device-Trigger-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('SM-Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Node', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Status-AS-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Role', _) -> <<0, 0, 0, 0>>; +empty_value('TAD-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('Time-Quota-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Transcoder-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Trigger-Type', _) -> <<0, 0, 0, 0>>; +empty_value('UNI-PDU-CP-Only-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Participating-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Variable-Part-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Session-Failover', _) -> <<0, 0, 0, 0>>; +empty_value('Check-Balance-Result', _) -> + <<0, 0, 0, 0>>; +empty_value('Credit-Control', _) -> <<0, 0, 0, 0>>; +empty_value('Credit-Control-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Direct-Debiting-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Tariff-Change-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Unit-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Final-Unit-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Address-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Multiple-Services-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Subscription-Id-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Equipment-Info-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('OC-Report-Type', _) -> <<0, 0, 0, 0>>; +empty_value('DRMP', _) -> <<0, 0, 0, 0>>; +empty_value('Load-Type', _) -> <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, []}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, + [{303, "MAR", "MAA"}, + {305, "PPR", "PPA"}, + {304, "RTR", "RTA"}, + {301, "SAR", "SAA"}]}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 16777265}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {diameter_3gpp_break_circles, + [{"APN-OI-Replacement", 1427, "UTF8String", "MV"}, + {"Emergency-Info", 1687, "Grouped", "V"}, + {"GMLC-Number", 1474, "OctetString", "MV"}, + {"SGSN-Number", 1489, "OctetString", "MV"}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Address", 1050, "Address", "V"}, + {"AN-GW-Status", 2811, "Enumerated", "V"}, + {"APN-Aggregate-Max-Bitrate-DL", + 1040, + "Unsigned32", + "V"}, + {"APN-Aggregate-Max-Bitrate-UL", + 1041, + "Unsigned32", + "V"}, + {"Access-Network-Charging-Identifier-Gx", + 1022, + "Grouped", + "MV"}, + {"Allocation-Retention-Priority", 1034, "Grouped", "V"}, + {"Application-Detection-Information", + 1098, + "Grouped", + "V"}, + {"Bearer-Control-Mode", 1023, "Enumerated", "MV"}, + {"Bearer-Identifier", 1020, "OctetString", "MV"}, + {"Bearer-Operation", 1021, "Enumerated", "MV"}, + {"Bearer-Usage", 1000, "Enumerated", "MV"}, + {"CSG-Information-Reporting", 1071, "Enumerated", "V"}, + {"Charging-Correlation-Indicator", + 1073, + "Enumerated", + "V"}, + {"Charging-Rule-Base-Name", 1004, "UTF8String", "MV"}, + {"Charging-Rule-Definition", 1003, "Grouped", "MV"}, + {"Charging-Rule-Install", 1001, "Grouped", "MV"}, + {"Charging-Rule-Name", 1005, "OctetString", "MV"}, + {"Charging-Rule-Remove", 1002, "Grouped", "MV"}, + {"Charging-Rule-Report", 1018, "Grouped", "MV"}, + {"CoA-IP-Address", 1035, "Address", "V"}, + {"CoA-Information", 1039, "Grouped", "V"}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + "Grouped", + "V"}, + {"Credit-Management-Status", 1082, "Unsigned32", "V"}, + {"Default-EPS-Bearer-QoS", 1049, "Grouped", "V"}, + {"Default-QoS-Information", 2816, "Grouped", "V"}, + {"Default-QoS-Name", 2817, "UTF8String", "V"}, + {"Event-Report-Indication", 1033, "Grouped", "V"}, + {"Event-Trigger", 1006, "Enumerated", "MV"}, + {"Fixed-User-Location-Info", 2825, "Grouped", "V"}, + {"Flow-Direction", 1080, "Enumerated", "V"}, + {"Flow-Information", 1058, "Grouped", "V"}, + {"Flow-Label", 1057, "OctetString", "V"}, + {"Guaranteed-Bitrate-DL", 1025, "Unsigned32", "MV"}, + {"Guaranteed-Bitrate-UL", 1026, "Unsigned32", "MV"}, + {"HeNB-Local-IP-Address", 2804, "Address", "V"}, + {"IP-CAN-Session-Charging-Scope", + 2827, + "Enumerated", + "V"}, + {"IP-CAN-Type", 1027, "Enumerated", "MV"}, + {"Metering-Method", 1007, "Enumerated", "MV"}, + {"Monitoring-Key", 1066, "OctetString", "V"}, + {"Monitoring-Time", 2810, "Time", "V"}, + {"Mute-Notification", 2809, "Enumerated", "V"}, + {"NetLoc-Access-Support", 2824, "Unsigned32", "V"}, + {"Network-Request-Support", 1024, "Enumerated", "MV"}, + {"Offline", 1008, "Enumerated", "MV"}, + {"Online", 1009, "Enumerated", "MV"}, + {"PCC-Rule-Status", 1019, "Enumerated", "MV"}, + {"PCSCF-Restoration-Indication", + 2826, + "Unsigned32", + "V"}, + {"PDN-Connection-ID", 1065, "OctetString", "V"}, + {"PS-to-CS-Session-Continuity", + 1099, + "Enumerated", + "V"}, + {"Packet-Filter-Content", 1059, "IPFilterRule", "V"}, + {"Packet-Filter-Identifier", 1060, "OctetString", "V"}, + {"Packet-Filter-Information", 1061, "Grouped", "V"}, + {"Packet-Filter-Operation", 1062, "Enumerated", "V"}, + {"Packet-Filter-Usage", 1072, "Enumerated", "V"}, + {"Pre-emption-Capability", 1047, "Enumerated", "V"}, + {"Pre-emption-Vulnerability", 1048, "Enumerated", "V"}, + {"Precedence", 1010, "Unsigned32", "MV"}, + {"Presence-Reporting-Area-Elements-List", + 2820, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Identifier", + 2821, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Information", + 2822, + "Grouped", + "V"}, + {"Presence-Reporting-Area-Status", + 2823, + "Unsigned32", + "V"}, + {"Priority-Level", 1046, "Unsigned32", "V"}, + {"QoS-Class-Identifier", 1028, "Enumerated", "MV"}, + {"QoS-Information", 1016, "Grouped", "MV"}, + {"QoS-Negotiation", 1029, "Enumerated", "MV"}, + {"QoS-Upgrade", 1030, "Enumerated", "MV"}, + {"RAN-NAS-Release-Cause", 2819, "OctetString", "V"}, + {"RAT-Type", 1032, "Enumerated", "V"}, + {"Redirect-Information", 1085, "Grouped", "V"}, + {"Redirect-Support", 1086, "Enumerated", "V"}, + {"Reporting-Level", 1011, "Enumerated", "MV"}, + {"Resource-Allocation-Notification", + 1063, + "Enumerated", + "V"}, + {"Revalidation-Time", 1042, "Time", "MV"}, + {"Routing-Filter", 1078, "Grouped", "V"}, + {"Routing-IP-Address", 1079, "Address", "V"}, + {"Routing-Rule-Definition", 1076, "Grouped", "V"}, + {"Routing-Rule-Identifier", 1077, "OctetString", "V"}, + {"Routing-Rule-Install", 1081, "Grouped", "V"}, + {"Routing-Rule-Remove", 1075, "Grouped", "V"}, + {"Rule-Activation-Time", 1043, "Time", "MV"}, + {"Rule-Deactivation-Time", 1044, "Time", "MV"}, + {"Rule-Failure-Code", 1031, "Enumerated", "MV"}, + {"Security-Parameter-Index", 1056, "OctetString", "V"}, + {"Session-Release-Cause", 1045, "Enumerated", "MV"}, + {"TDF-Application-Identifier", + 1088, + "OctetString", + "V"}, + {"TDF-Application-Instance-Identifier", + 2802, + "OctetString", + "V"}, + {"TDF-Destination-Host", 1089, "DiameterIdentity", "V"}, + {"TDF-Destination-Realm", + 1090, + "DiameterIdentity", + "V"}, + {"TDF-IP-Address", 1091, "Address", "V"}, + {"TDF-Information", 1087, "Grouped", "V"}, + {"TFT-Filter", 1012, "IPFilterRule", "MV"}, + {"TFT-Packet-Filter-Information", + 1013, + "Grouped", + "MV"}, + {"ToS-Traffic-Class", 1014, "OctetString", "MV"}, + {"Tunnel-Header-Filter", 1036, "IPFilterRule", "V"}, + {"Tunnel-Header-Length", 1037, "Unsigned32", "V"}, + {"Tunnel-Information", 1038, "Grouped", "V"}, + {"UDP-Source-Port", 2806, "Unsigned32", "V"}, + {"UE-Local-IP-Address", 2805, "Address", "V"}, + {"Usage-Monitoring-Information", 1067, "Grouped", "V"}, + {"Usage-Monitoring-Level", 1068, "Enumerated", "V"}, + {"Usage-Monitoring-Report", 1069, "Enumerated", "V"}, + {"Usage-Monitoring-Support", 1070, "Enumerated", "V"}, + {"User-Location-Info-Time", 2812, "Time", "V"}]}, + {diameter_3gpp_ts29_214, + [{"AF-Application-Identifier", + 504, + "OctetString", + "MV"}, + {"AF-Charging-Identifier", 505, "OctetString", "MV"}, + {"AF-Signalling-Protocol", 529, "Enumerated", "V"}, + {"Abort-Cause", 500, "Enumerated", "MV"}, + {"Access-Network-Charging-Address", + 501, + "Address", + "MV"}, + {"Access-Network-Charging-Identifier-Value", + 503, + "OctetString", + "MV"}, + {"Application-Service-Provider-Identity", + 532, + "UTF8String", + "V"}, + {"Codec-Data", 524, "OctetString", "MV"}, + {"Flow-Description", 507, "IPFilterRule", "MV"}, + {"Flow-Number", 509, "Unsigned32", "MV"}, + {"Flow-Status", 511, "Enumerated", "MV"}, + {"Flow-Usage", 512, "Enumerated", "MV"}, + {"Flows", 510, "Grouped", "MV"}, + {"GCS-Identifier", 538, "OctetString", "V"}, + {"IP-Domain-Id", 537, "OctetString", "V"}, + {"MPS-Identifier", 528, "OctetString", "V"}, + {"Max-Requested-Bandwidth-DL", 515, "Unsigned32", "MV"}, + {"Max-Requested-Bandwidth-UL", 516, "Unsigned32", "MV"}, + {"Media-Component-Number", 518, "Unsigned32", "MV"}, + {"Media-Type", 520, "Enumerated", "MV"}, + {"Min-Requested-Bandwidth-DL", 534, "Unsigned32", "V"}, + {"Min-Requested-Bandwidth-UL", 535, "Unsigned32", "V"}, + {"RR-Bandwidth", 521, "Unsigned32", "MV"}, + {"RS-Bandwidth", 522, "Unsigned32", "MV"}, + {"Required-Access-Info", 536, "Enumerated", "V"}, + {"Rx-Request-Type", 533, "Enumerated", "V"}, + {"SIP-Forking-Indication", 523, "Enumerated", "MV"}, + {"Service-Info-Status", 527, "Enumerated", "MV"}, + {"Service-URN", 525, "OctetString", "MV"}, + {"Specific-Action", 513, "Enumerated", "MV"}, + {"Sponsor-Identity", 531, "UTF8String", "V"}]}, + {diameter_3gpp_ts29_229, + [{"Call-ID-SIP-Header", 643, "OctetString", "V"}, + {"Charging-Information", 618, "Grouped", "MV"}, + {"Confidentiality-Key", 625, "OctetString", "MV"}, + {"Contact", 641, "OctetString", "V"}, + {"Deregistration-Reason", 615, "Grouped", "MV"}, + {"Digest-Algorithm", 111, "UTF8String", "M"}, + {"Digest-HA1", 121, "UTF8String", "M"}, + {"Digest-QoP", 110, "UTF8String", "M"}, + {"Digest-Realm", 104, "UTF8String", "M"}, + {"Feature-List", 630, "Unsigned32", "V"}, + {"Feature-List-ID", 629, "Unsigned32", "V"}, + {"From-SIP-Header", 644, "OctetString", "V"}, + {"Initial-CSeq-Sequence-Number", + 654, + "Unsigned32", + "V"}, + {"Integrity-Key", 626, "OctetString", "MV"}, + {"LIA-Flags", 653, "Unsigned32", "V"}, + {"Loose-Route-Indication", 638, "Enumerated", "V"}, + {"Mandatory-Capability", 604, "Unsigned32", "MV"}, + {"Multiple-Registration-Indication", + 648, + "Enumerated", + "V"}, + {"Optional-Capability", 605, "Unsigned32", "MV"}, + {"Originating-Request", 633, "Enumerated", "MV"}, + {"Path", 640, "OctetString", "V"}, + {"Primary-Charging-Collection-Function-Name", + 621, + "DiameterURI", + "MV"}, + {"Primary-Event-Charging-Function-Name", + 619, + "DiameterURI", + "MV"}, + {"Priviledged-Sender-Indication", + 652, + "Enumerated", + "V"}, + {"Public-Identity", 601, "UTF8String", "MV"}, + {"Reason-Code", 616, "Enumerated", "MV"}, + {"Reason-Info", 617, "UTF8String", "MV"}, + {"Record-Route", 646, "OctetString", "V"}, + {"SAR-Flags", 655, "Unsigned32", "V"}, + {"SIP-Auth-Data-Item", 612, "Grouped", "MV"}, + {"SIP-Authenticate", 609, "OctetString", "MV"}, + {"SIP-Authentication-Context", + 611, + "OctetString", + "MV"}, + {"SIP-Authentication-Scheme", 608, "UTF8String", "MV"}, + {"SIP-Authorization", 610, "OctetString", "MV"}, + {"SIP-Digest-Authenticate", 635, "Grouped", "V"}, + {"SIP-Item-Number", 613, "Unsigned32", "MV"}, + {"SIP-Number-Auth-Items", 607, "Unsigned32", "MV"}, + {"Secondary-Charging-Collection-Function-Name", + 622, + "DiameterURI", + "MV"}, + {"Secondary-Event-Charging-Function-Name", + 620, + "DiameterURI", + "MV"}, + {"Server-Assignment-Type", 614, "Enumerated", "MV"}, + {"Server-Name", 602, "UTF8String", "MV"}, + {"Session-Priority", 650, "Enumerated", "V"}, + {"Supported-Applications", 631, "Grouped", "V"}, + {"Supported-Features", 628, "Grouped", "V"}, + {"To-SIP-Header", 645, "OctetString", "V"}, + {"UAR-Flags", 637, "Unsigned32", "V"}, + {"User-Authorization-Type", 623, "Enumerated", "MV"}, + {"User-Data", 606, "OctetString", "MV"}, + {"User-Data-Already-Available", + 624, + "Enumerated", + "MV"}, + {"Visited-Network-Identifier", + 600, + "OctetString", + "MV"}, + {"Wildcarded-Public-Identity", + 634, + "UTF8String", + "V"}]}, + {diameter_3gpp_ts29_272, + [{"3GPP2-MEID", 1471, "OctetString", "MV"}, + {"A-MSISDN", 1643, "OctetString", "V"}, + {"AMBR", 1435, "Grouped", "MV"}, + {"APN-Configuration", 1430, "Grouped", "MV"}, + {"APN-Configuration-Profile", 1429, "Grouped", "MV"}, + {"AUTN", 1449, "OctetString", "MV"}, + {"Access-Restriction-Data", 1426, "Unsigned32", "MV"}, + {"Active-APN", 1612, "Grouped", "V"}, + {"Age-Of-Location-Information", + 1611, + "Unsigned32", + "V"}, + {"Alert-Reason", 1434, "Enumerated", "MV"}, + {"All-APN-Configurations-Included-Indicator", + 1428, + "Enumerated", + "MV"}, + {"Area-Scope", 1624, "Grouped", "V"}, + {"Authentication-Info", 1413, "Grouped", "MV"}, + {"CLR-Flags", 1638, "Unsigned32", "V"}, + {"CSG-Id", 1437, "Unsigned32", "MV"}, + {"CSG-Subscription-Data", 1436, "Grouped", "MV"}, + {"Call-Barring-Info", 1488, "Grouped", "MV"}, + {"Cancellation-Type", 1420, "Enumerated", "MV"}, + {"Cell-Global-Identity", 1604, "OctetString", "V"}, + {"Client-Identity", 1480, "OctetString", "MV"}, + {"Collection-Period-RRM-LTE", 1657, "Enumerated", "V"}, + {"Collection-Period-RRM-UMTS", 1658, "Enumerated", "V"}, + {"Complete-Data-List-Included-Indicator", + 1468, + "Enumerated", + "MV"}, + {"Context-Identifier", 1423, "Unsigned32", "MV"}, + {"Core-Network-Restrictions", 1704, "Unsigned32", "V"}, + {"Current-Location-Retrieved", 1610, "Enumerated", "V"}, + {"DSA-Flags", 1422, "Unsigned32", "MV"}, + {"DSR-Flags", 1421, "Unsigned32", "MV"}, + {"Daylight-Saving-Time", 1650, "Enumerated", "V"}, + {"E-UTRAN-Cell-Global-Identity", + 1602, + "OctetString", + "V"}, + {"E-UTRAN-Vector", 1414, "Grouped", "MV"}, + {"EPS-Location-Information", 1496, "Grouped", "V"}, + {"EPS-Subscribed-QoS-Profile", 1431, "Grouped", "MV"}, + {"EPS-User-State", 1495, "Grouped", "V"}, + {"Equipment-Status", 1445, "Enumerated", "MV"}, + {"Equivalent-PLMN-List", 1637, "Grouped", "V"}, + {"Error-Diagnostic", 1614, "Enumerated", "V"}, + {"Event-Threshold-Event-1F", 1661, "Integer32", "V"}, + {"Event-Threshold-Event-1I", 1662, "Integer32", "V"}, + {"Event-Threshold-RSRP", 1629, "Unsigned32", "V"}, + {"Event-Threshold-RSRQ", 1630, "Unsigned32", "V"}, + {"Expiration-Date", 1439, "Time", "MV"}, + {"Ext-PDP-Address", 1621, "Address", "V"}, + {"Ext-PDP-Type", 1620, "OctetString", "V"}, + {"External-Client", 1479, "Grouped", "MV"}, + {"GERAN-Vector", 1416, "Grouped", "MV"}, + {"GMLC-Restriction", 1481, "Enumerated", "MV"}, + {"GPRS-Subscription-Data", 1467, "Grouped", "MV"}, + {"Geodetic-Information", 1609, "OctetString", "V"}, + {"Geographical-Information", 1608, "OctetString", "V"}, + {"HPLMN-ODB", 1418, "Unsigned32", "MV"}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + 1493, + "Enumerated", + "V"}, + {"ICS-Indicator", 1491, "Enumerated", "V"}, + {"IDA-Flags", 1441, "Unsigned32", "MV"}, + {"IDR-Flags", 1490, "Unsigned32", "MV"}, + {"IMEI", 1402, "UTF8String", "MV"}, + {"IMS-Voice-Over-PS-Sessions-Supported", + 1492, + "Enumerated", + "V"}, + {"Immediate-Response-Preferred", + 1412, + "Unsigned32", + "MV"}, + {"Item-Number", 1419, "Unsigned32", "MV"}, + {"Job-Type", 1623, "Enumerated", "V"}, + {"KASME", 1450, "OctetString", "MV"}, + {"Kc", 1453, "OctetString", "MV"}, + {"LCS-Info", 1473, "Grouped", "MV"}, + {"LCS-PrivacyException", 1475, "Grouped", "MV"}, + {"LIPA-Permission", 1618, "Enumerated", "V"}, + {"Last-UE-Activity-Time", 1494, "Time", "V"}, + {"List-Of-Measurements", 1625, "Unsigned32", "V"}, + {"Local-Time-Zone", 1649, "Grouped", "V"}, + {"Location-Area-Identity", 1606, "OctetString", "V"}, + {"Logging-Duration", 1632, "Enumerated", "V"}, + {"Logging-Interval", 1631, "Enumerated", "V"}, + {"MDT-Configuration", 1622, "Grouped", "V"}, + {"MDT-User-Consent", 1634, "Enumerated", "V"}, + {"MME-Location-Information", 1600, "Grouped", "V"}, + {"MME-Number-for-MT-SMS", 1645, "OctetString", "V"}, + {"MME-User-State", 1497, "Grouped", "V"}, + {"MO-LR", 1485, "Grouped", "MV"}, + {"MPS-Priority", 1616, "Unsigned32", "V"}, + {"Measurement-Period-LTE", 1656, "Enumerated", "V"}, + {"Measurement-Period-UMTS", 1655, "Enumerated", "V"}, + {"Measurement-Quantity", 1660, "OctetString", "V"}, + {"NOR-Flags", 1443, "Unsigned32", "MV"}, + {"Network-Access-Mode", 1417, "Enumerated", "MV"}, + {"Notification-To-UE-User", 1478, "Enumerated", "MV"}, + {"Number-Of-Requested-Vectors", + 1410, + "Unsigned32", + "MV"}, + {"OMC-Id", 1466, "OctetString", "MV"}, + {"Operator-Determined-Barring", + 1425, + "Unsigned32", + "MV"}, + {"PDN-GW-Allocation-Type", 1438, "Enumerated", "MV"}, + {"PDN-Type", 1456, "Enumerated", "MV"}, + {"PDP-Context", 1469, "Grouped", "MV"}, + {"PDP-Type", 1470, "OctetString", "MV"}, + {"PLMN-Client", 1482, "Enumerated", "MV"}, + {"PUA-Flags", 1442, "Unsigned32", "MV"}, + {"PUR-Flags", 1635, "Unsigned32", "V"}, + {"Positioning-Method", 1659, "OctetString", "V"}, + {"QoS-Subscribed", 1404, "OctetString", "MV"}, + {"RAND", 1447, "OctetString", "MV"}, + {"RAT-Frequency-Selection-Priority-ID", + 1440, + "Unsigned32", + "MV"}, + {"Re-Synchronization-Info", 1411, "OctetString", "MV"}, + {"Regional-Subscription-Zone-Code", + 1446, + "OctetString", + "MV"}, + {"Relay-Node-Indicator", 1633, "Enumerated", "V"}, + {"Report-Amount", 1628, "Enumerated", "V"}, + {"Report-Interval", 1627, "Enumerated", "V"}, + {"Reporting-Trigger", 1626, "Unsigned32", "V"}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + "Grouped", + "MV"}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + "Grouped", + "MV"}, + {"Restoration-Priority", 1663, "Unsigned32", "V"}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + 1457, + "Enumerated", + "MV"}, + {"Routing-Area-Identity", 1605, "OctetString", "V"}, + {"SGSN-Location-Information", 1601, "Grouped", "V"}, + {"SGSN-User-State", 1498, "Grouped", "V"}, + {"SIPTO-Permission", 1613, "Enumerated", "V"}, + {"SMS-Register-Request", 1648, "Enumerated", "V"}, + {"SRES", 1454, "OctetString", "MV"}, + {"SS-Code", 1476, "OctetString", "MV"}, + {"SS-Status", 1477, "OctetString", "MV"}, + {"STN-SR", 1433, "OctetString", "MV"}, + {"Service-Area-Identity", 1607, "OctetString", "V"}, + {"Service-Type", 1483, "Grouped", "MV"}, + {"ServiceTypeIdentity", 1484, "Unsigned32", "MV"}, + {"Software-Version", 1403, "UTF8String", "MV"}, + {"Specific-APN-Info", 1472, "Grouped", "MV"}, + {"Subscribed-Periodic-RAU-TAU-Timer", + 1619, + "Unsigned32", + "V"}, + {"Subscribed-VSRVCC", 1636, "Enumerated", "V"}, + {"Subscriber-Status", 1424, "Enumerated", "MV"}, + {"Subscription-Data", 1400, "Grouped", "MV"}, + {"Subscription-Data-Flags", 1654, "Unsigned32", "V"}, + {"TS-Code", 1487, "OctetString", "MV"}, + {"Teleservice-List", 1486, "Grouped", "MV"}, + {"Terminal-Information", 1401, "Grouped", "MV"}, + {"Time-Zone", 1642, "UTF8String", "V"}, + {"Trace-Collection-Entity", 1452, "Address", "MV"}, + {"Trace-Data", 1458, "Grouped", "MV"}, + {"Trace-Depth", 1462, "Enumerated", "MV"}, + {"Trace-Event-List", 1465, "OctetString", "MV"}, + {"Trace-Interface-List", 1464, "OctetString", "MV"}, + {"Trace-NE-Type-List", 1463, "OctetString", "MV"}, + {"Trace-Reference", 1459, "OctetString", "MV"}, + {"Tracking-Area-Identity", 1603, "OctetString", "V"}, + {"UE-SRVCC-Capability", 1615, "Enumerated", "V"}, + {"UE-Usage-Type", 1680, "Unsigned32", "V"}, + {"ULA-Flags", 1406, "Unsigned32", "MV"}, + {"ULR-Flags", 1405, "Unsigned32", "MV"}, + {"UTRAN-Vector", 1415, "Grouped", "MV"}, + {"UVA-Flags", 1640, "Unsigned32", "MV"}, + {"UVR-Flags", 1639, "Unsigned32", "MV"}, + {"User-Id", 1444, "UTF8String", "V"}, + {"User-State", 1499, "Enumerated", "V"}, + {"VPLMN-CSG-Subscription-Data", 1641, "Grouped", "MV"}, + {"VPLMN-Dynamic-Address-Allowed", + 1432, + "Enumerated", + "MV"}, + {"VPLMN-LIPA-Allowed", 1617, "Enumerated", "V"}, + {"Visited-PLMN-Id", 1407, "OctetString", "MV"}, + {"XRES", 1448, "OctetString", "MV"}]}, + {diameter_3gpp_ts29_273, + [{"3GPP-AAA-Server-Name", + 318, + "DiameterIdentity", + "MV"}, + {"AAA-Failure-Indication", 1518, "Unsigned32", "V"}, + {"AAR-Flags", 1539, "Unsigned32", "V"}, + {"AN-Trusted", 1503, "Enumerated", "MV"}, + {"ANID", 1504, "UTF8String", "MV"}, + {"Access-Authorization-Flags", 1511, "Unsigned32", "V"}, + {"Access-Network-Info", 1526, "Grouped", "V"}, + {"Connectivity-Flags", 1529, "Unsigned32", "V"}, + {"DEA-Flags", 1521, "Unsigned32", "V"}, + {"DER-Flags", 1520, "Unsigned32", "V"}, + {"DER-S6b-Flags", 1523, "Unsigned32", "V"}, + {"ERP-Authorization", 1541, "Unsigned32", "V"}, + {"Emergency-Services", 1538, "Unsigned32", "V"}, + {"Full-Network-Name", 1516, "OctetString", "V"}, + {"HESSID", 1525, "UTF8String", "V"}, + {"IMEI-Check-In-VPLMN-Result", 1540, "Unsigned32", "V"}, + {"MIP-FA-RK", 1506, "OctetString", "MV"}, + {"MIP-FA-RK-SPI", 1507, "Unsigned32", "MV"}, + {"MIP6-Feature-Vector", 124, "Unsigned64", "M"}, + {"Maximum-Wait-Time", 1537, "Unsigned32", "V"}, + {"Mobile-Node-Identifier", 506, "UTF8String", "M"}, + {"Non-3GPP-IP-Access", 1501, "Enumerated", "MV"}, + {"Non-3GPP-IP-Access-APN", 1502, "Enumerated", "MV"}, + {"Non-3GPP-User-Data", 1500, "Grouped", "MV"}, + {"Origination-Time-Stamp", 1536, "Unsigned64", "V"}, + {"PPR-Flags", 1508, "Unsigned32", "V"}, + {"RAR-Flags", 1522, "Unsigned32", "V"}, + {"SM-Back-Off-Timer", 1534, "Unsigned32", "V"}, + {"SSID", 1524, "UTF8String", "V"}, + {"Short-Network-Name", 1517, "OctetString", "V"}, + {"TWAG-CP-Address", 1531, "Address", "V"}, + {"TWAG-UP-Address", 1532, "UTF8String", "V"}, + {"TWAN-Access-Info", 1510, "Grouped", "V"}, + {"TWAN-Connection-Mode", 1527, "Unsigned32", "V"}, + {"TWAN-Connectivity-Parameters", 1528, "Grouped", "V"}, + {"TWAN-Default-APN-Context-Id", + 1512, + "Unsigned32", + "V"}, + {"TWAN-PCO", 1530, "OctetString", "V"}, + {"TWAN-S2a-Failure-Cause", 1533, "Unsigned32", "V"}, + {"Trace-Info", 1505, "Grouped", "V"}, + {"Transport-Access-Type", 1519, "Enumerated", "V"}, + {"WLAN-Identifier", 1509, "Grouped", "V"}, + {"WLCP-Key", 1535, "OctetString", "V"}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", 4406, "Enumerated", "MV"}, + {"AF-Correlation-Information", 1276, "Grouped", "MV"}, + {"APN-Rate-Control", 3933, "Grouped", "MV"}, + {"APN-Rate-Control-Downlink", 3934, "Grouped", "MV"}, + {"APN-Rate-Control-Uplink", 3935, "Grouped", "MV"}, + {"Access-Network-Info-Change", 4401, "Grouped", "MV"}, + {"Access-Network-Information", + 1263, + "OctetString", + "MV"}, + {"Access-Transfer-Information", 2709, "Grouped", "MV"}, + {"Access-Transfer-Type", 2710, "Enumerated", "MV"}, + {"Account-Expiration", 2309, "Time", "MV"}, + {"Accumulated-Cost", 2052, "Grouped", "MV"}, + {"Adaptations", 1217, "Enumerated", "MV"}, + {"Additional-Content-Information", + 1207, + "Grouped", + "MV"}, + {"Additional-Exception-Reports", + 3936, + "Enumerated", + "MV"}, + {"Additional-Type-Information", + 1205, + "UTF8String", + "MV"}, + {"Address-Data", 897, "UTF8String", "MV"}, + {"Address-Domain", 898, "Grouped", "MV"}, + {"Address-Type", 899, "Enumerated", "MV"}, + {"Addressee-Type", 1208, "Enumerated", "MV"}, + {"Alternate-Charged-Party-Address", + 1280, + "UTF8String", + "MV"}, + {"Announcement-Identifier", 3905, "Unsigned32", "MV"}, + {"Announcement-Information", 3904, "Grouped", "MV"}, + {"Announcement-Order", 3906, "Unsigned32", "MV"}, + {"Announcing-PLMN-ID", 4408, "UTF8String", "MV"}, + {"Announcing-UE-HPLMN-Identifier", + 3426, + "UTF8String", + "MV"}, + {"Announcing-UE-VPLMN-Identifier", + 3427, + "UTF8String", + "MV"}, + {"AoC-Cost-Information", 2053, "Grouped", "MV"}, + {"AoC-Format", 2310, "Enumerated", "MV"}, + {"AoC-Information", 2054, "Grouped", "MV"}, + {"AoC-Request-Type", 2055, "Enumerated", "MV"}, + {"AoC-Service", 2311, "Grouped", "MV"}, + {"AoC-Service-Obligatory-Type", + 2312, + "Enumerated", + "MV"}, + {"AoC-Service-Type", 2313, "Enumerated", "MV"}, + {"AoC-Subscription-Information", 2314, "Grouped", "MV"}, + {"Applic-ID", 1218, "UTF8String", "MV"}, + {"Application-Provided-Called-Party-Address", + 837, + "UTF8String", + "MV"}, + {"Application-Server", 836, "UTF8String", "MV"}, + {"Application-Server-Information", + 850, + "Grouped", + "MV"}, + {"Application-Specific-Data", + 3458, + "OctetString", + "MV"}, + {"Associated-Party-Address", 2035, "UTF8String", "MV"}, + {"Associated-URI", 856, "UTF8String", "MV"}, + {"Authorised-QoS", 849, "UTF8String", "MV"}, + {"Aux-Applic-Info", 1219, "UTF8String", "MV"}, + {"BSSID", 2716, "UTF8String", "MV"}, + {"Base-Time-Interval", 1265, "Unsigned32", "MV"}, + {"Basic-Service-Code", 3411, "Grouped", "MV"}, + {"Bearer-Capability", 3412, "OctetString", "MV"}, + {"Bearer-Service", 854, "OctetString", "MV"}, + {"CG-Address", 846, "Address", "MV"}, + {"CN-Operator-Selection-Entity", + 3421, + "Enumerated", + "MV"}, + {"CP-CIoT-EPS-Optimisation-Indicator", + 3930, + "Enumerated", + "MV"}, + {"CPDT-Information", 3927, "Grouped", "MV"}, + {"CSG-Access-Mode", 2317, "Enumerated", "MV"}, + {"CSG-Membership-Indication", 2318, "Enumerated", "MV"}, + {"CUG-Information", 2304, "OctetString", "MV"}, + {"Called-Asserted-Identity", 1250, "UTF8String", "MV"}, + {"Called-Identity", 3916, "UTF8String", "MV"}, + {"Called-Identity-Change", 3917, "Grouped", "MV"}, + {"Called-Party-Address", 832, "UTF8String", "MV"}, + {"Calling-Party-Address", 831, "UTF8String", "MV"}, + {"Carrier-Select-Routing-Information", + 2023, + "UTF8String", + "MV"}, + {"Cause-Code", 861, "Integer32", "MV"}, + {"Cellular-Network-Information", + 3924, + "OctetString", + "MV"}, + {"Change-Condition", 2037, "Integer32", "MV"}, + {"Change-Time", 2038, "Time", "MV"}, + {"Charge-Reason-Code", 2118, "Enumerated", "MV"}, + {"Charged-Party", 857, "UTF8String", "MV"}, + {"Charging-Characteristics-Selection-Mode", + 2066, + "Enumerated", + "MV"}, + {"Charging-Per-IP-CAN-Session-Indicator", + 4400, + "Enumerated", + "MV"}, + {"Class-Identifier", 1214, "Enumerated", "MV"}, + {"Client-Address", 2018, "Address", "MV"}, + {"Content-Class", 1220, "Enumerated", "MV"}, + {"Content-Disposition", 828, "UTF8String", "MV"}, + {"Content-Length", 827, "Unsigned32", "MV"}, + {"Content-Size", 1206, "Unsigned32", "MV"}, + {"Content-Type", 826, "UTF8String", "MV"}, + {"Coverage-Info", 3459, "Grouped", "MV"}, + {"Coverage-Status", 3428, "Enumerated", "MV"}, + {"Current-Tariff", 2056, "Grouped", "MV"}, + {"DRM-Content", 1221, "Enumerated", "MV"}, + {"Data-Coding-Scheme", 2001, "Integer32", "MV"}, + {"Deferred-Location-Event-Type", + 1230, + "UTF8String", + "MV"}, + {"Delivery-Report-Requested", 1216, "Enumerated", "MV"}, + {"Destination-Interface", 2002, "Grouped", "MV"}, + {"Diagnostics", 2039, "Integer32", "MV"}, + {"Discoveree-UE-HPLMN-Identifier", + 4402, + "UTF8String", + "MV"}, + {"Discoveree-UE-VPLMN-Identifier", + 4403, + "UTF8String", + "MV"}, + {"Discoverer-UE-HPLMN-Identifier", + 4404, + "UTF8String", + "MV"}, + {"Discoverer-UE-VPLMN-Identifier", + 4405, + "UTF8String", + "MV"}, + {"Domain-Name", 1200, "UTF8String", "MV"}, + {"Dynamic-Address-Flag", 2051, "Enumerated", "MV"}, + {"Dynamic-Address-Flag-Extension", + 2068, + "Enumerated", + "MV"}, + {"EPDG-Address", 3425, "Address", "MV"}, + {"Early-Media-Description", 1272, "Grouped", "MV"}, + {"Enhanced-Diagnostics", 3901, "Grouped", "MV"}, + {"Envelope", 1266, "Grouped", "MV"}, + {"Envelope-End-Time", 1267, "Time", "MV"}, + {"Envelope-Reporting", 1268, "Enumerated", "MV"}, + {"Envelope-Start-Time", 1269, "Time", "MV"}, + {"Event", 825, "UTF8String", "MV"}, + {"Event-Charging-TimeStamp", 1258, "Time", "MV"}, + {"Event-Type", 823, "Grouped", "MV"}, + {"Expires", 888, "Unsigned32", "MV"}, + {"FE-Identifier-List", 4413, "UTF8String", "MV"}, + {"File-Repair-Supported", 1224, "Enumerated", "MV"}, + {"Forwarding-Pending", 3415, "Enumerated", "MV"}, + {"From-Address", 2708, "UTF8String", "MV"}, + {"GGSN-Address", 847, "Address", "MV"}, + {"IMS-Application-Reference-Identifier", + 2601, + "UTF8String", + "MV"}, + {"IMS-Charging-Identifier", 841, "UTF8String", "MV"}, + {"IMS-Communication-Service-Identifier", + 1281, + "UTF8String", + "MV"}, + {"IMS-Emergency-Indicator", 2322, "Enumerated", "MV"}, + {"IMS-Information", 876, "Grouped", "MV"}, + {"IMS-Visited-Network-Identifier", + 2713, + "UTF8String", + "MV"}, + {"IMSI-Unauthenticated-Flag", 2308, "Enumerated", "MV"}, + {"IP-Realm-Default-Indication", + 2603, + "Enumerated", + "MV"}, + {"ISUP-Cause", 3416, "Grouped", "MV"}, + {"ISUP-Cause-Diagnostics", 3422, "OctetString", "MV"}, + {"ISUP-Cause-Location", 3423, "Unsigned32", "MV"}, + {"ISUP-Cause-Value", 3424, "Unsigned32", "MV"}, + {"ISUP-Location-Number", 3414, "OctetString", "MV"}, + {"Incoming-Trunk-Group-Id", 852, "UTF8String", "MV"}, + {"Incremental-Cost", 2062, "Grouped", "MV"}, + {"Initial-IMS-Charging-Identifier", + 2321, + "UTF8String", + "MV"}, + {"Instance-Id", 3402, "UTF8String", "MV"}, + {"Inter-Operator-Identifier", 838, "Grouped", "MV"}, + {"Inter-UE-Transfer", 3902, "Enumerated", "MV"}, + {"Interface-Id", 2003, "UTF8String", "MV"}, + {"Interface-Port", 2004, "UTF8String", "MV"}, + {"Interface-Text", 2005, "UTF8String", "MV"}, + {"Interface-Type", 2006, "Enumerated", "MV"}, + {"LCS-APN", 1231, "UTF8String", "MV"}, + {"LCS-Client-Dialed-By-MS", 1233, "UTF8String", "MV"}, + {"LCS-Client-External-ID", 1234, "UTF8String", "MV"}, + {"LCS-Client-ID", 1232, "Grouped", "MV"}, + {"LCS-Client-Name", 1235, "Grouped", "MV"}, + {"LCS-Client-Type", 1241, "Enumerated", "MV"}, + {"LCS-Data-Coding-Scheme", 1236, "UTF8String", "MV"}, + {"LCS-Format-Indicator", 1237, "Enumerated", "MV"}, + {"LCS-Information", 878, "Grouped", "MV"}, + {"LCS-Name-String", 1238, "UTF8String", "MV"}, + {"LCS-Requestor-ID", 1239, "Grouped", "MV"}, + {"LCS-Requestor-ID-String", 1240, "UTF8String", "MV"}, + {"Language", 3914, "UTF8String", "MV"}, + {"Layer-2-Group-ID", 3429, "OctetString", "MV"}, + {"Local-GW-Inserted-Indication", + 2604, + "Enumerated", + "MV"}, + {"Local-Sequence-Number", 2063, "Unsigned32", "MV"}, + {"Location-Estimate", 1242, "OctetString", "MV"}, + {"Location-Estimate-Type", 1243, "Enumerated", "MV"}, + {"Location-Info", 3460, "Grouped", "MV"}, + {"Location-Type", 1244, "Grouped", "MV"}, + {"Low-Balance-Indication", 2020, "Enumerated", "MV"}, + {"Low-Priority-Indicator", 2602, "Enumerated", "MV"}, + {"MBMS-Charged-Party", 2323, "Enumerated", "MV"}, + {"MBMS-GW-Address", 2307, "Address", "MV"}, + {"MBMS-Information", 880, "Grouped", "MV"}, + {"MBMS-User-Service-Type", 1225, "Enumerated", "MV"}, + {"MM-Content-Type", 1203, "Grouped", "MV"}, + {"MMBox-Storage-Requested", 1248, "Enumerated", "MV"}, + {"MMS-Information", 877, "Grouped", "MV"}, + {"MMTel-Information", 2030, "Grouped", "MV"}, + {"MMTel-SService-Type", 2031, "Unsigned32", "MV"}, + {"MSC-Address", 3417, "OctetString", "MV"}, + {"MTC-IWF-Address", 3406, "Address", "MV"}, + {"Media-Initiator-Flag", 882, "Enumerated", "MV"}, + {"Media-Initiator-Party", 1288, "UTF8String", "MV"}, + {"Message-Body", 889, "Grouped", "MV"}, + {"Message-Class", 1213, "Grouped", "MV"}, + {"Message-ID", 1210, "UTF8String", "MV"}, + {"Message-Size", 1212, "Unsigned32", "MV"}, + {"Message-Type", 1211, "Enumerated", "MV"}, + {"Monitored-PLMN-Identifier", 3430, "UTF8String", "MV"}, + {"Monitoring-Event-Configuration-Activity", + 3919, + "Integer32", + "MV"}, + {"Monitoring-Event-Functionality", + 3922, + "Integer32", + "MV"}, + {"Monitoring-Event-Information", 3921, "Grouped", "MV"}, + {"Monitoring-Event-Report-Data", 3920, "Grouped", "MV"}, + {"Monitoring-Event-Report-Number", + 3923, + "Unsigned32", + "MV"}, + {"Monitoring-UE-HPLMN-Identifier", + 3431, + "UTF8String", + "MV"}, + {"Monitoring-UE-Identifier", 3432, "UTF8String", "MV"}, + {"Monitoring-UE-VPLMN-Identifier", + 3433, + "UTF8String", + "MV"}, + {"NIDD-Submission", 3928, "Grouped", "VM"}, + {"NNI-Information", 2703, "Grouped", "MV"}, + {"NNI-Type", 2704, "Enumerated", "MV"}, + {"Neighbour-Node-Address", 2705, "Address", "MV"}, + {"Network-Call-Reference-Number", + 3418, + "OctetString", + "MV"}, + {"Next-Tariff", 2057, "Grouped", "VM"}, + {"Node-Functionality", 862, "Enumerated", "MV"}, + {"Node-Id", 2064, "UTF8String", "MV"}, + {"Number-Of-Diversions", 2034, "Unsigned32", "MV"}, + {"Number-Of-Messages-Sent", 2019, "Unsigned32", "MV"}, + {"Number-Of-Participants", 885, "Unsigned32", "MV"}, + {"Number-Of-Received-Talk-Bursts", + 1282, + "Unsigned32", + "MV"}, + {"Number-Of-Talk-Bursts", 1283, "Unsigned32", "MV"}, + {"Number-Portability-Routing-Information", + 2024, + "UTF8String", + "MV"}, + {"Offline-Charging", 1278, "Grouped", "MV"}, + {"Online-Charging-Flag", 2303, "Enumerated", "MV"}, + {"Originating-IOI", 839, "UTF8String", "MV"}, + {"Originator", 864, "Enumerated", "MV"}, + {"Originator-Address", 886, "Grouped", "MV"}, + {"Originator-Interface", 2009, "Grouped", "MV"}, + {"Originator-Received-Address", 2027, "Grouped", "MV"}, + {"Originator-SCCP-Address", 2008, "Address", "MV"}, + {"Outgoing-Session-Id", 2320, "UTF8String", "MV"}, + {"Outgoing-Trunk-Group-Id", 853, "UTF8String", "MV"}, + {"PC3-Control-Protocol-Cause", 3434, "Integer32", "MV"}, + {"PC3-EPC-Control-Protocol-Cause", + 3435, + "Integer32", + "MV"}, + {"PC5-Radio-Technology", 1300, "Enumerated", "V"}, + {"PDN-Connection-Charging-ID", + 2050, + "Unsigned32", + "MV"}, + {"PDP-Address", 1227, "Address", "MV"}, + {"PDP-Address-Prefix-Length", 2606, "Unsigned32", "MV"}, + {"PDP-Context-Type", 1247, "Enumerated", "MV"}, + {"PS-Append-Free-Format-Data", 867, "Enumerated", "MV"}, + {"PS-Free-Format-Data", 866, "OctetString", "MV"}, + {"PS-Furnish-Charging-Information", + 865, + "Grouped", + "MV"}, + {"PS-Information", 874, "Grouped", "MV"}, + {"Participant-Access-Priority", + 1259, + "Enumerated", + "MV"}, + {"Participant-Action-Type", 2049, "Enumerated", "MV"}, + {"Participant-Group", 1260, "Grouped", "MV"}, + {"Participants-Involved", 887, "UTF8String", "MV"}, + {"Play-Alternative", 3913, "Enumerated", "MV"}, + {"PoC-Change-Condition", 1261, "Enumerated", "MV"}, + {"PoC-Change-Time", 1262, "Time", "MV"}, + {"PoC-Controlling-Address", 858, "UTF8String", "MV"}, + {"PoC-Event-Type", 2025, "Enumerated", "MV"}, + {"PoC-Group-Name", 859, "UTF8String", "MV"}, + {"PoC-Information", 879, "Grouped", "MV"}, + {"PoC-Server-Role", 883, "Enumerated", "MV"}, + {"PoC-Session-Id", 1229, "UTF8String", "MV"}, + {"PoC-Session-Initiation-Type", + 1277, + "Enumerated", + "MV"}, + {"PoC-Session-Type", 884, "Enumerated", "MV"}, + {"PoC-User-Role", 1252, "Grouped", "MV"}, + {"PoC-User-Role-IDs", 1253, "UTF8String", "MV"}, + {"PoC-User-Role-Info-Units", 1254, "Enumerated", "MV"}, + {"Positioning-Data", 1245, "UTF8String", "MV"}, + {"Preferred-AoC-Currency", 2315, "Unsigned32", "MV"}, + {"Priority", 1209, "Enumerated", "MV"}, + {"Privacy-Indicator", 3915, "Enumerated", "MV"}, + {"ProSe-3rd-Party-Application-ID", + 3440, + "UTF8String", + "MV"}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + "Grouped", + "MV"}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + "Grouped", + "MV"}, + {"ProSe-Direct-Discovery-Model", + 3442, + "Enumerated", + "MV"}, + {"ProSe-Event-Type", 3443, "Enumerated", "MV"}, + {"ProSe-Function-IP-Address", 3444, "Address", "MV"}, + {"ProSe-Function-PLMN-Identifier", + 3457, + "UTF8String", + "MV"}, + {"ProSe-Functionality", 3445, "Enumerated", "MV"}, + {"ProSe-Group-IP-Multicast-Address", + 3446, + "Address", + "MV"}, + {"ProSe-Information", 3447, "Grouped", "MV"}, + {"ProSe-Range-Class", 3448, "Enumerated", "MV"}, + {"ProSe-Reason-For-Cancellation", + 3449, + "Enumerated", + "MV"}, + {"ProSe-Request-Timestamp", 3450, "Time", "MV"}, + {"ProSe-Role-Of-UE", 3451, "Enumerated", "MV"}, + {"ProSe-Source-IP-Address", 3452, "Address", "MV"}, + {"ProSe-Target-Layer-2-ID", 4410, "OctetString", "MV"}, + {"ProSe-UE-ID", 3453, "OctetString", "MV"}, + {"ProSe-UE-to-Network-Relay-UE-ID", + 4409, + "OctetString", + "MV"}, + {"Proximity-Alert-Indication", + 3454, + "Enumerated", + "MV"}, + {"Proximity-Alert-Timestamp", 3455, "Time", "MV"}, + {"Proximity-Cancellation-Timestamp", + 3456, + "Time", + "MV"}, + {"Quota-Consumption-Time", 881, "Unsigned32", "MV"}, + {"Quota-Holding-Time", 871, "Unsigned32", "MV"}, + {"Quota-Indicator", 3912, "Enumerated", "MV"}, + {"RAN-End-Time", 1301, "Time", "V"}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + "Grouped", + "V"}, + {"RAN-Start-Time", 1303, "Time", "V"}, + {"Radio-Frequency", 3462, "OctetString", "MV"}, + {"Radio-Parameter-Set-Info", 3463, "Grouped", "MV"}, + {"Radio-Parameter-Set-Values", + 3464, + "OctetString", + "MV"}, + {"Radio-Resources-Indicator", 3465, "Integer32", "MV"}, + {"Rate-Control-Max-Message-Size", + 3937, + "Unsigned32", + "MV"}, + {"Rate-Control-Max-Rate", 3938, "Unsigned32", "MV"}, + {"Rate-Control-Time-Unit", 3939, "Unsigned32", "MV"}, + {"Rate-Element", 2058, "Grouped", "MV"}, + {"Read-Reply-Report-Requested", + 1222, + "Enumerated", + "MV"}, + {"Real-Time-Tariff-Information", 2305, "Grouped", "MV"}, + {"Reason-Header", 3401, "UTF8String", "MV"}, + {"Received-Talk-Burst-Time", 1284, "Unsigned32", "MV"}, + {"Received-Talk-Burst-Volume", + 1285, + "Unsigned32", + "MV"}, + {"Recipient-Address", 1201, "Grouped", "MV"}, + {"Recipient-Info", 2026, "Grouped", "MV"}, + {"Recipient-Received-Address", 2028, "Grouped", "MV"}, + {"Recipient-SCCP-Address", 2010, "Address", "MV"}, + {"Refund-Information", 2022, "OctetString", "MV"}, + {"Related-Change-Condition-Information", + 3925, + "Grouped", + "MV"}, + {"Related-IMS-Charging-Identifier", + 2711, + "UTF8String", + "MV"}, + {"Related-IMS-Charging-Identifier-Node", + 2712, + "Address", + "MV"}, + {"Related-Trigger", 3926, "Grouped", "MV"}, + {"Relationship-Mode", 2706, "Enumerated", "MV"}, + {"Relay-IP-address", 4411, "Address", "MV"}, + {"Remaining-Balance", 2021, "Grouped", "MV"}, + {"Reply-Applic-ID", 1223, "UTF8String", "MV"}, + {"Reply-Path-Requested", 2011, "Enumerated", "MV"}, + {"Reporting-Reason", 872, "Enumerated", "MV"}, + {"Requested-PLMN-Identifier", 3436, "UTF8String", "MV"}, + {"Requested-Party-Address", 1251, "UTF8String", "MV"}, + {"Requestor-PLMN-Identifier", 3437, "UTF8String", "MV"}, + {"Role-Of-Node", 829, "Enumerated", "MV"}, + {"Role-Of-ProSe-Function", 3438, "Enumerated", "MV"}, + {"Route-Header-Received", 3403, "UTF8String", "MV"}, + {"Route-Header-Transmitted", 3404, "UTF8String", "MV"}, + {"SCS-AS-Address", 3940, "Grouped", "MV"}, + {"SCS-Address", 3941, "Address", "MV"}, + {"SCS-Realm", 3942, "DiameterIdentity", "MV"}, + {"SDP-Answer-Timestamp", 1275, "Time", "MV"}, + {"SDP-Media-Component", 843, "Grouped", "MV"}, + {"SDP-Media-Description", 845, "UTF8String", "MV"}, + {"SDP-Media-Name", 844, "UTF8String", "MV"}, + {"SDP-Offer-Timestamp", 1274, "Time", "MV"}, + {"SDP-Session-Description", 842, "UTF8String", "MV"}, + {"SDP-TimeStamps", 1273, "Grouped", "MV"}, + {"SDP-Type", 2036, "Enumerated", "MV"}, + {"SGSN-Address", 1228, "Address", "MV"}, + {"SGW-Address", 2067, "Address", "MV"}, + {"SGW-Change", 2065, "Enumerated", "MV"}, + {"SGi-PtP-Tunnelling-Method", 3931, "Enumerated", "MV"}, + {"SIP-Method", 824, "UTF8String", "MV"}, + {"SIP-Request-Timestamp", 834, "Time", "MV"}, + {"SIP-Request-Timestamp-Fraction", + 2301, + "Unsigned32", + "MV"}, + {"SIP-Response-Timestamp", 835, "Time", "MV"}, + {"SIP-Response-Timestamp-Fraction", + 2302, + "Unsigned32", + "MV"}, + {"SM-Device-Trigger-Indicator", + 3407, + "Enumerated", + "MV"}, + {"SM-Device-Trigger-Information", + 3405, + "Grouped", + "MV"}, + {"SM-Discharge-Time", 2012, "Time", "MV"}, + {"SM-Message-Type", 2007, "Enumerated", "MV"}, + {"SM-Protocol-ID", 2013, "OctetString", "MV"}, + {"SM-Sequence-Number", 3408, "Unsigned32", "MV"}, + {"SM-Service-Type", 2029, "Enumerated", "MV"}, + {"SM-Status", 2014, "OctetString", "MV"}, + {"SM-User-Data-Header", 2015, "OctetString", "MV"}, + {"SMS-Information", 2000, "Grouped", "MV"}, + {"SMS-Node", 2016, "Enumerated", "MV"}, + {"SMS-Result", 3409, "Unsigned32", "MV"}, + {"SMSC-Address", 2017, "Address", "MV"}, + {"Scale-Factor", 2059, "Grouped", "MV"}, + {"Secondary-RAT-Type", 1304, "OctetString", "V"}, + {"Served-Party-IP-Address", 848, "Address", "MV"}, + {"Service-Data-Container", 2040, "Grouped", "MV"}, + {"Service-Id", 855, "UTF8String", "MV"}, + {"Service-Information", 873, "Grouped", "MV"}, + {"Service-Mode", 2032, "Unsigned32", "MV"}, + {"Service-Specific-Data", 863, "UTF8String", "MV"}, + {"Service-Specific-Info", 1249, "Grouped", "MV"}, + {"Service-Specific-Type", 1257, "Unsigned32", "MV"}, + {"Serving-Node-Identity", + 3929, + "DiameterIdentity", + "MV"}, + {"Serving-Node-Type", 2047, "Enumerated", "MV"}, + {"Session-Direction", 2707, "Enumerated", "MV"}, + {"Start-Time", 2041, "Time", "MV"}, + {"Start-of-Charging", 3419, "Time", "MV"}, + {"Status-AS-Code", 2702, "Enumerated", "MV"}, + {"Stop-Time", 2042, "Time", "MV"}, + {"Submission-Time", 1202, "Time", "MV"}, + {"Subscriber-Role", 2033, "Enumerated", "MV"}, + {"Supplementary-Service", 2048, "Grouped", "MV"}, + {"TAD-Identifier", 2717, "Enumerated", "MV"}, + {"TWAG-Address", 3903, "Address", "MV"}, + {"TWAN-User-Location-Info", 2714, "Grouped", "MV"}, + {"Talk-Burst-Exchange", 1255, "Grouped", "MV"}, + {"Talk-Burst-Time", 1286, "Unsigned32", "MV"}, + {"Talk-Burst-Volume", 1287, "Unsigned32", "MV"}, + {"Target-IP-Address", 4412, "Address", "MV"}, + {"Tariff-Information", 2060, "Grouped", "MV"}, + {"Tariff-XML", 2306, "UTF8String", "MV"}, + {"Teleservice", 3413, "OctetString", "MV"}, + {"Terminating-IOI", 840, "UTF8String", "MV"}, + {"Time-First-Reception", 3466, "Time", "MV"}, + {"Time-First-Transmission", 3467, "Time", "MV"}, + {"Time-First-Usage", 2043, "Time", "MV"}, + {"Time-Indicator", 3911, "Unsigned32", "MV"}, + {"Time-Last-Usage", 2044, "Time", "MV"}, + {"Time-Quota-Mechanism", 1270, "Grouped", "MV"}, + {"Time-Quota-Threshold", 868, "Unsigned32", "MV"}, + {"Time-Quota-Type", 1271, "Enumerated", "MV"}, + {"Time-Stamps", 833, "Grouped", "MV"}, + {"Time-Usage", 2045, "Unsigned32", "MV"}, + {"Token-Text", 1215, "UTF8String", "MV"}, + {"Traffic-Data-Volumes", 2046, "Grouped", "MV"}, + {"Transcoder-Inserted-Indication", + 2605, + "Enumerated", + "MV"}, + {"Transit-IOI-List", 2701, "UTF8String", "MV"}, + {"Transmitter-Info", 3468, "Grouped", "MV"}, + {"Trigger", 1264, "Grouped", "MV"}, + {"Trigger-Type", 870, "Enumerated", "MV"}, + {"Trunk-Group-Id", 851, "Grouped", "MV"}, + {"Type-Number", 1204, "Enumerated", "MV"}, + {"UNI-PDU-CP-Only-Flag", 3932, "Enumerated", "MV"}, + {"UWAN-User-Location-Info", 3918, "Grouped", "MV"}, + {"Unit-Cost", 2061, "Grouped", "MV"}, + {"Unit-Quota-Threshold", 1226, "Unsigned32", "MV"}, + {"Unused-Quota-Timer", 4407, "Unsigned32", "MV"}, + {"Usage-Information-Report-Sequence-Number", + 3439, + "Integer32", + "MV"}, + {"User-CSG-Information", 2319, "Grouped", "MV"}, + {"User-Participating-Type", 1279, "Enumerated", "MV"}, + {"User-Session-Id", 830, "UTF8String", "MV"}, + {"VCS-Information", 3410, "Grouped", "MV"}, + {"VLR-Number", 3420, "OctetString", "MV"}, + {"Variable-Part", 3907, "Grouped", "MV"}, + {"Variable-Part-Order", 3908, "Unsigned32", "MV"}, + {"Variable-Part-Type", 3909, "Enumerated", "MV"}, + {"Variable-Part-Value", 3910, "UTF8String", "MV"}, + {"Volume-Quota-Threshold", 869, "Unsigned32", "MV"}]}, + {diameter_etsi_es283_034, + [{"Address-Realm", 301, "OctetString", "MV"}, + {"Aggregation-Network-Type", 307, "Enumerated", "V"}, + {"Application-Class-ID", 312, "UTF8String", "V"}, + {"IP-Connectivity-Status", 305, "Enumerated", "V"}, + {"Initial-Gate-Setting-ID", 314, "Unsigned32", "V"}, + {"Logical-Access-ID", 302, "OctetString", "V"}, + {"Maximum-Allowed-Bandwidth-DL", + 309, + "Unsigned32", + "V"}, + {"Maximum-Allowed-Bandwidth-UL", + 308, + "Unsigned32", + "V"}, + {"Physical-Access-ID", 313, "UTF8String", "V"}, + {"QoS-Profile-ID", 315, "Unsigned32", "V"}, + {"Transport-Class", 311, "Unsigned32", "V"}]}, + {diameter_rfc4006_cc, + [{"CC-Correlation-Id", 411, "OctetString", []}, + {"CC-Input-Octets", 412, "Unsigned64", "M"}, + {"CC-Money", 413, "Grouped", "M"}, + {"CC-Output-Octets", 414, "Unsigned64", "M"}, + {"CC-Request-Number", 415, "Unsigned32", "M"}, + {"CC-Request-Type", 416, "Enumerated", "M"}, + {"CC-Service-Specific-Units", 417, "Unsigned64", "M"}, + {"CC-Session-Failover", 418, "Enumerated", "M"}, + {"CC-Sub-Session-Id", 419, "Unsigned64", "M"}, + {"CC-Time", 420, "Unsigned32", "M"}, + {"CC-Total-Octets", 421, "Unsigned64", "M"}, + {"CC-Unit-Type", 454, "Enumerated", "M"}, + {"Check-Balance-Result", 422, "Enumerated", "M"}, + {"Cost-Information", 423, "Grouped", "M"}, + {"Cost-Unit", 424, "UTF8String", "M"}, + {"Credit-Control", 426, "Enumerated", "M"}, + {"Credit-Control-Failure-Handling", + 427, + "Enumerated", + "M"}, + {"Currency-Code", 425, "Unsigned32", "M"}, + {"Direct-Debiting-Failure-Handling", + 428, + "Enumerated", + "M"}, + {"Exponent", 429, "Integer32", "M"}, + {"Final-Unit-Action", 449, "Enumerated", "M"}, + {"Final-Unit-Indication", 430, "Grouped", "M"}, + {"G-S-U-Pool-Identifier", 453, "Unsigned32", "M"}, + {"G-S-U-Pool-Reference", 457, "Grouped", "M"}, + {"Granted-Service-Unit", 431, "Grouped", "M"}, + {"Multiple-Services-Credit-Control", + 456, + "Grouped", + "M"}, + {"Multiple-Services-Indicator", 455, "Enumerated", "M"}, + {"Rating-Group", 432, "Unsigned32", "M"}, + {"Redirect-Address-Type", 433, "Enumerated", "M"}, + {"Redirect-Server", 434, "Grouped", "M"}, + {"Redirect-Server-Address", 435, "UTF8String", "M"}, + {"Requested-Action", 436, "Enumerated", "M"}, + {"Requested-Service-Unit", 437, "Grouped", "M"}, + {"Restriction-Filter-Rule", 438, "IPFilterRule", "M"}, + {"Service-Context-Id", 461, "UTF8String", "M"}, + {"Service-Identifier", 439, "Unsigned32", "M"}, + {"Service-Parameter-Info", 440, "Grouped", []}, + {"Service-Parameter-Type", 441, "Unsigned32", []}, + {"Service-Parameter-Value", 442, "OctetString", []}, + {"Subscription-Id", 443, "Grouped", "M"}, + {"Subscription-Id-Data", 444, "UTF8String", "M"}, + {"Subscription-Id-Type", 450, "Enumerated", "M"}, + {"Tariff-Change-Usage", 452, "Enumerated", "M"}, + {"Tariff-Time-Change", 451, "Time", "M"}, + {"Unit-Value", 445, "Grouped", "M"}, + {"Used-Service-Unit", 446, "Grouped", "M"}, + {"User-Equipment-Info", 458, "Grouped", []}, + {"User-Equipment-Info-Type", 459, "Enumerated", []}, + {"User-Equipment-Info-Value", 460, "OctetString", []}, + {"Validity-Time", 448, "Unsigned32", "M"}, + {"Value-Digits", 447, "Integer64", "M"}]}, + {diameter_rfc5447, + [{"MIP6-Agent-Info", 486, "Grouped", "M"}, + {"MIP6-Home-Link-Prefix", 125, "OctetString", "M"}]}, + {diameter_rfc5580, + [{"Location-Data", 128, "OctetString", []}, + {"Location-Information", 127, "OctetString", []}, + {"Operator-Name", 126, "OctetString", []}]}, + {diameter_rfc5778, + [{"Service-Selection", 493, "UTF8String", "M"}]}, + {diameter_rfc7155, + [{"Framed-AppleTalk-Link", 37, "Unsigned32", "M"}, + {"Framed-AppleTalk-Network", 38, "Unsigned32", "M"}, + {"Framed-AppleTalk-Zone", 39, "OctetString", "M"}, + {"Framed-Compression", 13, "Enumerated", "M"}, + {"Framed-IP-Address", 8, "OctetString", "M"}, + {"Framed-IP-Netmask", 9, "OctetString", "M"}, + {"Framed-IPX-Network", 23, "Unsigned32", "M"}, + {"Framed-IPv6-Pool", 100, "OctetString", "M"}, + {"Framed-IPv6-Prefix", 97, "OctetString", "M"}, + {"Framed-IPv6-Route", 99, "UTF8String", "M"}, + {"Framed-Interface-Id", 96, "Unsigned64", "M"}, + {"Framed-MTU", 12, "Unsigned32", "M"}, + {"Framed-Pool", 88, "OctetString", "M"}, + {"Framed-Protocol", 7, "Enumerated", "M"}, + {"Framed-Route", 22, "UTF8String", "M"}, + {"Framed-Routing", 10, "Enumerated", "M"}]}, + {diameter_rfc7683, + [{"OC-Feature-Vector", 622, "Unsigned64", []}, + {"OC-OLR", 623, "Grouped", []}, + {"OC-Reduction-Percentage", 627, "Unsigned32", []}, + {"OC-Report-Type", 626, "Enumerated", []}, + {"OC-Sequence-Number", 624, "Unsigned64", []}, + {"OC-Supported-Features", 621, "Grouped", []}, + {"OC-Validity-Duration", 625, "Unsigned32", []}]}, + {diameter_rfc7944, [{"DRMP", 301, "Enumerated", []}]}, + {diameter_rfc8583, + [{"Load", 650, "Grouped", []}, + {"Load-Type", 651, "Enumerated", []}, + {"Load-Value", 652, "Unsigned64", []}, + {"SourceID", 649, "DiameterIdentity", []}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Status", [{"AN_GW_FAILED", 0}]}, + {"Bearer-Control-Mode", + [{"UE_ONLY", 0}, {"RESERVED", 1}, {"UE_NW", 2}]}, + {"Bearer-Operation", + [{"TERMINATION", 0}, + {"ESTABLISHMENT", 1}, + {"MODIFICATION", 2}]}, + {"Bearer-Usage", + [{"GENERAL", 0}, {"IMS_SIGNALLING", 1}]}, + {"Charging-Correlation-Indicator", + [{"CHARGING_IDENTIFIER_REQUIRED", 0}]}, + {"CSG-Information-Reporting", + [{"CHANGE_CSG_CELL", 0}, + {"CHANGE_CSG_SUBSCRIBED_HYBRID_CELL", 1}, + {"CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL", 2}]}, + {"Event-Trigger", + [{"SGSN_CHANGE", 0}, + {"QOS_CHANGE", 1}, + {"RAT_CHANGE", 2}, + {"TFT_CHANGE", 3}, + {"PLMN_CHANGE", 4}, + {"LOSS_OF_BEARER", 5}, + {"RECOVERY_OF_BEARER", 6}, + {"IP-CAN_CHANGE", 7}, + {"QOS_CHANGE_EXCEEDING_AUTHORIZATION", 11}, + {"RAI_CHANGE", 12}, + {"USER_LOCATION_CHANGE", 13}, + {"NO_EVENT_TRIGGERS", 14}, + {"OUT_OF_CREDIT", 15}, + {"REALLOCATION_OF_CREDIT", 16}, + {"REVALIDATION_TIMEOUT", 17}, + {"UE_IP_ADDRESS_ALLOCATE", 18}, + {"UE_IP_ADDRESS_RELEASE", 19}, + {"DEFAULT_EPS_BEARER_QOS_CHANGE", 20}, + {"AN_GW_CHANGE", 21}, + {"SUCCESSFUL_RESOURCE_ALLOCATION", 22}, + {"RESOURCE_MODIFICATION_REQUEST", 23}, + {"PGW_TRACE_CONTROL", 24}, + {"UE_TIME_ZONE_CHANGE", 25}, + {"TAI_CHANGE", 26}, + {"ECGI_CHANGE", 27}, + {"CHARGING_CORRELATION_EXCHANGE", 28}, + {"APN-AMBR_MODIFICATION_FAILURE", 29}, + {"USER_CSG_INFORMATION_CHANGE", 30}, + {"USAGE_REPORT", 33}, + {"DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE", 34}, + {"USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE", 35}, + {"USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE", 36}, + {"ROUTING_RULE_CHANGE", 37}, + {"APPLICATION_START", 39}, + {"APPLICATION_STOP", 40}, + {"CS_TO_PS_HANDOVER", 42}, + {"UE_LOCAL_IP_ADDRESS_CHANGE", 43}, + {"HNB_LOCAL_IP_ADDRESS_CHANGE", 44}, + {"ACCESS_NETWORK_INFO_REPORT", 45}, + {"CREDIT_MANAGEMENT_SESSION_FAILURE", 46}, + {"DEFAULT_QOS_CHANGE", 47}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_A" + "REA_REPORT", + 48}]}, + {"Flow-Direction", + [{"UNSPECIFIED", 0}, + {"DOWNLINK", 1}, + {"UPLINK", 2}, + {"BIDIRECTIONAL", 3}]}, + {"IP-CAN-Session-Charging-Scope", + [{"IP-CAN_SESSION_SCOPE", 0}]}, + {"IP-CAN-Type", + [{"3GPP-GPRS", 0}, + {"DOCSIS", 1}, + {"xDSL", 2}, + {"WiMAX", 3}, + {"3GPP2", 4}, + {"3GPP-EPS", 5}, + {"Non-3GPP-EPS", 6}, + {"FBA", 7}]}, + {"Metering-Method", + [{"DURATION", 0}, + {"VOLUME", 1}, + {"DURATION_VOLUME", 2}, + {"EVENT", 3}]}, + {"Mute-Notification", [{"MUTE_REQUIRED", 0}]}, + {"Network-Request-Support", + [{"NETWORK_REQUEST_NOT_SUPPORTED", 0}, + {"NETWORK_REQUEST_SUPPORTED", 1}]}, + {"Offline", + [{"DISABLE_OFFLINE", 0}, {"ENABLE_OFFLINE", 1}]}, + {"Online", + [{"DISABLE_ONLINE", 0}, {"ENABLE_ONLINE", 1}]}, + {"Packet-Filter-Operation", + [{"DELETION", 0}, + {"ADDITION", 1}, + {"MODIFICATION", 2}]}, + {"Packet-Filter-Usage", [{"SEND_TO_UE", 1}]}, + {"PCC-Rule-Status", + [{"ACTIVE", 0}, + {"INACTIVE", 1}, + {"TEMPORARILY_INACTIVE", 2}]}, + {"Pre-emption-Capability", + [{"PRE-EMPTION_CAPABILITY_ENABLED", 0}, + {"PRE-EMPTION_CAPABILITY_DISABLED", 1}]}, + {"Pre-emption-Vulnerability", + [{"PRE-EMPTION_VULNERABILITY_ENABLED", 0}, + {"PRE-EMPTION_VULNERABILITY_DISABLED", 1}]}, + {"PS-to-CS-Session-Continuity", + [{"VIDEO_PS2CS_CONT_CANDIDATE", 0}]}, + {"QoS-Class-Identifier", + [{"QCI_1", 1}, + {"QCI_2", 2}, + {"QCI_3", 3}, + {"QCI_4", 4}, + {"QCI_5", 5}, + {"QCI_6", 6}, + {"QCI_7", 7}, + {"QCI_8", 8}, + {"QCI_9", 9}, + {"QCI_65", 65}, + {"QCI_66", 66}, + {"QCI_69", 69}, + {"QCI_70", 70}]}, + {"QoS-Negotiation", + [{"NO_QoS_NEGOTIATION", 0}, + {"QoS_NEGOTIATION_SUPPORTED", 1}]}, + {"QoS-Upgrade", + [{"QoS_UPGRADE_NOT_SUPPORTED", 0}, + {"QoS_UPGRADE_SUPPORTED", 1}]}, + {"RAT-Type", + [{"WLAN", 0}, + {"VIRTUAL", 1}, + {"UTRAN", 1000}, + {"GERAN", 1001}, + {"GAN", 1002}, + {"HSPA_EVOLUTION", 1003}, + {"EUTRAN", 1004}, + {"CDMA2000_1X", 2000}, + {"HRPD", 2001}, + {"UMB", 2002}, + {"EHRPD", 2003}]}, + {"Redirect-Support", + [{"REDIRECTION_DISABLED", 0}, + {"REDIRECTION_ENABLED", 1}]}, + {"Reporting-Level", + [{"SERVICE_IDENTIFIER_LEVEL", 0}, + {"RATING_GROUP_LEVEL", 1}, + {"SPONSORED_CONNECTIVITY_LEVEL", 2}]}, + {"Resource-Allocation-Notification", + [{"ENABLE_NOTIFICATION", 0}]}, + {"Rule-Failure-Code", + [{"UNKNOWN_RULE_NAME", 1}, + {"RATING_GROUP_ERROR", 2}, + {"SERVICE_IDENTIFIER_ERROR", 3}, + {"GW_PCEF_MALFUNCTION", 4}, + {"RESOURCES_LIMITATION", 5}, + {"MAX_NR_BEARERS_REACHED", 6}, + {"UNKNOWN_BEARER_ID", 7}, + {"MISSING_BEARER_ID", 8}, + {"MISSING_FLOW_INFORMATION", 9}, + {"RESOURCE_ALLOCATION_FAILURE", 10}, + {"UNSUCCESSFUL_QOS_VALIDATION", 11}, + {"INCORRECT_FLOW_INFORMATION", 12}, + {"PS_TO_CS_HANDOVER", 13}, + {"TDF_APPLICATION_IDENTIFIER_ERROR", 14}, + {"NO_BEARER_BOUND", 15}, + {"FILTER_RESTRICTIONS", 16}, + {"AN_GW_FAILED", 17}, + {"MISSING_REDIRECT_SERVER_ADDRESS", 18}, + {"CM_END_USER_SERVICE_DENIED", 19}, + {"CM_CREDIT_CONTROL_NOT_APPLICABLE", 20}, + {"CM_AUTHORIZATION_REJECTED", 21}, + {"CM_USER_UNKNOWN", 22}, + {"CM_RATING_FAILED", 23}]}, + {"Session-Release-Cause", + [{"UNSPECIFIED_REASON", 0}, + {"UE_SUBSCRIPTION_REASON", 1}, + {"INSUFFICIENT_SERVER_RESOURCES", 2}, + {"IP_CAN_SESSION_TERMINATION", 3}, + {"UE_IP_ADDRESS_RELEASE", 4}]}, + {"Usage-Monitoring-Level", + [{"SESSION_LEVEL", 0}, + {"PCC_RULE_LEVEL", 1}, + {"ADC_RULE_LEVEL", 2}]}, + {"Usage-Monitoring-Report", + [{"USAGE_MONITORING_REPORT_REQUIRED", 0}]}, + {"Usage-Monitoring-Support", + [{"USAGE_MONITORING_DISABLED", 0}]}]}, + {diameter_3gpp_ts29_229, + [{"Server-Assignment-Type", + [{"NO_ASSIGNMENT", 0}, + {"REGISTRATION", 1}, + {"RE_REGISTRATION", 2}, + {"UNREGISTERED_USER", 3}, + {"TIMEOUT_DEREGISTRATION", 4}, + {"USER_DEREGISTRATION", 5}, + {"TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 6}, + {"USER_DEREGISTRATION_STORE_SERVER_NAME", 7}, + {"ADMINISTRATIVE_DEREGISTRATION", 8}, + {"AUTHENTICATION_FAILURE", 9}, + {"AUTHENTICATION_TIMEOUT", 10}, + {"DEREGISTRATION_TOO_MUCH_DATA", 11}, + {"AAA_USER_DATA_REQUEST", 12}, + {"PGW_UPDATE", 13}, + {"RESTORATION", 14}]}]}, + {diameter_3gpp_ts29_272, + [{"Network-Access-Mode", + [{"PACKET_AND_CIRCUIT", 0}, + {"RESERVED", 1}, + {"ONLY_PACKET", 2}]}, + {"Cancellation-Type", + [{"MME_UPDATE_PROCEDURE", 0}, + {"SGSN_UPDATE_PROCEDURE", 1}, + {"SUBSCRIPTION_WITHDRAWAL", 2}, + {"UPDATE_PROCEDURE_IWF", 3}, + {"INITIAL_ATTACH_PROCEDURE", 4}]}, + {"Subscriber-Status", + [{"SERVICE_GRANTED", 0}, + {"OPERATOR_DETERMINED_BARRING", 1}]}, + {"All-APN-Configurations-Included-Indicator", + [{"All_APN_CONFIGURATIONS_INCLUDED", 0}, + {"MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED", 1}]}, + {"VPLMN-Dynamic-Address-Allowed", + [{"NOTALLOWED", 0}, {"ALLOWED", 1}]}, + {"PDN-GW-Allocation-Type", + [{"STATIC", 0}, {"DYNAMIC", 1}]}, + {"Equipment-Status", + [{"WHITELISTED", 0}, + {"BLACKLISTED", 1}, + {"GREYLISTED", 2}]}, + {"PDN-Type", + [{"IPv4", 0}, + {"IPv6", 1}, + {"IPv4v6", 2}, + {"IPv4_OR_IPv6", 3}]}, + {"Complete-Data-List-Included-Indicator", + [{"All_PDP_CONTEXTS_INCLUDED", 0}, + {"MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED", 1}]}, + {"Roaming-Restricted-Due-To-Unsupported-Feature", + [{"ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE", 0}]}, + {"Alert-Reason", + [{"UE_PRESENT", 0}, {"UE_MEMORY_AVAILABLE", 1}]}, + {"Notification-To-UE-User", + [{"NOTIFY_LOCATION_ALLOWED", 0}, + {"NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE", 1}, + {"NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RE" + "SPONSE", + 2}, + {"LOCATION_NOT_ALLOWED", 3}]}, + {"GMLC-Restriction", + [{"GMLC_LIST", 0}, {"HOME_COUNTRY", 1}]}, + {"PLMN-Client", + [{"BROADCAST_SERVICE", 0}, + {"O_AND_M_HPLMN", 1}, + {"O_AND_M_VPLMN", 2}, + {"ANONYMOUS_LOCATION", 3}, + {"TARGET_UE_SUBSCRIBED_SERVICE", 4}]}, + {"ICS-Indicator", [{"FALSE", 0}, {"TRUE", 1}]}, + {"IMS-Voice-Over-PS-Sessions-Supported", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Homogeneous-Support-of-IMS-Voice-Over-PS-Sess" + "ions", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"User-State", + [{"DETACHED", 0}, + {"ATTACHED_NOT_REACHABLE_FOR_PAGING", 1}, + {"ATTACHED_REACHABLE_FOR_PAGING", 2}, + {"CONNECTED_NOT_REACHABLE_FOR_PAGING", 3}, + {"CONNECTED_REACHABLE_FOR_PAGING", 4}, + {"NETWORK_DETERMINED_NOT_REACHABLE", 5}]}, + {"Current-Location-Retrieved", + [{"ACTIVE-LOCATION-RETRIEVAL", 0}]}, + {"Error-Diagnostic", + [{"GPRS_DATA_SUBSCRIBED", 0}, + {"NO_GPRS_DATA_SUBSCRIBED", 1}, + {"ODB-ALL-APN", 2}, + {"ODB-HPLMN-APN", 3}, + {"ODB-VPLMN-APN", 4}]}, + {"UE-SRVCC-Capability", + [{"UE-SRVCC-NOT-SUPPORTED", 0}, + {"UE-SRVCC-SUPPORTED", 1}]}, + {"VPLMN-LIPA-Allowed", + [{"LIPA-NOTALLOWED", 0}, {"LIPA-ALLOWED", 1}]}, + {"LIPA-Permission", + [{"LIPA-PROHIBITED", 0}, + {"LIPA-ONLY", 1}, + {"LIPA-CONDITIONAL", 2}]}, + {"SIPTO-Permission", + [{"SIPTO_ALLOWED", 0}, {"SIPTO_NOTALLOWED", 1}]}, + {"Relay-Node-Indicator", + [{"NOT_RELAY_NODE", 0}, {"RELAY_NODE", 1}]}, + {"MDT-User-Consent", + [{"CONSENT_NOT_GIVEN", 0}, {"CONSENT_GIVEN", 1}]}, + {"Subscribed-VSRVCC", [{"VSRVCC_SUBSCRIBED", 0}]}, + {"SMS-Register-Request", + [{"SMS_REGISTRATION_REQUIRED", 0}, + {"SMS_REGISTRATION_NOT_PREFERRED", 1}, + {"NO_PREFERENCE", 2}]}, + {"Daylight-Saving-Time", + [{"NO_ADJUSTMENT", 0}, + {"PLUS_ONE_HOUR_ADJUSTMENT", 1}, + {"PLUS_TWO_HOURS_ADJUSTMENT", 2}]}]}, + {diameter_3gpp_ts29_273, + [{"AN-Trusted", [{"TRUSTED", 0}, {"UNTRUSTED", 1}]}, + {"Transport-Access-Type", [{"BBF", 0}]}, + {"Non-3GPP-IP-Access", + [{"NON_3GPP_SUBSCRIPTION_ALLOWED", 0}, + {"NON_3GPP_SUBSCRIPTION_BARRED", 1}]}, + {"Non-3GPP-IP-Access-APN", + [{"NON_3GPP_APNS_ENABLE", 0}, + {"NON_3GPP_APNS_DISABLE", 1}]}]}, + {diameter_3gpp_ts32_299, + [{"3GPP-PS-Data-Off-Status", + [{"Active", 0}, {"Inactive", 1}]}, + {"Access-Transfer-Type", + [{"PS-to-CS-Transfer", 0}, + {"CS-to-PS-Transfer", 1}, + {"PS-to-PS-Transfer", 2}, + {"CS-to-CS-Transfer", 3}]}, + {"Adaptations", [{"Yes", 0}, {"No", 1}]}, + {"Additional-Exception-Reports", + [{"Not-allowed", 0}, {"Allowed", 1}]}, + {"Address-Type", + [{"e-mail-address", 0}, + {"MSISDN", 1}, + {"IPv4-Address", 2}, + {"IPv6-Address", 3}, + {"Numeric-Shortcode", 4}, + {"Alphanumeric-Shortcode", 5}, + {"Other", 6}, + {"IMSI", 7}]}, + {"Addressee-Type", [{"TO", 0}, {"CC", 1}, {"BCC", 2}]}, + {"AoC-Format", + [{"MONETARY", 0}, {"NON_MONETARY", 1}, {"CAI", 2}]}, + {"AoC-Request-Type", + [{"AoC_NOT_REQUESTED", 0}, + {"AoC_FULL", 1}, + {"AoC_COST_ONLY", 2}, + {"AoC_TARIFF_ONLY", 3}]}, + {"AoC-Service-Obligatory-Type", + [{"NON_BINDING", 0}, {"BINDING", 1}]}, + {"AoC-Service-Type", + [{"NONE", 0}, + {"AOC-S", 1}, + {"AOC-D", 2}, + {"AOC-E", 3}]}, + {"Charge-Reason-Code", + [{"UNKNOWN", 0}, + {"USAGE", 1}, + {"COMMUNICATION-ATTEMPT-CHARGE", 2}, + {"SETUP-CHARGE", 3}, + {"ADD-ON-CHARGE", 4}]}, + {"Charging-Characteristics-Selection-Mode", + [{"Serving-Node-Supplied", 0}, + {"Subscription-specific", 1}, + {"APN-specific", 2}, + {"Home-Default", 3}, + {"Roaming-Default", 4}, + {"Visiting-Default", 5}]}, + {"Charging-Per-IP-CAN-Session-Indicator", + [{"Inactive", 0}, {"Active", 1}]}, + {"Class-Identifier", + [{"Personal", 0}, + {"Advertisement", 1}, + {"Informational", 2}, + {"Auto", 3}]}, + {"CN-Operator-Selection-Entity", + [{"The-Serving-Network-has-been-selected-by-the-UE", 0}, + {"The-Serving-Network-has-been-selected-by-the-" + "network", + 1}]}, + {"Content-Class", + [{"text", 0}, + {"image-basic", 1}, + {"image-rich", 2}, + {"video-basic", 3}, + {"video-rich", 4}, + {"megapixel", 5}, + {"content-basic", 6}, + {"content-rich", 7}]}, + {"Coverage-Status", + [{"Out-of-coverage", 0}, {"In-coverage", 1}]}, + {"CP-CIoT-EPS-Optimisation-Indicator", + [{"Not-Apply", 0}, {"Apply", 1}]}, + {"CSG-Access-Mode", + [{"Closed-mode", 0}, {"Hybrid-Mode", 1}]}, + {"CSG-Membership-Indication", + [{"Not-CSG-member", 0}, {"CSG-Member", 1}]}, + {"Delivery-Report-Requested", [{"No", 0}, {"Yes", 1}]}, + {"DRM-Content", [{"No", 0}, {"Yes", 1}]}, + {"Dynamic-Address-Flag", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Dynamic-Address-Flag-Extension", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Envelope-Reporting", + [{"DO_NOT_REPORT_ENVELOPES", 0}, + {"REPORT_ENVELOPES", 1}, + {"REPORT_ENVELOPES_WITH_VOLUME", 2}, + {"REPORT_ENVELOPES_WITH_EVENTS", 3}, + {"REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", 4}]}, + {"File-Repair-Supported", + [{"SUPPORTED", 1}, {"NOT_SUPPORTED", 2}]}, + {"Forwarding-Pending", + [{"Forwarding-not-pending", 0}, + {"Forwarding-pending", 1}]}, + {"Interface-Type", + [{"Unknown", 0}, + {"MOBILE_ORIGINATING", 1}, + {"MOBILE_TERMINATING", 2}, + {"APPLICATION_ORIGINATING", 3}, + {"APPLICATION_TERMINATION", 4}]}, + {"Inter-UE-Transfer", + [{"Intra-UE-transfer", 0}, {"Inter-UE-transfer", 1}]}, + {"IMS-Emergency-Indicator", + [{"Non-Emergency", 0}, {"Emergency", 1}]}, + {"IMSI-Unauthenticated-Flag", + [{"Authenticated", 0}, {"Unauthenticated", 1}]}, + {"IP-Realm-Default-Indication", + [{"Default-IP-Realm-Not-used", 0}, + {"Default-IP-realm-used", 1}]}, + {"LCS-Client-Type", + [{"EMERGENCY_SERVICES", 0}, + {"VALUE_ADDED_SERVICES", 1}, + {"PLMN_OPERATOR_SERVICES", 2}, + {"LAWFUL_INTERCEPT_SERVICES", 3}]}, + {"LCS-Format-Indicator", + [{"LOGICAL_NAME", 0}, + {"EMAIL_ADDRESS", 1}, + {"MSISDN", 2}, + {"URL", 3}, + {"SIP_URL", 4}]}, + {"Local-GW-Inserted-Indication", + [{"Local-GW-Not-Inserted", 0}, + {"Local-GW-Inserted", 1}]}, + {"Location-Estimate-Type", + [{"CURRENT_LOCATION", 0}, + {"CURRENT_LAST_KNOWN_LOCATION", 1}, + {"INITIAL_LOCATION", 2}, + {"ACTIVATE_DEFERRED_LOCATION", 3}, + {"CANCEL_DEFERRED_LOCATION", 4}]}, + {"Low-Balance-Indication", + [{"NOT-APPLICABLE", 0}, {"YES", 1}]}, + {"Low-Priority-Indicator", [{"NO", 0}, {"YES", 1}]}, + {"MBMS-Charged-Party", + [{"Content-Provider", 0}, {"Subscriber", 1}]}, + {"MBMS-User-Service-Type", + [{"DOWNLOAD", 1}, {"STREAMING", 2}]}, + {"Media-Initiator-Flag", + [{"called-party", 0}, + {"calling-party", 1}, + {"unknown", 2}]}, + {"Message-Type", + [{"m-send-req", 1}, + {"m-send-conf", 2}, + {"m-notification-ind", 3}, + {"m-notifyresp-ind", 4}, + {"m-retrieve-conf", 5}, + {"m-acknowledge-ind", 6}, + {"m-delivery-ind", 7}, + {"m-read-rec-ind", 8}, + {"m-read-orig-ind", 9}, + {"m-forward-req", 10}, + {"m-forward-conf", 11}, + {"m-mbox-store-conf", 12}, + {"m-mbox-view-conf", 13}, + {"m-mbox-upload-conf", 14}, + {"m-mbox-delete-conf", 15}]}, + {"MMBox-Storage-Requested", [{"No", 0}, {"Yes", 1}]}, + {"NNI-Type", + [{"non-roaming", 0}, + {"roaming-without-loopback", 1}, + {"roaming-with-loopback", 2}]}, + {"Node-Functionality", + [{"S-CSCF", 0}, + {"P-CSCF", 1}, + {"I-CSCF", 2}, + {"MRFC", 3}, + {"MGCF", 4}, + {"BGCF", 5}, + {"AS", 6}, + {"IBCF", 7}, + {"S-GW", 8}, + {"P-GW", 9}, + {"HSGW", 10}, + {"E-CSCF", 11}, + {"MME", 12}, + {"TRF", 13}, + {"TF", 14}, + {"ATCF", 15}, + {"Proxy-Function", 16}, + {"ePDG", 17}, + {"TDF", 18}, + {"TWAG", 19}, + {"SCEF", 20}, + {"IWK-SCEF", 21}]}, + {"Online-Charging-Flag", + [{"ECF-address-not-provided", 0}, + {"ECF-address-provided", 1}]}, + {"Originator", + [{"Calling-Party", 0}, {"Called-Party", 1}]}, + {"Participant-Access-Priority", + [{"Pre-emptive-priority", 1}, + {"High-priority", 2}, + {"Normal-priority", 3}, + {"Low-priority", 4}]}, + {"Participant-Action-Type", + [{"CREATE_CONF", 0}, + {"JOIN_CONF", 1}, + {"INVITE_INTO_CONF", 2}, + {"QUIT_CONF", 3}]}, + {"PC5-Radio-Technology", + [{"EUTRA", 0}, + {"WLAN", 1}, + {"Both-EUTRA-and-WLAN", 2}]}, + {"PDP-Context-Type", + [{"Primary", 0}, {"Secondary", 1}]}, + {"Play-Alternative", + [{"served-party", 0}, {"remote-party", 1}]}, + {"PoC-Change-Condition", + [{"ServiceChange", 0}, + {"VolumeLimit", 1}, + {"TimeLimit", 2}, + {"NumberofTalkBurstLimit", 3}, + {"NumberofActiveParticipants", 4}, + {"TariffTime", 5}]}, + {"PoC-Event-Type", + [{"Normal", 0}, + {"Instant-Personal-Alert-event", 1}, + {"PoC-Group-Advertisement-event", 2}, + {"Early-Ssession-Setting-up-event", 3}, + {"PoC-Talk-Burst", 4}]}, + {"PoC-Server-Role", + [{"Participating-PoC-Server", 0}, + {"Controlling-PoC-Server", 1}, + {"Interworking-function", 2}, + {"Interworking-selection-function", 3}]}, + {"PoC-Session-Initiation-Type", + [{"Pre-established", 0}, {"On-demand", 1}]}, + {"PoC-Session-Type", + [{"1-to-1-PoC-session", 0}, + {"Chat-PoC-group-session", 1}, + {"Pre-arranged-PoC-group-session", 2}, + {"Ad-hoc-PoC-group-session", 3}]}, + {"PoC-User-Role-Info-Units", + [{"Moderator", 1}, + {"Dispatcher", 2}, + {"Session-Owner", 3}, + {"Session-Participant", 4}]}, + {"Priority", [{"Low", 0}, {"Normal", 1}, {"High", 2}]}, + {"Privacy-Indicator", + [{"NOT_PRIVATE", 0}, {"PRIVATE", 1}]}, + {"ProSe-Direct-Discovery-Model", + [{"Model-A", 0}, {"Model-B", 1}]}, + {"ProSe-Event-Type", + [{"Annoucing", 0}, + {"Monitoring", 1}, + {"Match-Report", 2}]}, + {"ProSe-Functionality", + [{"Direct-discovery", 0}, + {"EPC-level-discovery", 1}, + {"Direct-communication", 2}]}, + {"ProSe-Range-Class", + [{"Reserved", 0}, + {"50m", 1}, + {"100m", 2}, + {"200m", 3}, + {"500m", 4}, + {"1000m", 5}]}, + {"ProSe-Reason-For-Cancellation", + [{"Proximity-Alert-sent", 0}, + {"Time-expired-with-no-renewal", 1}, + {"Requestor-cancellation", 2}]}, + {"ProSe-Role-Of-UE", + [{"Announcing-UE", 0}, + {"Monitoring-UE", 1}, + {"Requestor-UE", 2}, + {"Requested-UE", 3}]}, + {"Proximity-Alert-Indication", + [{"Alert", 0}, {"No-Alert", 1}]}, + {"PS-Append-Free-Format-Data", + [{"Append", 0}, {"Overwrite", 1}]}, + {"Quota-Indicator", + [{"QUOTA_IS_NOT_USED_DURING_PLAYBACK", 0}, + {"QUOTA_IS_USED_DURING_PLAYBACK", 1}]}, + {"Read-Reply-Report-Requested", + [{"No", 0}, {"Yes", 1}]}, + {"Relationship-Mode", + [{"trusted", 0}, {"non-trusted", 1}]}, + {"Reply-Path-Requested", + [{"No-Reply-Path-Set", 0}, {"Reply-path-Set", 1}]}, + {"Reporting-Reason", + [{"THRESHOLD", 0}, + {"QHT", 1}, + {"FINAL", 2}, + {"QUOTA_EXHAUSTED", 3}, + {"VALIDITY_TIME", 4}, + {"OTHER_QUOTA_TYPE", 5}, + {"RATING_CONDITION_CHANGE", 6}, + {"FORCED_REAUTHORISATION", 7}, + {"POOL_EXHAUSTED", 8}, + {"UNUSED_QUOTA_TIMER", 9}]}, + {"Role-Of-Node", + [{"ORIGINATING_ROLE", 0}, + {"TERMINATING_ROLE", 1}, + {"FORWARDING_ROLE", 2}]}, + {"Role-Of-ProSe-Function", + [{"HPLMN", 0}, {"VPLMN", 1}, {"Local-PLMN", 2}]}, + {"SDP-Type", [{"SDP-Offer", 0}, {"SDP-Answer", 1}]}, + {"Session-Direction", + [{"inbound", 0}, {"outbound", 1}]}, + {"Serving-Node-Type", + [{"SGSN", 0}, + {"PMIPSGW", 1}, + {"GTPSGW", 2}, + {"ePDG", 3}, + {"hSGW", 4}, + {"MME", 5}, + {"TWAN", 6}]}, + {"SGi-PtP-Tunnelling-Method", + [{"UDP_IP_based", 0}, {"Others", 1}]}, + {"SGW-Change", + [{"ACR_Start_NOT_due_to_SGW_Change", 0}, + {"ACR_Start_due_to_SGW_Change", 1}]}, + {"SM-Device-Trigger-Indicator", + [{"Not-DeviceTrigger", 0}, + {"Device-Trigger-request", 1}, + {"Device-Trigger-replace", 2}, + {"Device-Trigger-recall", 3}]}, + {"SM-Message-Type", + [{"SUBMISSION", 0}, + {"DELIVERY_REPORT", 1}, + {"SM-Service-Request", 2}, + {"T4-Device-Trigger", 3}, + {"SM-Device-Trigger", 4}, + {"MO-SMS-T4-submission", 5}]}, + {"SMS-Node", + [{"SMS-Router", 0}, + {"IP-SM-GW", 1}, + {"SMS-Router-and-IP-SM-GW", 2}, + {"SMS-SC", 3}]}, + {"SM-Service-Type", + [{"VAS4SMS-Short-Message-content-processing", 0}, + {"VAS4SMS-Short-Message-forwarding", 1}, + {"VAS4SMS-Short-Message-Forwarding-multiple-sub" + "scriptions", + 2}, + {"VAS4SMS-Short-Message-filtering", 3}, + {"VAS4SMS-Short-Message-receipt", 4}, + {"VAS4SMS-Short-Message-Network-Storage", 5}, + {"VAS4SMS-Short-Message-to-multiple-destinations", 6}, + {"VAS4SMS-Short-Message-Virtual-Private-Network", 7}, + {"VAS4SMS-Short-Message-Auto-Reply", 8}, + {"VAS4SMS-Short-Message-Personal-Signature", 9}, + {"VAS4SMS-Short-Message-Deferred-Delivery", 10}]}, + {"Status-AS-Code", + [{"4xx", 0}, {"5xx", 1}, {"Timeout", 2}]}, + {"Subscriber-Role", + [{"Originating", 0}, {"Terminating", 1}]}, + {"TAD-Identifier", [{"CS", 0}, {"PS", 1}]}, + {"Time-Quota-Type", + [{"DISCRETE_TIME_PERIOD", 0}, + {"CONTINUOUS_TIME_PERIOD", 1}]}, + {"Transcoder-Inserted-Indication", + [{"Transcoder-Not-Inserted", 0}, + {"Transcoder-Inserted", 1}]}, + {"Trigger-Type", + [{"CHANGE_IN_SGSN_IP_ADDRESS", 1}, + {"CHANGE_IN_QOS", 2}, + {"CHANGE_IN_LOCATION", 3}, + {"CHANGE_IN_RAT", 4}, + {"CHANGE_IN_UE_TIMEZONE", 5}, + {"CHANGEINQOS_TRAFFIC_CLASS", 10}, + {"CHANGEINQOS_RELIABILITY_CLASS", 11}, + {"CHANGEINQOS_DELAY_CLASS", 12}, + {"CHANGEINQOS_PEAK_THROUGHPUT", 13}, + {"CHANGEINQOS_PRECEDENCE_CLASS", 14}, + {"CHANGEINQOS_MEAN_THROUGHPUT", 15}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", 16}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", 17}, + {"CHANGEINQOS_RESIDUAL_BER", 18}, + {"CHANGEINQOS_SDU_ERROR_RATIO", 19}, + {"CHANGEINQOS_TRANSFER_DELAY", 20}, + {"CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", 21}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", 22}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", 23}, + {"CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", 24}, + {"CHANGEINLOCATION_MCC", 30}, + {"CHANGEINLOCATION_MNC", 31}, + {"CHANGEINLOCATION_RAC", 32}, + {"CHANGEINLOCATION_LAC", 33}, + {"CHANGEINLOCATION_CellId", 34}, + {"CHANGEINLOCATION_TAC", 35}, + {"CHANGEINLOCATION_ECGI", 36}, + {"CHANGE_IN_MEDIA_COMPOSITION", 40}, + {"CHANGE_IN_PARTICIPANTS_NMB", 50}, + {"CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB", 51}, + {"CHANGE_IN_USER_PARTICIPATING_TYPE", 52}, + {"CHANGE_IN_SERVICE_CONDITION", 60}, + {"CHANGE_IN_SERVING_NODE", 61}, + {"CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW", 62}, + {"CHANGE_IN_USER_CSG_INFORMATION", 70}, + {"CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", + 71}, + {"CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORM" + "ATION", + 72}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", + 73}, + {"CHANGE_IN_APN_RATE_CONTROL", 75}, + {"CHANGE_IN_3GPP_PS_DATA_OFF", 76}]}, + {"UNI-PDU-CP-Only-Flag", + [{"UNI-PDU-both-UP-CP", 0}, {"UNI-PDU-CP-Only", 1}]}, + {"User-Participating-Type", + [{"Normal", 0}, {"NW-PoC-Box", 1}, {"UE-PoC-Box", 2}]}, + {"Variable-Part-Type", + [{"Integer", 0}, + {"Number", 1}, + {"Time", 2}, + {"Date", 3}, + {"Currency", 4}]}]}, + {diameter_rfc4006_cc, + [{"CC-Request-Type", + [{"INITIAL_REQUEST", 1}, + {"UPDATE_REQUEST", 2}, + {"TERMINATION_REQUEST", 3}, + {"EVENT_REQUEST", 4}]}, + {"CC-Session-Failover", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Check-Balance-Result", + [{"ENOUGH_CREDIT", 0}, {"NO_CREDIT", 1}]}, + {"Credit-Control", + [{"AUTHORIZATION", 0}, {"RE_AUTHORIZATION", 1}]}, + {"Credit-Control-Failure-Handling", + [{"TERMINATE", 0}, + {"CONTINUE", 1}, + {"RETRY_AND_TERMINATE", 2}]}, + {"Direct-Debiting-Failure-Handling", + [{"TERMINATE_OR_BUFFER", 0}, {"CONTINUE", 1}]}, + {"Tariff-Change-Usage", + [{"UNIT_BEFORE_TARIFF_CHANGE", 0}, + {"UNIT_AFTER_TARIFF_CHANGE", 1}, + {"UNIT_INDETERMINATE", 2}]}, + {"CC-Unit-Type", + [{"TIME", 0}, + {"MONEY", 1}, + {"TOTAL-OCTETS", 2}, + {"INPUT-OCTETS", 3}, + {"OUTPUT-OCTETS", 4}, + {"SERVICE-SPECIFIC-UNITS", 5}]}, + {"Final-Unit-Action", + [{"TERMINATE", 0}, + {"REDIRECT", 1}, + {"RESTRICT_ACCESS", 2}]}, + {"Redirect-Address-Type", + [{"IPV4", 0}, {"IPV6", 1}, {"URL", 2}, {"SIP_URI", 3}]}, + {"Multiple-Services-Indicator", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Requested-Action", + [{"DIRECT_DEBITING", 0}, + {"REFUND_ACCOUNT", 1}, + {"CHECK_BALANCE", 2}, + {"PRICE_ENQUIRY", 3}]}, + {"Subscription-Id-Type", + [{"END_USER_E164", 0}, + {"END_USER_IMSI", 1}, + {"END_USER_SIP_URI", 2}, + {"END_USER_NAI", 3}, + {"END_USER_PRIVATE", 4}]}, + {"User-Equipment-Info-Type", + [{"IMEISV", 0}, + {"MAC", 1}, + {"EUI64", 2}, + {"MODIFIED_EUI64", 3}]}]}, + {diameter_rfc7683, + [{"OC-Report-Type", + [{"HOST_REPORT", 0}, {"REALM_REPORT", 1}]}]}, + {diameter_rfc7944, + [{"DRMP", + [{"PRIORITY_15", 15}, + {"PRIORITY_14", 14}, + {"PRIORITY_13", 13}, + {"PRIORITY_12", 12}, + {"PRIORITY_11", 11}, + {"PRIORITY_10", 10}, + {"PRIORITY_9", 9}, + {"PRIORITY_8", 8}, + {"PRIORITY_7", 7}, + {"PRIORITY_6", 6}, + {"PRIORITY_5", 5}, + {"PRIORITY_4", 4}, + {"PRIORITY_3", 3}, + {"PRIORITY_2", 2}, + {"PRIORITY_1", 1}, + {"PRIORITY_0", 0}]}]}, + {diameter_rfc8583, + [{"Load-Type", [{"HOST", 0}, {"PEER", 1}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_3gpp_break_circles, + [{"Emergency-Info", + 1687, + [10415], + [["MIP6-Agent-Info"], {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_212, + [{"Access-Network-Charging-Identifier-Gx", + 1022, + [], + [{"Access-Network-Charging-Identifier-Value"}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Charging-Rule-Name"]}, + ["IP-CAN-Session-Charging-Scope"], + {'*', ["AVP"]}]}, + {"Allocation-Retention-Priority", + 1034, + [], + [{"Priority-Level"}, + ["Pre-emption-Capability"], + ["Pre-emption-Vulnerability"]]}, + {"Application-Detection-Information", + 1098, + [], + [{"TDF-Application-Identifier"}, + ["TDF-Application-Instance-Identifier"], + {'*', ["Flow-Information"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Definition", + 1003, + [], + [{"Charging-Rule-Name"}, + ["Service-Identifier"], + ["Rating-Group"], + {'*', ["Flow-Information"]}, + ["TDF-Application-Identifier"], + ["Flow-Status"], + ["QoS-Information"], + ["PS-to-CS-Session-Continuity"], + ["Reporting-Level"], + ["Online"], + ["Offline"], + ["Metering-Method"], + ["Precedence"], + ["AF-Charging-Identifier"], + {'*', ["Flows"]}, + ["Monitoring-Key"], + ["Redirect-Information"], + ["Mute-Notification"], + ["AF-Signalling-Protocol"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Install", + 1001, + [], + [{'*', ["Charging-Rule-Definition"]}, + {'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["Rule-Activation-Time"], + ["Rule-Deactivation-Time"], + ["Resource-Allocation-Notification"], + ["Charging-Correlation-Indicator"], + {'*', ["AVP"]}]}, + {"Charging-Rule-Remove", + 1002, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Report", + 1018, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["PCC-Rule-Status"], + ["Rule-Failure-Code"], + ["Final-Unit-Indication"], + {'*', ["RAN-NAS-Release-Cause"]}, + {'*', ["AVP"]}]}, + {"CoA-Information", + 1039, + [], + [{"Tunnel-Information"}, + {"CoA-IP-Address"}, + {'*', ["AVP"]}]}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + [], + [["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["IP-CAN-Type"]}, + {'*', ["RAT-Type"]}, + {'*', ["AVP"]}]}, + {"Default-EPS-Bearer-QoS", + 1049, + [], + [["QoS-Class-Identifier"], + ["Allocation-Retention-Priority"], + {'*', ["AVP"]}]}, + {"Default-QoS-Information", + 2816, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Default-QoS-Name"], + {'*', ["AVP"]}]}, + {"Event-Report-Indication", + 1033, + [], + [{'*', ["Event-Trigger"]}, + ["IP-CAN-Type"], + {{0, 2}, ["AN-GW-Address"]}, + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["3GPP-SGSN-MCC-MNC"], + ["Framed-IP-Address"], + ["RAT-Type"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["3GPP-MS-TimeZone"], + ["Routing-IP-Address"], + ["UE-Local-IP-Address"], + ["HeNB-Local-IP-Address"], + ["UDP-Source-Port"], + ["Presence-Reporting-Area-Information"], + {'*', ["AVP"]}]}, + {"Fixed-User-Location-Info", + 2825, + [], + [["Logical-Access-ID"], + ["Physical-Access-ID"], + {'*', ["AVP"]}]}, + {"Flow-Information", + 1058, + [], + [["Flow-Description"], + ["Packet-Filter-Identifier"], + ["Packet-Filter-Usage"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Packet-Filter-Information", + 1061, + [], + [["Packet-Filter-Identifier"], + ["Precedence"], + ["Packet-Filter-Content"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Presence-Reporting-Area-Information", + 2822, + [], + [["Presence-Reporting-Area-Identifier"], + ["Presence-Reporting-Area-Status"], + ["Presence-Reporting-Area-Elements-List"], + {'*', ["AVP"]}]}, + {"QoS-Information", + 1016, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Guaranteed-Bitrate-UL"], + ["Guaranteed-Bitrate-DL"], + ["Bearer-Identifier"], + ["Allocation-Retention-Priority"], + ["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["Conditional-APN-Aggregate-Max-Bitrate"]}, + {'*', ["AVP"]}]}, + {"Redirect-Information", + 1085, + [], + [["Redirect-Support"], + ["Redirect-Address-Type"], + ["Redirect-Server-Address"], + {'*', ["AVP"]}]}, + {"Routing-Filter", + 1078, + [], + [{"Flow-Description"}, + {"Flow-Direction"}, + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Definition", + 1076, + [], + [{"Routing-Rule-Identifier"}, + {'*', ["Routing-Filter"]}, + ["Precedence"], + ["Routing-IP-Address"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Install", + 1081, + [], + [{'*', ["Routing-Rule-Definition"]}, {'*', ["AVP"]}]}, + {"Routing-Rule-Remove", + 1075, + [], + [{'*', ["Routing-Rule-Identifier"]}, {'*', ["AVP"]}]}, + {"TDF-Information", + 1087, + [], + [["TDF-Destination-Realm"], + ["TDF-Destination-Host"], + ["TDF-IP-Address"]]}, + {"Tunnel-Information", + 1038, + [], + [["Tunnel-Header-Length"], + {{0, 2}, ["Tunnel-Header-Filter"]}, + {'*', ["AVP"]}]}, + {"TFT-Packet-Filter-Information", + 1013, + [], + [["Precedence"], + ["TFT-Filter"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Usage-Monitoring-Information", + 1067, + [], + [["Monitoring-Key"], + {{0, 2}, ["Granted-Service-Unit"]}, + {{0, 2}, ["Used-Service-Unit"]}, + ["Usage-Monitoring-Level"], + ["Usage-Monitoring-Report"], + ["Usage-Monitoring-Support"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_214, + [{"Flows", + 510, + [], + [{"Media-Component-Number"}, + {'*', ["Flow-Number"]}, + ["Final-Unit-Action"]]}]}, + {diameter_3gpp_ts29_229, + [{"Charging-Information", + 618, + [], + [["Primary-Event-Charging-Function-Name"], + ["Secondary-Event-Charging-Function-Name"], + ["Primary-Charging-Collection-Function-Name"], + ["Secondary-Charging-Collection-Function-Name"], + {'*', ["AVP"]}]}, + {"Supported-Features", + 628, + [], + [{"Vendor-Id"}, + {"Feature-List-ID"}, + {"Feature-List"}, + {'*', ["AVP"]}]}, + {"Supported-Applications", + 631, + [10415], + [{'*', ["Auth-Application-Id"]}, + {'*', ["Acct-Application-Id"]}, + {'*', ["Vendor-Specific-Application-Id"]}, + {'*', ["AVP"]}]}, + {"SIP-Auth-Data-Item", + 612, + [10415], + [["SIP-Item-Number"], + ["SIP-Authentication-Scheme"], + ["SIP-Authenticate"], + ["SIP-Authorization"], + ["SIP-Authentication-Context"], + ["Confidentiality-Key"], + ["Integrity-Key"], + ["SIP-Digest-Authenticate"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + {'*', ["Line-Identifier"]}, + {'*', ["AVP"]}]}, + {"Deregistration-Reason", + 615, + [10415], + [{"Reason-Code"}, ["Reason-Info"], {'*', ["AVP"]}]}, + {"SIP-Digest-Authenticate", + 635, + [10415], + [{"Digest-Realm"}, + {"Digest-QoP"}, + {"Digest-HA1"}, + ["Digest-Algorithm"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_272, + [{"Subscription-Data", + 1400, + [10415], + [["Subscriber-Status"], + ["MSISDN"], + ["A-MSISDN"], + ["STN-SR"], + ["ICS-Indicator"], + ["Network-Access-Mode"], + ["Operator-Determined-Barring"], + ["HPLMN-ODB"], + {{0, 10}, ["Regional-Subscription-Zone-Code"]}, + ["Access-Restriction-Data"], + ["APN-OI-Replacement"], + ["LCS-Info"], + ["Teleservice-List"], + {'*', ["Call-Barring-Info"]}, + ["3GPP-Charging-Characteristics"], + ["AMBR"], + ["APN-Configuration-Profile"], + ["RAT-Frequency-Selection-Priority-ID"], + ["Trace-Data"], + ["GPRS-Subscription-Data"], + {'*', ["CSG-Subscription-Data"]}, + ["Roaming-Restricted-Due-To-Unsupported-Feature"], + ["Subscribed-Periodic-RAU-TAU-Timer"], + ["MPS-Priority"], + ["VPLMN-LIPA-Allowed"], + ["Relay-Node-Indicator"], + ["MDT-User-Consent"], + ["Subscribed-VSRVCC"], + ["Subscription-Data-Flags"], + {'*', ["AVP"]}]}, + {"Terminal-Information", + 1401, + [10415], + [["IMEI"], + ["3GPP2-MEID"], + ["Software-Version"], + {'*', ["AVP"]}]}, + {"Requested-EUTRAN-Authentication-Info", + 1408, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Requested-UTRAN-GERAN-Authentication-Info", + 1409, + [10415], + [["Number-Of-Requested-Vectors"], + ["Immediate-Response-Preferred"], + ["Re-Synchronization-Info"], + {'*', ["AVP"]}]}, + {"Authentication-Info", + 1413, + [10415], + [{'*', ["E-UTRAN-Vector"]}, + {'*', ["UTRAN-Vector"]}, + {'*', ["GERAN-Vector"]}, + {'*', ["AVP"]}]}, + {"E-UTRAN-Vector", + 1414, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"KASME"}, + {'*', ["AVP"]}]}, + {"UTRAN-Vector", + 1415, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"XRES"}, + {"AUTN"}, + {"Confidentiality-Key"}, + {"Integrity-Key"}, + {'*', ["AVP"]}]}, + {"GERAN-Vector", + 1416, + [10415], + [{"Item-Number"}, + {"RAND"}, + {"SRES"}, + {"Kc"}, + {'*', ["AVP"]}]}, + {"APN-Configuration-Profile", + 1429, + [10415], + [{"Context-Identifier"}, + {"All-APN-Configurations-Included-Indicator"}, + {'*', {"APN-Configuration"}}, + {'*', ["AVP"]}]}, + {"APN-Configuration", + 1430, + [10415], + [{"Context-Identifier"}, + {"PDN-Type"}, + {"Service-Selection"}, + {{0, 2}, ["Served-Party-IP-Address"]}, + ["EPS-Subscribed-QoS-Profile"], + ["VPLMN-Dynamic-Address-Allowed"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + ["PDN-GW-Allocation-Type"], + ["3GPP-Charging-Characteristics"], + ["AMBR"], + {'*', ["Specific-APN-Info"]}, + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"EPS-Subscribed-QoS-Profile", + 1431, + [10415], + [{"QoS-Class-Identifier"}, + {"Allocation-Retention-Priority"}, + {'*', ["AVP"]}]}, + {"AMBR", + 1435, + [10415], + [{"Max-Requested-Bandwidth-UL"}, + {"Max-Requested-Bandwidth-DL"}, + {'*', ["AVP"]}]}, + {"Trace-Data", + 1458, + [10415], + [{"Trace-Reference"}, + {"Trace-Depth"}, + {"Trace-NE-Type-List"}, + {"Trace-Event-List"}, + {"Trace-Collection-Entity"}, + ["Trace-Interface-List"], + ["OMC-Id"], + ["MDT-Configuration"], + {'*', ["AVP"]}]}, + {"GPRS-Subscription-Data", + 1467, + [10415], + [{"Complete-Data-List-Included-Indicator"}, + {{1, 50}, {"PDP-Context"}}, + {'*', ["AVP"]}]}, + {"PDP-Context", + 1469, + [10415], + [{"Context-Identifier"}, + {"PDP-Type"}, + {"QoS-Subscribed"}, + {"Service-Selection"}, + ["PDP-Address"], + ["VPLMN-Dynamic-Address-Allowed"], + ["3GPP-Charging-Characteristics"], + ["Ext-PDP-Type"], + ["Ext-PDP-Address"], + ["AMBR"], + ["APN-OI-Replacement"], + ["SIPTO-Permission"], + ["LIPA-Permission"], + ["Restoration-Priority"], + {'*', ["AVP"]}]}, + {"CSG-Subscription-Data", + 1436, + [10415], + [{"CSG-Id"}, + ["Expiration-Date"], + {'*', ["Service-Selection"]}, + ["Visited-PLMN-Id"], + {'*', ["AVP"]}]}, + {"Specific-APN-Info", + 1472, + [10415], + [{"Service-Selection"}, + {"MIP6-Agent-Info"}, + ["Visited-Network-Identifier"], + {'*', ["AVP"]}]}, + {"LCS-Info", + 1473, + [10415], + [{'*', ["GMLC-Number"]}, + {'*', ["LCS-PrivacyException"]}, + {'*', ["MO-LR"]}, + {'*', ["AVP"]}]}, + {"LCS-PrivacyException", + 1475, + [10415], + [{"SS-Code"}, + {"SS-Status"}, + ["Notification-To-UE-User"], + {'*', ["External-Client"]}, + {'*', ["PLMN-Client"]}, + {'*', ["Service-Type"]}, + {'*', ["AVP"]}]}, + {"External-Client", + 1479, + [10415], + [{"Client-Identity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"Service-Type", + 1483, + [10415], + [{"ServiceTypeIdentity"}, + ["GMLC-Restriction"], + ["Notification-To-UE-User"], + {'*', ["AVP"]}]}, + {"MO-LR", + 1485, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"Teleservice-List", + 1486, + [10415], + [{'*', {"TS-Code"}}, {'*', ["AVP"]}]}, + {"Call-Barring-Info", + 1488, + [10415], + [{"SS-Code"}, {"SS-Status"}, {'*', ["AVP"]}]}, + {"EPS-User-State", + 1495, + [10415], + [["MME-User-State"], + ["SGSN-User-State"], + {'*', ["AVP"]}]}, + {"EPS-Location-Information", + 1496, + [10415], + [["MME-Location-Information"], + ["SGSN-Location-Information"], + {'*', ["AVP"]}]}, + {"MME-User-State", + 1497, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"SGSN-User-State", + 1498, + [10415], + [["User-State"], {'*', ["AVP"]}]}, + {"MME-Location-Information", + 1600, + [10415], + [["E-UTRAN-Cell-Global-Identity"], + ["Tracking-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"SGSN-Location-Information", + 1601, + [10415], + [["Cell-Global-Identity"], + ["Location-Area-Identity"], + ["Service-Area-Identity"], + ["Routing-Area-Identity"], + ["Geographical-Information"], + ["Geodetic-Information"], + ["Current-Location-Retrieved"], + ["Age-Of-Location-Information"], + ["User-CSG-Information"], + {'*', ["AVP"]}]}, + {"Active-APN", + 1612, + [10415], + [{"Context-Identifier"}, + ["Service-Selection"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + {'*', ["Specific-APN-Info"]}, + {'*', ["AVP"]}]}, + {"MDT-Configuration", + 1622, + [10415], + [{"Job-Type"}, + ["Area-Scope"], + ["List-Of-Measurements"], + ["Reporting-Trigger"], + ["Report-Interval"], + ["Report-Amount"], + ["Event-Threshold-RSRP"], + ["Event-Threshold-RSRQ"], + ["Logging-Interval"], + ["Logging-Duration"], + ["Measurement-Period-LTE"], + ["Measurement-Period-UMTS"], + ["Positioning-Method"], + ["Measurement-Quantity"], + ["Event-Threshold-Event-1F"], + ["Event-Threshold-Event-1I"], + {'*', ["AVP"]}]}, + {"Area-Scope", + 1624, + [10415], + [{'*', ["Cell-Global-Identity"]}, + {'*', ["E-UTRAN-Cell-Global-Identity"]}, + {'*', ["Routing-Area-Identity"]}, + {'*', ["Location-Area-Identity"]}, + {'*', ["Tracking-Area-Identity"]}, + {'*', ["AVP"]}]}, + {"Equivalent-PLMN-List", + 1637, + [10415], + [{'*', {"Visited-PLMN-Id"}}, {'*', ["AVP"]}]}, + {"VPLMN-CSG-Subscription-Data", + 1641, + [10415], + [{"CSG-Id"}, ["Expiration-Date"], {'*', ["AVP"]}]}, + {"Local-Time-Zone", + 1649, + [10415], + [{"Time-Zone"}, + {"Daylight-Saving-Time"}, + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_273, + [{"WLAN-Identifier", + 1509, + [10415], + [["SSID"], ["HESSID"], {'*', ["AVP"]}]}, + {"Access-Network-Info", + 1526, + [10415], + [["SSID"], + ["BSSID"], + ["Location-Information"], + ["Location-Data"], + ["Operator-Name"], + ["Logical-Access-ID"], + {'*', ["AVP"]}]}, + {"TWAN-Connectivity-Parameters", + 1528, + [10415], + [["Connectivity-Flags"], + ["Service-Selection"], + ["PDN-Type"], + {{0, 2}, ["Served-Party-IP-Address"]}, + ["TWAN-PCO"], + ["TWAG-UP-Address"], + ["TWAN-S2a-Failure-Cause"], + ["SM-Back-Off-Timer"], + {'*', ["AVP"]}]}, + {"Non-3GPP-User-Data", + 1500, + [10415], + [["Subscription-Id"], + ["Non-3GPP-IP-Access"], + ["Non-3GPP-IP-Access-APN"], + {'*', ["RAT-Type"]}, + ["Session-Timeout"], + ["MIP6-Feature-Vector"], + ["AMBR"], + ["3GPP-Charging-Characteristics"], + ["Context-Identifier"], + ["APN-OI-Replacement"], + {'*', ["APN-Configuration"]}, + ["Trace-Info"], + ["TWAN-Default-APN-Context-Id"], + {'*', ["TWAN-Access-Info"]}, + ["UE-Usage-Type"], + ["Emergency-Info"], + ["ERP-Authorization"], + ["Core-Network-Restrictions"], + {'*', ["AVP"]}]}, + {"Trace-Info", + 1505, + [10415], + [["Trace-Data"], ["Trace-Reference"], {'*', ["AVP"]}]}, + {"TWAN-Access-Info", + 1510, + [10415], + [["Access-Authorization-Flags"], + ["WLAN-Identifier"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts32_299, + [{"Access-Network-Info-Change", + 4401, + [], + [{'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Change-Time"]]}, + {"Access-Transfer-Information", + 2709, + [], + [["Access-Transfer-Type"], + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Inter-UE-Transfer"], + ["User-Equipment-Info"], + ["Instance-Id"], + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Change-Time"]]}, + {"Accumulated-Cost", + 2052, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Additional-Content-Information", + 1207, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"]]}, + {"Address-Domain", + 898, + [], + [["Domain-Name"], ["3GPP-IMSI-MCC-MNC"]]}, + {"AF-Correlation-Information", + 1276, + [], + [{"AF-Charging-Identifier"}, {'*', ["Flows"]}]}, + {"Announcement-Information", + 3904, + [], + [{"Announcement-Identifier"}, + {'*', ["Variable-Part"]}, + ["Time-Indicator"], + ["Quota-Indicator"], + ["Announcement-Order"], + ["Play-Alternative"], + ["Privacy-Indicator"], + ["Language"]]}, + {"AoC-Cost-Information", + 2053, + [], + [["Accumulated-Cost"], + {'*', ["Incremental-Cost"]}, + ["Currency-Code"]]}, + {"AoC-Information", + 2054, + [], + [["AoC-Cost-Information"], + ["Tariff-Information"], + ["AoC-Subscription-Information"]]}, + {"AoC-Service", + 2311, + [], + [["AoC-Service-Obligatory-Type"], + ["AoC-Service-Type"]]}, + {"AoC-Subscription-Information", + 2314, + [], + [{'*', ["AoC-Service"]}, + ["AoC-Format"], + ["Preferred-AoC-Currency"]]}, + {"APN-Rate-Control", + 3933, + [], + [["APN-Rate-Control-Uplink"], + ["APN-Rate-Control-Downlink"]]}, + {"APN-Rate-Control-Downlink", + 3934, + [], + [["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"], + ["Rate-Control-Max-Message-Size"]]}, + {"APN-Rate-Control-Uplink", + 3935, + [], + [["Additional-Exception-Reports"], + ["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"]]}, + {"Application-Server-Information", + 850, + [], + [["Application-Server"], + {'*', ["Application-Provided-Called-Party-Address"]}, + ["Status-AS-Code"]]}, + {"Basic-Service-Code", + 3411, + [], + [["Bearer-Service"], ["Teleservice"]]}, + {"Called-Identity-Change", + 3917, + [], + [["Called-Identity"], ["Change-Time"]]}, + {"Coverage-Info", + 3459, + [], + [["Coverage-Status"], + ["Change-Time"], + {'*', ["Location-Info"]}]}, + {"CPDT-Information", + 3927, + [], + [["Serving-Node-Identity"], + ["SGW-Change"], + ["NIDD-Submission"]]}, + {"Current-Tariff", + 2056, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"Destination-Interface", + 2002, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Early-Media-Description", + 1272, + [], + [["SDP-TimeStamps"], + {'*', ["SDP-Media-Component"]}, + {'*', ["SDP-Session-Description"]}]}, + {"Enhanced-Diagnostics", + 3901, + [], + [{'*', ["RAN-NAS-Release-Cause"]}]}, + {"Envelope", + 1266, + [], + [{"Envelope-Start-Time"}, + ["Envelope-End-Time"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"]]}, + {"Event-Type", + 823, + [], + [["SIP-Method"], ["Event"], ["Expires"]]}, + {"Incremental-Cost", + 2062, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"IMS-Information", + 876, + [], + [{"Node-Functionality"}, + ["Event-Type"], + ["Role-Of-Node"], + ["User-Session-Id"], + ["Outgoing-Session-Id"], + ["Session-Priority"], + {'*', ["Calling-Party-Address"]}, + ["Called-Party-Address"], + {'*', ["Called-Asserted-Identity"]}, + ["Called-Identity-Change"], + ["Number-Portability-Routing-Information"], + ["Carrier-Select-Routing-Information"], + ["Alternate-Charged-Party-Address"], + {'*', ["Requested-Party-Address"]}, + {'*', ["Associated-URI"]}, + ["Time-Stamps"], + {'*', ["Application-Server-Information"]}, + {'*', ["Inter-Operator-Identifier"]}, + {'*', ["Transit-IOI-List"]}, + ["IMS-Charging-Identifier"], + {'*', ["SDP-Session-Description"]}, + {'*', ["SDP-Media-Component"]}, + ["Served-Party-IP-Address"], + ["Trunk-Group-Id"], + ["Bearer-Service"], + ["Service-Id"], + {'*', ["Service-Specific-Info"]}, + {'*', ["Message-Body"]}, + ["Cause-Code"], + {'*', ["Reason-Header"]}, + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + {'*', ["Early-Media-Description"]}, + ["IMS-Communication-Service-Identifier"], + ["IMS-Application-Reference-Identifier"], + ["Online-Charging-Flag"], + ["Real-Time-Tariff-Information"], + ["Account-Expiration"], + ["Initial-IMS-Charging-Identifier"], + {'*', ["NNI-Information"]}, + ["From-Address"], + ["IMS-Emergency-Indicator"], + ["IMS-Visited-Network-Identifier"], + {'*', ["Access-Network-Info-Change"]}, + {'*', ["Access-Transfer-Information"]}, + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Route-Header-Received"], + ["Route-Header-Transmitted"], + ["Instance-Id"], + ["TAD-Identifier"], + ["FE-Identifier-List"]]}, + {"Inter-Operator-Identifier", + 838, + [], + [["Originating-IOI"], ["Terminating-IOI"]]}, + {"ISUP-Cause", + 3416, + [], + [["ISUP-Cause-Location"], + ["ISUP-Cause-Value"], + ["ISUP-Cause-Diagnostics"]]}, + {"LCS-Client-ID", + 1232, + [], + [["LCS-Client-Type"], + ["LCS-Client-External-ID"], + ["LCS-Client-Dialed-By-MS"], + ["LCS-Client-Name"], + ["LCS-APN"], + ["LCS-Requestor-ID"]]}, + {"LCS-Client-Name", + 1235, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Name-String"], + ["LCS-Format-Indicator"]]}, + {"LCS-Information", + 878, + [], + [["LCS-Client-ID"], + ["Location-Type"], + ["Location-Estimate"], + ["Positioning-Data"], + ["3GPP-IMSI"], + ["MSISDN"]]}, + {"LCS-Requestor-ID", + 1239, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Requestor-ID-String"]]}, + {"Location-Info", + 3460, + [], + [["3GPP-User-Location-Info"], ["Change-Time"]]}, + {"Location-Type", + 1244, + [], + [["Location-Estimate-Type"], + ["Deferred-Location-Event-Type"]]}, + {"MBMS-Information", + 880, + [], + [["TMGI"], + ["MBMS-User-Service-Type"], + ["File-Repair-Supported"], + ["MBMS-2G-3G-Indicator"], + {'*', ["MBMS-Service-Area"]}, + ["MBMS-Session-Identity"], + ["CN-IP-Multicast-Distribution"], + ["MBMS-GW-Address"], + ["MBMS-Charged-Party"], + {'*', ["MSISDN"]}]}, + {"Message-Body", + 889, + [], + [{"Content-Type"}, + {"Content-Length"}, + ["Content-Disposition"], + ["Originator"]]}, + {"Message-Class", + 1213, + [], + [["Class-Identifier"], ["Token-Text"]]}, + {"MM-Content-Type", + 1203, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"], + {'*', ["Additional-Content-Information"]}]}, + {"MMS-Information", + 877, + [], + [["Originator-Address"], + {'*', ["Recipient-Address"]}, + ["Submission-Time"], + ["MM-Content-Type"], + ["Priority"], + ["Message-ID"], + ["Message-Type"], + ["Message-Size"], + ["Message-Class"], + ["Delivery-Report-Requested"], + ["Read-Reply-Report-Requested"], + ["MMBox-Storage-Requested"], + ["Applic-ID"], + ["Reply-Applic-ID"], + ["Aux-Applic-Info"], + ["Content-Class"], + ["DRM-Content"], + ["Adaptations"]]}, + {"MMTel-Information", + 2030, + [], + [{'*', ["Supplementary-Service"]}]}, + {"Monitoring-Event-Information", + 3921, + [], + [["Monitoring-Event-Functionality"], + ["Event-Timestamp"], + ["Monitoring-Event-Configuration-Activity"], + ["Charged-Party"], + {'*', ["Monitoring-Event-Report-Data"]}]}, + {"Monitoring-Event-Report-Data", + 3920, + [], + [["Event-Timestamp"], + ["Monitoring-Event-Report-Number"], + ["Charged-Party"], + ["Subscription-Id"]]}, + {"Next-Tariff", + 2057, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"NIDD-Submission", + 3928, + [], + [["Submission-Time"], + ["Event-Timestamp"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"]]}, + {"NNI-Information", + 2703, + [], + [["Session-Direction"], + ["NNI-Type"], + ["Relationship-Mode"], + ["Neighbour-Node-Address"]]}, + {"Offline-Charging", + 1278, + [], + [["Quota-Consumption-Time"], + ["Time-Quota-Mechanism"], + ["Envelope-Reporting"], + {'*', ["Multiple-Services-Credit-Control"]}, + {'*', ["AVP"]}]}, + {"Originator-Address", + 886, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Originator-Interface", + 2009, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Originator-Received-Address", + 2027, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Participant-Group", + 1260, + [], + [["Called-Party-Address"], + ["Participant-Access-Priority"], + ["User-Participating-Type"]]}, + {"PoC-Information", + 879, + [], + [["PoC-Server-Role"], + ["PoC-Session-Type"], + ["PoC-User-Role"], + ["PoC-Session-Initiation-Type"], + ["PoC-Event-Type"], + ["Number-Of-Participants"], + {'*', ["Participants-Involved"]}, + {'*', ["Participant-Group"]}, + {'*', ["Talk-Burst-Exchange"]}, + ["PoC-Controlling-Address"], + ["PoC-Group-Name"], + ["PoC-Session-Id"], + ["Charged-Party"]]}, + {"PoC-User-Role", + 1252, + [], + [["PoC-User-Role-IDs"], ["PoC-User-Role-Info-Units"]]}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Input-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Output-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Information", + 3447, + [], + [["Announcing-UE-HPLMN-Identifier"], + ["Announcing-UE-VPLMN-Identifier"], + ["Monitoring-UE-HPLMN-Identifier"], + ["Monitoring-UE-VPLMN-Identifier"], + ["Role-Of-ProSe-Function"], + ["ProSe-3rd-Party-Application-ID"], + ["Application-Specific-Data"], + ["ProSe-Event-Type"], + ["ProSe-Direct-Discovery-Model"], + ["ProSe-Function-IP-Address"], + ["ProSe-Role-Of-UE"], + ["ProSe-Request-Timestamp"], + ["PC3-Control-Protocol-Cause"], + ["Monitoring-UE-Identifier"], + ["Requestor-PLMN-Identifier"], + ["Requested-PLMN-Identifier"], + ["ProSe-Range-Class"], + ["Proximity-Alert-Indication"], + ["Proximity-Alert-Timestamp"], + ["Proximity-Cancellation-Timestamp"], + ["ProSe-Reason-For-Cancellation"], + ["PC3-EPC-Control-Protocol-Cause"], + ["ProSe-UE-ID"], + ["ProSe-Source-IP-Address"], + ["Layer-2-Group-ID"], + ["ProSe-Group-IP-Multicast-Address"], + {'*', ["Coverage-Info"]}, + {'*', ["Radio-Parameter-Set-Info"]}, + {'*', ["Transmitter-Info"]}, + ["Time-First-Transmission"], + ["Time-First-Reception"], + {'*', + ["ProSe-Direct-Communication-Transmission-Data-" + "Container"]}, + {'*', + ["ProSe-Direct-Communication-Reception-Data-Con" + "tainer"]}, + ["Announcing-PLMN-ID"], + ["ProSe-Target-Layer-2-ID"], + ["Relay-IP-address"], + ["ProSe-UE-to-Network-Relay-UE-ID"], + ["Target-IP-Address"], + ["PC5-Radio-Technology"]]}, + {"PS-Furnish-Charging-Information", + 865, + [], + [{"3GPP-Charging-Id"}, + {"PS-Free-Format-Data"}, + ["PS-Append-Free-Format-Data"]]}, + {"PS-Information", + 874, + [], + [["3GPP-Charging-Id"], + ["PDN-Connection-Charging-ID"], + ["Node-Id"], + ["3GPP-PDP-Type"], + {'*', ["PDP-Address"]}, + ["PDP-Address-Prefix-Length"], + ["Dynamic-Address-Flag"], + ["Dynamic-Address-Flag-Extension"], + ["QoS-Information"], + {'*', ["SGSN-Address"]}, + {'*', ["GGSN-Address"]}, + {'*', ["TDF-IP-Address"]}, + {'*', ["SGW-Address"]}, + {'*', ["TWAG-Address"]}, + ["CG-Address"], + ["Serving-Node-Type"], + ["SGW-Change"], + ["3GPP-IMSI-MCC-MNC"], + ["IMSI-Unauthenticated-Flag"], + ["3GPP-GGSN-MCC-MNC"], + ["3GPP-NSAPI"], + ["Called-Station-Id"], + ["3GPP-Session-Stop-Indicator"], + ["3GPP-Selection-Mode"], + ["3GPP-Charging-Characteristics"], + ["Charging-Characteristics-Selection-Mode"], + ["3GPP-SGSN-MCC-MNC"], + ["3GPP-MS-TimeZone"], + ["Charging-Rule-Base-Name"], + ["3GPP-User-Location-Info"], + ["User-Location-Info-Time"], + ["User-CSG-Information"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["TWAN-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-RAT-Type"], + ["PS-Furnish-Charging-Information"], + ["PDP-Context-Type"], + ["Offline-Charging"], + {'*', ["Traffic-Data-Volumes"]}, + {'*', ["Service-Data-Container"]}, + ["User-Equipment-Info"], + ["Start-Time"], + ["Stop-Time"], + ["Change-Condition"], + ["Diagnostics"], + ["Low-Priority-Indicator"], + ["Logical-Access-ID"], + ["Physical-Access-ID"], + ["Fixed-User-Location-Info"], + ["CN-Operator-Selection-Entity"], + ["Enhanced-Diagnostics"], + ["SGi-PtP-Tunnelling-Method"], + ["CP-CIoT-EPS-Optimisation-Indicator"], + ["UNI-PDU-CP-Only-Flag"], + ["APN-Rate-Control"], + ["Charging-Per-IP-CAN-Session-Indicator"], + ["3GPP-PS-Data-Off-Status"], + ["SCS-AS-Address"], + ["Unused-Quota-Timer"], + {'*', ["RAN-Secondary-RAT-Usage-Report"]}, + {'*', ["AVP"]}]}, + {"Radio-Parameter-Set-Info", + 3463, + [], + [["Radio-Parameter-Set-Values"], ["Change-Time"]]}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + [], + [["Secondary-RAT-Type"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"]]}, + {"Rate-Element", + 2058, + [], + [{"CC-Unit-Type"}, + ["Charge-Reason-Code"], + ["Unit-Value"], + ["Unit-Cost"], + ["Unit-Quota-Threshold"]]}, + {"Real-Time-Tariff-Information", + 2305, + [], + [["Tariff-Information"], ["Tariff-XML"]]}, + {"Recipient-Address", + 1201, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"], + ["Addressee-Type"]]}, + {"Recipient-Info", + 2026, + [], + [["Destination-Interface"], + {'*', ["Recipient-Address"]}, + {'*', ["Recipient-Received-Address"]}, + ["Recipient-SCCP-Address"], + ["SM-Protocol-ID"]]}, + {"Recipient-Received-Address", + 2028, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Related-Change-Condition-Information", + 3925, + [], + [["SGSN-Address"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"]]}, + {"Related-Trigger", + 3926, + [], + [{'*', ["Trigger-Type"]}]}, + {"Remaining-Balance", + 2021, + [], + [{"Unit-Value"}, {"Currency-Code"}]}, + {"Scale-Factor", + 2059, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"SCS-AS-Address", + 3940, + [], + [["SCS-Realm"], ["SCS-Address"]]}, + {"SDP-Media-Component", + 843, + [], + [["SDP-Media-Name"], + {'*', ["SDP-Media-Description"]}, + ["Local-GW-Inserted-Indication"], + ["IP-Realm-Default-Indication"], + ["Transcoder-Inserted-Indication"], + ["Media-Initiator-Flag"], + ["Media-Initiator-Party"], + ["3GPP-Charging-Id"], + ["Access-Network-Charging-Identifier-Value"], + ["SDP-Type"]]}, + {"SDP-TimeStamps", + 1273, + [], + [["SDP-Offer-Timestamp"], ["SDP-Answer-Timestamp"]]}, + {"Service-Data-Container", + 2040, + [], + [["AF-Correlation-Information"], + ["Charging-Rule-Base-Name"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Local-Sequence-Number"], + ["QoS-Information"], + ["Rating-Group"], + ["Change-Time"], + ["Service-Identifier"], + ["Service-Specific-Info"], + ["SGSN-Address"], + ["Time-First-Usage"], + ["Time-Last-Usage"], + ["Time-Usage"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["APN-Rate-Control"], + ["3GPP-PS-Data-Off-Status"]]}, + {"Service-Information", + 873, + [], + [{'*', ["Subscription-Id"]}, + ["AoC-Information"], + ["PS-Information"], + ["IMS-Information"], + ["MMS-Information"], + ["LCS-Information"], + ["PoC-Information"], + ["MBMS-Information"], + ["SMS-Information"], + ["VCS-Information"], + ["MMTel-Information"], + ["ProSe-Information"], + ["CPDT-Information"]]}, + {"Service-Specific-Info", + 1249, + [], + [["Service-Specific-Data"], ["Service-Specific-Type"]]}, + {"SM-Device-Trigger-Information", + 3405, + [], + [["MTC-IWF-Address"], ["Validity-Time"]]}, + {"SMS-Information", + 2000, + [], + [["SMS-Node"], + ["Client-Address"], + ["Originator-SCCP-Address"], + ["SMSC-Address"], + ["Data-Coding-Scheme"], + ["SM-Discharge-Time"], + ["SM-Message-Type"], + ["Originator-Interface"], + ["SM-Protocol-ID"], + ["Reply-Path-Requested"], + ["SM-Status"], + ["SM-User-Data-Header"], + ["Number-Of-Messages-Sent"], + ["SM-Sequence-Number"], + {'*', ["Recipient-Info"]}, + ["Originator-Received-Address"], + ["SM-Service-Type"], + ["SMS-Result"], + ["SM-Device-Trigger-Indicator"], + ["SM-Device-Trigger-Information"], + ["MTC-IWF-Address"]]}, + {"Supplementary-Service", + 2048, + [], + [["MMTel-SService-Type"], + ["Service-Mode"], + ["Number-Of-Diversions"], + ["Associated-Party-Address"], + ["Service-Id"], + ["Change-Time"], + ["Number-Of-Participants"], + ["Participant-Action-Type"], + ["CUG-Information"], + ["AoC-Information"]]}, + {"Talk-Burst-Exchange", + 1255, + [], + [{"PoC-Change-Time"}, + ["Number-Of-Talk-Bursts"], + ["Talk-Burst-Volume"], + ["Talk-Burst-Time"], + ["Number-Of-Received-Talk-Bursts"], + ["Received-Talk-Burst-Volume"], + ["Received-Talk-Burst-Time"], + ["Number-Of-Participants"], + ["PoC-Change-Condition"]]}, + {"Tariff-Information", + 2060, + [], + [{"Current-Tariff"}, + ["Tariff-Time-Change"], + ["Next-Tariff"]]}, + {"Time-Quota-Mechanism", + 1270, + [], + [{"Time-Quota-Type"}, {"Base-Time-Interval"}]}, + {"Time-Stamps", + 833, + [], + [["SIP-Request-Timestamp"], + ["SIP-Response-Timestamp"], + ["SIP-Request-Timestamp-Fraction"], + ["SIP-Response-Timestamp-Fraction"]]}, + {"Traffic-Data-Volumes", + 2046, + [], + [["QoS-Information"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"], + ["Change-Time"], + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-Charging-Id"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["Diagnostics"], + ["Enhanced-Diagnostics"], + ["CP-CIoT-EPS-Optimisation-Indicator"]]}, + {"Transmitter-Info", + 3468, + [], + [["ProSe-Source-IP-Address"], ["ProSe-UE-ID"]]}, + {"Trigger", 1264, [], [{'*', ["Trigger-Type"]}]}, + {"Trunk-Group-Id", + 851, + [], + [["Incoming-Trunk-Group-Id"], + ["Outgoing-Trunk-Group-Id"]]}, + {"TWAN-User-Location-Info", 2714, [], [["BSSID"]]}, + {"Unit-Cost", + 2061, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"User-CSG-Information", + 2319, + [], + [{"CSG-Access-Mode"}, ["CSG-Membership-Indication"]]}, + {"UWAN-User-Location-Info", + 3918, + [], + [{"UE-Local-IP-Address"}, + ["UDP-Source-Port"], + ["BSSID"]]}, + {"Variable-Part", + 3907, + [], + [{"Variable-Part-Type"}, + {"Variable-Part-Value"}, + ["Variable-Part-Order"]]}, + {"VCS-Information", + 3410, + [], + [["Bearer-Capability"], + ["Network-Call-Reference-Number"], + ["MSC-Address"], + ["Basic-Service-Code"], + ["ISUP-Location-Number"], + ["VLR-Number"], + ["Forwarding-Pending"], + ["ISUP-Cause"], + ["Start-Time"], + ["Start-of-Charging"], + ["Stop-Time"], + ["PS-Free-Format-Data"]]}]}, + {diameter_rfc4006_cc, + [{"Cost-Information", + 423, + [], + [{"Unit-Value"}, {"Currency-Code"}, ["Cost-Unit"]]}, + {"Unit-Value", + 445, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Multiple-Services-Credit-Control", + 456, + [], + [["Granted-Service-Unit"], + ["Requested-Service-Unit"], + {'*', ["Used-Service-Unit"]}, + ["Tariff-Change-Usage"], + {'*', ["Service-Identifier"]}, + ["Rating-Group"], + {'*', ["G-S-U-Pool-Reference"]}, + ["Validity-Time"], + ["Result-Code"], + ["Final-Unit-Indication"], + {'*', ["AVP"]}]}, + {"Granted-Service-Unit", + 431, + [], + [["Tariff-Time-Change"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Requested-Service-Unit", + 437, + [], + [["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Used-Service-Unit", + 446, + [], + [["Tariff-Change-Usage"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"CC-Money", + 413, + [], + [{"Unit-Value"}, ["Currency-Code"]]}, + {"G-S-U-Pool-Reference", + 457, + [], + [{"G-S-U-Pool-Identifier"}, + {"CC-Unit-Type"}, + {"Unit-Value"}]}, + {"Final-Unit-Indication", + 430, + [], + [{"Final-Unit-Action"}, + {'*', ["Restriction-Filter-Rule"]}, + {'*', ["Filter-Id"]}, + ["Redirect-Server"]]}, + {"Redirect-Server", + 434, + [], + [{"Redirect-Address-Type"}, + {"Redirect-Server-Address"}]}, + {"Service-Parameter-Info", + 440, + [], + [{"Service-Parameter-Type"}, + {"Service-Parameter-Value"}]}, + {"Subscription-Id", + 443, + [], + [{"Subscription-Id-Type"}, {"Subscription-Id-Data"}]}, + {"User-Equipment-Info", + 458, + [], + [{"User-Equipment-Info-Type"}, + {"User-Equipment-Info-Value"}]}]}, + {diameter_rfc5447, + [{"MIP6-Agent-Info", + 486, + [], + [{{0, 2}, ["MIP-Home-Agent-Address"]}, + ["MIP-Home-Agent-Host"], + ["MIP6-Home-Link-Prefix"], + {'*', ["AVP"]}]}]}, + {diameter_rfc7683, + [{"OC-Supported-Features", + 621, + [], + [["OC-Feature-Vector"], {'*', ["AVP"]}]}, + {"OC-OLR", + 623, + [], + [{{"OC-Sequence-Number"}}, + {{"OC-Report-Type"}}, + ["OC-Reduction-Percentage"], + ["OC-Validity-Duration"], + {'*', ["AVP"]}]}]}, + {diameter_rfc8583, + [{"Load", + 650, + [], + [["Load-Type"], + ["Load-Value"], + ["SourceID"], + {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_rfc8583", []}, + {"diameter_rfc7944", []}, + {"diameter_rfc7683", []}, + {"diameter_rfc7155", []}, + {"diameter_rfc5778", []}, + {"diameter_rfc5580", []}, + {"diameter_rfc5447", []}, + {"diameter_rfc4006_cc", []}, + {"diameter_etsi_es283_034", []}, + {"diameter_3gpp_ts32_299", []}, + {"diameter_3gpp_ts29_273", []}, + {"diameter_3gpp_ts29_272", []}, + {"diameter_3gpp_ts29_229", []}, + {"diameter_3gpp_ts29_214", []}, + {"diameter_3gpp_ts29_212", []}, + {"diameter_3gpp_break_circles", []}, + {"diameter_3gpp_base", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"MAR", + 303, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"User-Name"}, + {"Vendor-Specific-Application-Id"}, + {"SIP-Auth-Data-Item"}, + {"SIP-Number-Auth-Items"}, + ["Destination-Host"], + ["RAT-Type"], + ["DRMP"], + ["ANID"], + ["Visited-Network-Identifier"], + ["Terminal-Information"], + ["AAA-Failure-Indication"], + ["OC-Supported-Features"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}]}, + {"MAA", + 303, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Vendor-Specific-Application-Id"}, + {"User-Name"}, + ["DRMP"], + ["Result-Code"], + ["Experimental-Result"], + ["SIP-Number-Auth-Items"], + {'*', ["SIP-Auth-Data-Item"]}, + ["3GPP-AAA-Server-Name"], + ["OC-Supported-Features"], + ["OC-OLR"], + {'*', ["Load"]}, + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}]}, + {"PPR", + 305, + ['REQ'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Host"}, + {"Destination-Realm"}, + {"Vendor-Specific-Application-Id"}, + {"User-Name"}, + ["DRMP"], + ["Non-3GPP-User-Data"], + ["PPR-Flags"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}]}, + {"PPA", + 305, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Vendor-Specific-Application-Id"}, + ["DRMP"], + ["Result-Code"], + ["Experimental-Result"], + ["Access-Network-Info"], + ["Local-Time-Zone"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}]}, + {"SAR", + 301, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Vendor-Specific-Application-Id"}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"User-Name"}, + {"Server-Assignment-Type"}, + ["DRMP"], + ["Destination-Host"], + ["Service-Selection"], + ["Context-Identifier"], + ["MIP6-Agent-Info"], + ["Visited-Network-Identifier"], + {'*', ["Active-APN"]}, + ["OC-Supported-Features"], + {'*', ["Supported-Features"]}, + ["Terminal-Information"], + ["Emergency-Services"], + {'*', ["AVP"]}]}, + {"SAA", + 301, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Vendor-Specific-Application-Id"}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"User-Name"}, + ["DRMP"], + ["Result-Code"], + ["Experimental-Result"], + ["Non-3GPP-User-Data"], + ["3GPP-AAA-Server-Name"], + ["OC-Supported-Features"], + ["OC-OLR"], + {'*', ["Load"]}, + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}]}, + {"RTR", + 304, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Vendor-Specific-Application-Id"}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Host"}, + {"Destination-Realm"}, + {"User-Name"}, + {"Deregistration-Reason"}, + ["DRMP"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}]}, + {"RTA", + 304, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Vendor-Specific-Application-Id"}, + {"Auth-Session-State"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["DRMP"], + ["Result-Code"], + ["Experimental-Result"], + {'*', ["Supported-Features"]}, + {'*', ["AVP"]}]}]}, + {name, "diameter_3gpp_ts29_273_swx"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts29_329.erl b/src/diameter_3gpp_ts29_329.erl new file mode 100644 index 0000000..e28dba8 --- /dev/null +++ b/src/diameter_3gpp_ts29_329.erl @@ -0,0 +1,171 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts29_329). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records([]). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts29_329. + +id() -> erlang:error(badarg). + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec(T) -> msg2rec(T). + +avp_name(707, 10415) -> + {'Current-Location', 'Enumerated'}; +avp_name(711, 10415) -> {'DSAI-Tag', 'OctetString'}; +avp_name(703, 10415) -> + {'Data-Reference', 'Enumerated'}; +avp_name(709, 10415) -> {'Expiry-Time', 'Time'}; +avp_name(708, 10415) -> {'Identity-Set', 'Enumerated'}; +avp_name(701, 10415) -> {'MSISDN', 'OctetString'}; +avp_name(712, 10415) -> + {'One-Time-Notification', 'Enumerated'}; +avp_name(706, 10415) -> + {'Requested-Domain', 'Enumerated'}; +avp_name(713, 10415) -> + {'Requested-Nodes', 'Unsigned32'}; +avp_name(710, 10415) -> + {'Send-Data-Indication', 'Enumerated'}; +avp_name(716, 10415) -> + {'Sequence-Number', 'Unsigned32'}; +avp_name(704, 10415) -> + {'Service-Indication', 'OctetString'}; +avp_name(714, 10415) -> + {'Serving-Node-Indication', 'Enumerated'}; +avp_name(705, 10415) -> {'Subs-Req-Type', 'Enumerated'}; +avp_name(_, _) -> 'AVP'. + +avp_arity(_) -> erlang:error(badarg). + +avp_arity(_, _) -> 0. + +avp_header('Current-Location') -> {707, 192, 10415}; +avp_header('DSAI-Tag') -> {711, 192, 10415}; +avp_header('Data-Reference') -> {703, 192, 10415}; +avp_header('Expiry-Time') -> {709, 128, 10415}; +avp_header('Identity-Set') -> {708, 128, 10415}; +avp_header('MSISDN') -> {701, 192, 10415}; +avp_header('One-Time-Notification') -> + {712, 128, 10415}; +avp_header('Requested-Domain') -> {706, 192, 10415}; +avp_header('Requested-Nodes') -> {713, 128, 10415}; +avp_header('Send-Data-Indication') -> {710, 128, 10415}; +avp_header('Sequence-Number') -> {716, 128, 10415}; +avp_header('Service-Indication') -> {704, 192, 10415}; +avp_header('Serving-Node-Indication') -> + {714, 128, 10415}; +avp_header('Subs-Req-Type') -> {705, 192, 10415}; +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Current-Location', _) -> + enumerated_avp(T, 'Current-Location', Data); +avp(T, Data, 'DSAI-Tag', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Data-Reference', _) -> + enumerated_avp(T, 'Data-Reference', Data); +avp(T, Data, 'Expiry-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Identity-Set', _) -> + enumerated_avp(T, 'Identity-Set', Data); +avp(T, Data, 'MSISDN', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'One-Time-Notification', _) -> + enumerated_avp(T, 'One-Time-Notification', Data); +avp(T, Data, 'Requested-Domain', _) -> + enumerated_avp(T, 'Requested-Domain', Data); +avp(T, Data, 'Requested-Nodes', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Send-Data-Indication', _) -> + enumerated_avp(T, 'Send-Data-Indication', Data); +avp(T, Data, 'Sequence-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Service-Indication', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Serving-Node-Indication', _) -> + enumerated_avp(T, 'Serving-Node-Indication', Data); +avp(T, Data, 'Subs-Req-Type', _) -> + enumerated_avp(T, 'Subs-Req-Type', Data); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Current-Location", 707, "Enumerated", "MV"}, + {"DSAI-Tag", 711, "OctetString", "MV"}, + {"Data-Reference", 703, "Enumerated", "MV"}, + {"Expiry-Time", 709, "Time", "V"}, + {"Identity-Set", 708, "Enumerated", "V"}, + {"MSISDN", 701, "OctetString", "MV"}, + {"One-Time-Notification", 712, "Enumerated", "V"}, + {"Requested-Domain", 706, "Enumerated", "MV"}, + {"Requested-Nodes", 713, "Unsigned32", "V"}, + {"Send-Data-Indication", 710, "Enumerated", "V"}, + {"Sequence-Number", 716, "Unsigned32", "V"}, + {"Service-Indication", 704, "OctetString", "MV"}, + {"Serving-Node-Indication", 714, "Enumerated", "V"}, + {"Subs-Req-Type", 705, "Enumerated", "MV"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {import_avps, []}, + {import_enums, []}, + {import_groups, []}, + {inherits, []}, + {messages, []}, + {name, "diameter_3gpp_ts29_329"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_3gpp_ts32_299.erl b/src/diameter_3gpp_ts32_299.erl new file mode 100644 index 0000000..640bf0a --- /dev/null +++ b/src/diameter_3gpp_ts32_299.erl @@ -0,0 +1,16021 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_3gpp_ts32_299). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['diameter_3gpp_charging_Access-Network-Info-Change', + 'diameter_3gpp_charging_Access-Transfer-Information', + 'diameter_3gpp_charging_Accumulated-Cost', + 'diameter_3gpp_charging_Additional-Content-Information', + 'diameter_3gpp_charging_Address-Domain', + 'diameter_3gpp_charging_AF-Correlation-Information', + 'diameter_3gpp_charging_Announcement-Information', + 'diameter_3gpp_charging_AoC-Cost-Information', + 'diameter_3gpp_charging_AoC-Information', + 'diameter_3gpp_charging_AoC-Service', + 'diameter_3gpp_charging_AoC-Subscription-Information', + 'diameter_3gpp_charging_APN-Rate-Control', + 'diameter_3gpp_charging_APN-Rate-Control-Downlink', + 'diameter_3gpp_charging_APN-Rate-Control-Uplink', + 'diameter_3gpp_charging_Application-Server-Information', + 'diameter_3gpp_charging_Basic-Service-Code', + 'diameter_3gpp_charging_Called-Identity-Change', + 'diameter_3gpp_charging_Coverage-Info', + 'diameter_3gpp_charging_CPDT-Information', + 'diameter_3gpp_charging_Current-Tariff', + 'diameter_3gpp_charging_Destination-Interface', + 'diameter_3gpp_charging_Early-Media-Description', + 'diameter_3gpp_charging_Enhanced-Diagnostics', + diameter_3gpp_charging_Envelope, + 'diameter_3gpp_charging_Event-Type', + 'diameter_3gpp_charging_Incremental-Cost', + 'diameter_3gpp_charging_IMS-Information', + 'diameter_3gpp_charging_Inter-Operator-Identifier', + 'diameter_3gpp_charging_ISUP-Cause', + 'diameter_3gpp_charging_LCS-Client-ID', + 'diameter_3gpp_charging_LCS-Client-Name', + 'diameter_3gpp_charging_LCS-Information', + 'diameter_3gpp_charging_LCS-Requestor-ID', + 'diameter_3gpp_charging_Location-Info', + 'diameter_3gpp_charging_Location-Type', + 'diameter_3gpp_charging_MBMS-Information', + 'diameter_3gpp_charging_Message-Body', + 'diameter_3gpp_charging_Message-Class', + 'diameter_3gpp_charging_MM-Content-Type', + 'diameter_3gpp_charging_MMS-Information', + 'diameter_3gpp_charging_MMTel-Information', + 'diameter_3gpp_charging_Monitoring-Event-Information', + 'diameter_3gpp_charging_Monitoring-Event-Report-Data', + 'diameter_3gpp_charging_Next-Tariff', + 'diameter_3gpp_charging_NIDD-Submission', + 'diameter_3gpp_charging_NNI-Information', + 'diameter_3gpp_charging_Offline-Charging', + 'diameter_3gpp_charging_Originator-Address', + 'diameter_3gpp_charging_Originator-Interface', + 'diameter_3gpp_charging_Originator-Received-Address', + 'diameter_3gpp_charging_Participant-Group', + 'diameter_3gpp_charging_PoC-Information', + 'diameter_3gpp_charging_PoC-User-Role', + 'diameter_3gpp_charging_ProSe-Direct-Communication-Reception-Data-Container', + 'diameter_3gpp_charging_ProSe-Direct-Communication-Transmission-Data-Container', + 'diameter_3gpp_charging_ProSe-Information', + 'diameter_3gpp_charging_PS-Furnish-Charging-Information', + 'diameter_3gpp_charging_PS-Information', + 'diameter_3gpp_charging_Radio-Parameter-Set-Info', + 'diameter_3gpp_charging_RAN-Secondary-RAT-Usage-Report', + 'diameter_3gpp_charging_Rate-Element', + 'diameter_3gpp_charging_Real-Time-Tariff-Information', + 'diameter_3gpp_charging_Recipient-Address', + 'diameter_3gpp_charging_Recipient-Info', + 'diameter_3gpp_charging_Recipient-Received-Address', + 'diameter_3gpp_charging_Related-Change-Condition-Information', + 'diameter_3gpp_charging_Related-Trigger', + 'diameter_3gpp_charging_Remaining-Balance', + 'diameter_3gpp_charging_Scale-Factor', + 'diameter_3gpp_charging_SCS-AS-Address', + 'diameter_3gpp_charging_SDP-Media-Component', + 'diameter_3gpp_charging_SDP-TimeStamps', + 'diameter_3gpp_charging_Service-Data-Container', + 'diameter_3gpp_charging_Service-Information', + 'diameter_3gpp_charging_Service-Specific-Info', + 'diameter_3gpp_charging_SM-Device-Trigger-Information', + 'diameter_3gpp_charging_SMS-Information', + 'diameter_3gpp_charging_Supplementary-Service', + 'diameter_3gpp_charging_Talk-Burst-Exchange', + 'diameter_3gpp_charging_Tariff-Information', + 'diameter_3gpp_charging_Time-Quota-Mechanism', + 'diameter_3gpp_charging_Time-Stamps', + 'diameter_3gpp_charging_Traffic-Data-Volumes', + 'diameter_3gpp_charging_Transmitter-Info', + diameter_3gpp_charging_Trigger, + 'diameter_3gpp_charging_Trunk-Group-Id', + 'diameter_3gpp_charging_TWAN-User-Location-Info', + 'diameter_3gpp_charging_Unit-Cost', + 'diameter_3gpp_charging_User-CSG-Information', + 'diameter_3gpp_charging_UWAN-User-Location-Info', + 'diameter_3gpp_charging_Variable-Part', + 'diameter_3gpp_charging_VCS-Information', + 'diameter_3gpp_charging_Proxy-Info', + 'diameter_3gpp_charging_Failed-AVP', + 'diameter_3gpp_charging_Experimental-Result', + 'diameter_3gpp_charging_Vendor-Specific-Application-Id', + diameter_3gpp_charging_Tunneling, + 'diameter_3gpp_charging_Cost-Information', + 'diameter_3gpp_charging_Unit-Value', + 'diameter_3gpp_charging_Multiple-Services-Credit-Control', + 'diameter_3gpp_charging_Granted-Service-Unit', + 'diameter_3gpp_charging_Requested-Service-Unit', + 'diameter_3gpp_charging_Used-Service-Unit', + 'diameter_3gpp_charging_CC-Money', + 'diameter_3gpp_charging_G-S-U-Pool-Reference', + 'diameter_3gpp_charging_Final-Unit-Indication', + 'diameter_3gpp_charging_Redirect-Server', + 'diameter_3gpp_charging_Service-Parameter-Info', + 'diameter_3gpp_charging_Subscription-Id', + 'diameter_3gpp_charging_User-Equipment-Info', + 'diameter_3gpp_charging_Access-Network-Charging-Identifier-Gx', + 'diameter_3gpp_charging_Allocation-Retention-Priority', + 'diameter_3gpp_charging_Application-Detection-Information', + 'diameter_3gpp_charging_Charging-Rule-Definition', + 'diameter_3gpp_charging_Charging-Rule-Install', + 'diameter_3gpp_charging_Charging-Rule-Remove', + 'diameter_3gpp_charging_Charging-Rule-Report', + 'diameter_3gpp_charging_CoA-Information', + 'diameter_3gpp_charging_Conditional-APN-Aggregate-Max-Bitrate', + 'diameter_3gpp_charging_Default-EPS-Bearer-QoS', + 'diameter_3gpp_charging_Default-QoS-Information', + 'diameter_3gpp_charging_Event-Report-Indication', + 'diameter_3gpp_charging_Fixed-User-Location-Info', + 'diameter_3gpp_charging_Flow-Information', + 'diameter_3gpp_charging_Packet-Filter-Information', + 'diameter_3gpp_charging_Presence-Reporting-Area-Information', + 'diameter_3gpp_charging_QoS-Information', + 'diameter_3gpp_charging_Redirect-Information', + 'diameter_3gpp_charging_Routing-Filter', + 'diameter_3gpp_charging_Routing-Rule-Definition', + 'diameter_3gpp_charging_Routing-Rule-Install', + 'diameter_3gpp_charging_Routing-Rule-Remove', + 'diameter_3gpp_charging_TDF-Information', + 'diameter_3gpp_charging_Tunnel-Information', + 'diameter_3gpp_charging_TFT-Packet-Filter-Information', + 'diameter_3gpp_charging_Usage-Monitoring-Information', + diameter_3gpp_charging_Flows, + 'diameter_3gpp_charging_Charging-Information', + 'diameter_3gpp_charging_Supported-Features', + 'diameter_3gpp_charging_Supported-Applications', + 'diameter_3gpp_charging_SIP-Auth-Data-Item', + 'diameter_3gpp_charging_Deregistration-Reason', + 'diameter_3gpp_charging_SIP-Digest-Authenticate']). + +-record('diameter_3gpp_charging_Access-Network-Info-Change', + {'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Access-Transfer-Information', + {'Access-Transfer-Type' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Inter-UE-Transfer' = [], + 'User-Equipment-Info' = [], + 'Instance-Id' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Accumulated-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_Additional-Content-Information', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = []}). + +-record('diameter_3gpp_charging_Address-Domain', + {'Domain-Name' = [], '3GPP-IMSI-MCC-MNC' = []}). + +-record('diameter_3gpp_charging_AF-Correlation-Information', + {'AF-Charging-Identifier', 'Flows' = []}). + +-record('diameter_3gpp_charging_Announcement-Information', + {'Announcement-Identifier', + 'Variable-Part' = [], + 'Time-Indicator' = [], + 'Quota-Indicator' = [], + 'Announcement-Order' = [], + 'Play-Alternative' = [], + 'Privacy-Indicator' = [], + 'Language' = []}). + +-record('diameter_3gpp_charging_AoC-Cost-Information', + {'Accumulated-Cost' = [], + 'Incremental-Cost' = [], + 'Currency-Code' = []}). + +-record('diameter_3gpp_charging_AoC-Information', + {'AoC-Cost-Information' = [], + 'Tariff-Information' = [], + 'AoC-Subscription-Information' = []}). + +-record('diameter_3gpp_charging_AoC-Service', + {'AoC-Service-Obligatory-Type' = [], + 'AoC-Service-Type' = []}). + +-record('diameter_3gpp_charging_AoC-Subscription-Information', + {'AoC-Service' = [], + 'AoC-Format' = [], + 'Preferred-AoC-Currency' = []}). + +-record('diameter_3gpp_charging_APN-Rate-Control', + {'APN-Rate-Control-Uplink' = [], + 'APN-Rate-Control-Downlink' = []}). + +-record('diameter_3gpp_charging_APN-Rate-Control-Downlink', + {'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = [], + 'Rate-Control-Max-Message-Size' = []}). + +-record('diameter_3gpp_charging_APN-Rate-Control-Uplink', + {'Additional-Exception-Reports' = [], + 'Rate-Control-Time-Unit' = [], + 'Rate-Control-Max-Rate' = []}). + +-record('diameter_3gpp_charging_Application-Server-Information', + {'Application-Server' = [], + 'Application-Provided-Called-Party-Address' = [], + 'Status-AS-Code' = []}). + +-record('diameter_3gpp_charging_Basic-Service-Code', + {'Bearer-Service' = [], 'Teleservice' = []}). + +-record('diameter_3gpp_charging_Called-Identity-Change', + {'Called-Identity' = [], 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Coverage-Info', + {'Coverage-Status' = [], + 'Change-Time' = [], + 'Location-Info' = []}). + +-record('diameter_3gpp_charging_CPDT-Information', + {'Serving-Node-Identity' = [], + 'SGW-Change' = [], + 'NIDD-Submission' = []}). + +-record('diameter_3gpp_charging_Current-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('diameter_3gpp_charging_Destination-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('diameter_3gpp_charging_Early-Media-Description', + {'SDP-TimeStamps' = [], + 'SDP-Media-Component' = [], + 'SDP-Session-Description' = []}). + +-record('diameter_3gpp_charging_Enhanced-Diagnostics', + {'RAN-NAS-Release-Cause' = []}). + +-record(diameter_3gpp_charging_Envelope, + {'Envelope-Start-Time', + 'Envelope-End-Time' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = []}). + +-record('diameter_3gpp_charging_Event-Type', + {'SIP-Method' = [], 'Event' = [], 'Expires' = []}). + +-record('diameter_3gpp_charging_Incremental-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_IMS-Information', + {'Node-Functionality', + 'Event-Type' = [], + 'Role-Of-Node' = [], + 'User-Session-Id' = [], + 'Outgoing-Session-Id' = [], + 'Session-Priority' = [], + 'Calling-Party-Address' = [], + 'Called-Party-Address' = [], + 'Called-Asserted-Identity' = [], + 'Called-Identity-Change' = [], + 'Number-Portability-Routing-Information' = [], + 'Carrier-Select-Routing-Information' = [], + 'Alternate-Charged-Party-Address' = [], + 'Requested-Party-Address' = [], + 'Associated-URI' = [], + 'Time-Stamps' = [], + 'Application-Server-Information' = [], + 'Inter-Operator-Identifier' = [], + 'Transit-IOI-List' = [], + 'IMS-Charging-Identifier' = [], + 'SDP-Session-Description' = [], + 'SDP-Media-Component' = [], + 'Served-Party-IP-Address' = [], + 'Trunk-Group-Id' = [], + 'Bearer-Service' = [], + 'Service-Id' = [], + 'Service-Specific-Info' = [], + 'Message-Body' = [], + 'Cause-Code' = [], + 'Reason-Header' = [], + 'Access-Network-Information' = [], + 'Cellular-Network-Information' = [], + 'Early-Media-Description' = [], + 'IMS-Communication-Service-Identifier' = [], + 'IMS-Application-Reference-Identifier' = [], + 'Online-Charging-Flag' = [], + 'Real-Time-Tariff-Information' = [], + 'Account-Expiration' = [], + 'Initial-IMS-Charging-Identifier' = [], + 'NNI-Information' = [], + 'From-Address' = [], + 'IMS-Emergency-Indicator' = [], + 'IMS-Visited-Network-Identifier' = [], + 'Access-Network-Info-Change' = [], + 'Access-Transfer-Information' = [], + 'Related-IMS-Charging-Identifier' = [], + 'Related-IMS-Charging-Identifier-Node' = [], + 'Route-Header-Received' = [], + 'Route-Header-Transmitted' = [], + 'Instance-Id' = [], + 'TAD-Identifier' = [], + 'FE-Identifier-List' = []}). + +-record('diameter_3gpp_charging_Inter-Operator-Identifier', + {'Originating-IOI' = [], 'Terminating-IOI' = []}). + +-record('diameter_3gpp_charging_ISUP-Cause', + {'ISUP-Cause-Location' = [], + 'ISUP-Cause-Value' = [], + 'ISUP-Cause-Diagnostics' = []}). + +-record('diameter_3gpp_charging_LCS-Client-ID', + {'LCS-Client-Type' = [], + 'LCS-Client-External-ID' = [], + 'LCS-Client-Dialed-By-MS' = [], + 'LCS-Client-Name' = [], + 'LCS-APN' = [], + 'LCS-Requestor-ID' = []}). + +-record('diameter_3gpp_charging_LCS-Client-Name', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Name-String' = [], + 'LCS-Format-Indicator' = []}). + +-record('diameter_3gpp_charging_LCS-Information', + {'LCS-Client-ID' = [], + 'Location-Type' = [], + 'Location-Estimate' = [], + 'Positioning-Data' = [], + '3GPP-IMSI' = [], + 'MSISDN' = []}). + +-record('diameter_3gpp_charging_LCS-Requestor-ID', + {'LCS-Data-Coding-Scheme' = [], + 'LCS-Requestor-ID-String' = []}). + +-record('diameter_3gpp_charging_Location-Info', + {'3GPP-User-Location-Info' = [], 'Change-Time' = []}). + +-record('diameter_3gpp_charging_Location-Type', + {'Location-Estimate-Type' = [], + 'Deferred-Location-Event-Type' = []}). + +-record('diameter_3gpp_charging_MBMS-Information', + {'TMGI' = [], + 'MBMS-User-Service-Type' = [], + 'File-Repair-Supported' = [], + 'MBMS-2G-3G-Indicator' = [], + 'MBMS-Service-Area' = [], + 'MBMS-Session-Identity' = [], + 'CN-IP-Multicast-Distribution' = [], + 'MBMS-GW-Address' = [], + 'MBMS-Charged-Party' = [], + 'MSISDN' = []}). + +-record('diameter_3gpp_charging_Message-Body', + {'Content-Type', + 'Content-Length', + 'Content-Disposition' = [], + 'Originator' = []}). + +-record('diameter_3gpp_charging_Message-Class', + {'Class-Identifier' = [], 'Token-Text' = []}). + +-record('diameter_3gpp_charging_MM-Content-Type', + {'Type-Number' = [], + 'Additional-Type-Information' = [], + 'Content-Size' = [], + 'Additional-Content-Information' = []}). + +-record('diameter_3gpp_charging_MMS-Information', + {'Originator-Address' = [], + 'Recipient-Address' = [], + 'Submission-Time' = [], + 'MM-Content-Type' = [], + 'Priority' = [], + 'Message-ID' = [], + 'Message-Type' = [], + 'Message-Size' = [], + 'Message-Class' = [], + 'Delivery-Report-Requested' = [], + 'Read-Reply-Report-Requested' = [], + 'MMBox-Storage-Requested' = [], + 'Applic-ID' = [], + 'Reply-Applic-ID' = [], + 'Aux-Applic-Info' = [], + 'Content-Class' = [], + 'DRM-Content' = [], + 'Adaptations' = []}). + +-record('diameter_3gpp_charging_MMTel-Information', + {'Supplementary-Service' = []}). + +-record('diameter_3gpp_charging_Monitoring-Event-Information', + {'Monitoring-Event-Functionality' = [], + 'Event-Timestamp' = [], + 'Monitoring-Event-Configuration-Activity' = [], + 'Charged-Party' = [], + 'Monitoring-Event-Report-Data' = []}). + +-record('diameter_3gpp_charging_Monitoring-Event-Report-Data', + {'Event-Timestamp' = [], + 'Monitoring-Event-Report-Number' = [], + 'Charged-Party' = [], + 'Subscription-Id' = []}). + +-record('diameter_3gpp_charging_Next-Tariff', + {'Currency-Code' = [], + 'Scale-Factor' = [], + 'Rate-Element' = []}). + +-record('diameter_3gpp_charging_NIDD-Submission', + {'Submission-Time' = [], + 'Event-Timestamp' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = []}). + +-record('diameter_3gpp_charging_NNI-Information', + {'Session-Direction' = [], + 'NNI-Type' = [], + 'Relationship-Mode' = [], + 'Neighbour-Node-Address' = []}). + +-record('diameter_3gpp_charging_Offline-Charging', + {'Quota-Consumption-Time' = [], + 'Time-Quota-Mechanism' = [], + 'Envelope-Reporting' = [], + 'Multiple-Services-Credit-Control' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Originator-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('diameter_3gpp_charging_Originator-Interface', + {'Interface-Id' = [], + 'Interface-Text' = [], + 'Interface-Port' = [], + 'Interface-Type' = []}). + +-record('diameter_3gpp_charging_Originator-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('diameter_3gpp_charging_Participant-Group', + {'Called-Party-Address' = [], + 'Participant-Access-Priority' = [], + 'User-Participating-Type' = []}). + +-record('diameter_3gpp_charging_PoC-Information', + {'PoC-Server-Role' = [], + 'PoC-Session-Type' = [], + 'PoC-User-Role' = [], + 'PoC-Session-Initiation-Type' = [], + 'PoC-Event-Type' = [], + 'Number-Of-Participants' = [], + 'Participants-Involved' = [], + 'Participant-Group' = [], + 'Talk-Burst-Exchange' = [], + 'PoC-Controlling-Address' = [], + 'PoC-Group-Name' = [], + 'PoC-Session-Id' = [], + 'Charged-Party' = []}). + +-record('diameter_3gpp_charging_PoC-User-Role', + {'PoC-User-Role-IDs' = [], + 'PoC-User-Role-Info-Units' = []}). + +-record('diameter_3gpp_charging_ProSe-Direct-Communication-Reception-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Input-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('diameter_3gpp_charging_ProSe-Direct-Communication-Transmission-Data-Container', + {'Local-Sequence-Number' = [], + 'Coverage-Status' = [], + '3GPP-User-Location-Info' = [], + 'Accounting-Output-Octets' = [], + 'Change-Time' = [], + 'Change-Condition' = [], + 'Usage-Information-Report-Sequence-Number' = [], + 'Radio-Resources-Indicator' = [], + 'Radio-Frequency' = []}). + +-record('diameter_3gpp_charging_ProSe-Information', + {'Announcing-UE-HPLMN-Identifier' = [], + 'Announcing-UE-VPLMN-Identifier' = [], + 'Monitoring-UE-HPLMN-Identifier' = [], + 'Monitoring-UE-VPLMN-Identifier' = [], + 'Role-Of-ProSe-Function' = [], + 'ProSe-3rd-Party-Application-ID' = [], + 'Application-Specific-Data' = [], + 'ProSe-Event-Type' = [], + 'ProSe-Direct-Discovery-Model' = [], + 'ProSe-Function-IP-Address' = [], + 'ProSe-Role-Of-UE' = [], + 'ProSe-Request-Timestamp' = [], + 'PC3-Control-Protocol-Cause' = [], + 'Monitoring-UE-Identifier' = [], + 'Requestor-PLMN-Identifier' = [], + 'Requested-PLMN-Identifier' = [], + 'ProSe-Range-Class' = [], + 'Proximity-Alert-Indication' = [], + 'Proximity-Alert-Timestamp' = [], + 'Proximity-Cancellation-Timestamp' = [], + 'ProSe-Reason-For-Cancellation' = [], + 'PC3-EPC-Control-Protocol-Cause' = [], + 'ProSe-UE-ID' = [], + 'ProSe-Source-IP-Address' = [], + 'Layer-2-Group-ID' = [], + 'ProSe-Group-IP-Multicast-Address' = [], + 'Coverage-Info' = [], + 'Radio-Parameter-Set-Info' = [], + 'Transmitter-Info' = [], + 'Time-First-Transmission' = [], + 'Time-First-Reception' = [], + 'ProSe-Direct-Communication-Transmission-Data-Container' + = [], + 'ProSe-Direct-Communication-Reception-Data-Container' = + [], + 'Announcing-PLMN-ID' = [], + 'ProSe-Target-Layer-2-ID' = [], + 'Relay-IP-address' = [], + 'ProSe-UE-to-Network-Relay-UE-ID' = [], + 'Target-IP-Address' = [], + 'PC5-Radio-Technology' = []}). + +-record('diameter_3gpp_charging_PS-Furnish-Charging-Information', + {'3GPP-Charging-Id', + 'PS-Free-Format-Data', + 'PS-Append-Free-Format-Data' = []}). + +-record('diameter_3gpp_charging_PS-Information', + {'3GPP-Charging-Id' = [], + 'PDN-Connection-Charging-ID' = [], + 'Node-Id' = [], + '3GPP-PDP-Type' = [], + 'PDP-Address' = [], + 'PDP-Address-Prefix-Length' = [], + 'Dynamic-Address-Flag' = [], + 'Dynamic-Address-Flag-Extension' = [], + 'QoS-Information' = [], + 'SGSN-Address' = [], + 'GGSN-Address' = [], + 'TDF-IP-Address' = [], + 'SGW-Address' = [], + 'TWAG-Address' = [], + 'CG-Address' = [], + 'Serving-Node-Type' = [], + 'SGW-Change' = [], + '3GPP-IMSI-MCC-MNC' = [], + 'IMSI-Unauthenticated-Flag' = [], + '3GPP-GGSN-MCC-MNC' = [], + '3GPP-NSAPI' = [], + 'Called-Station-Id' = [], + '3GPP-Session-Stop-Indicator' = [], + '3GPP-Selection-Mode' = [], + '3GPP-Charging-Characteristics' = [], + 'Charging-Characteristics-Selection-Mode' = [], + '3GPP-SGSN-MCC-MNC' = [], + '3GPP-MS-TimeZone' = [], + 'Charging-Rule-Base-Name' = [], + '3GPP-User-Location-Info' = [], + 'User-Location-Info-Time' = [], + 'User-CSG-Information' = [], + 'Presence-Reporting-Area-Information' = [], + 'TWAN-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-RAT-Type' = [], + 'PS-Furnish-Charging-Information' = [], + 'PDP-Context-Type' = [], + 'Offline-Charging' = [], + 'Traffic-Data-Volumes' = [], + 'Service-Data-Container' = [], + 'User-Equipment-Info' = [], + 'Start-Time' = [], + 'Stop-Time' = [], + 'Change-Condition' = [], + 'Diagnostics' = [], + 'Low-Priority-Indicator' = [], + 'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'Fixed-User-Location-Info' = [], + 'CN-Operator-Selection-Entity' = [], + 'Enhanced-Diagnostics' = [], + 'SGi-PtP-Tunnelling-Method' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = [], + 'UNI-PDU-CP-Only-Flag' = [], + 'APN-Rate-Control' = [], + 'Charging-Per-IP-CAN-Session-Indicator' = [], + '3GPP-PS-Data-Off-Status' = [], + 'SCS-AS-Address' = [], + 'Unused-Quota-Timer' = [], + 'RAN-Secondary-RAT-Usage-Report' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Radio-Parameter-Set-Info', + {'Radio-Parameter-Set-Values' = [], + 'Change-Time' = []}). + +-record('diameter_3gpp_charging_RAN-Secondary-RAT-Usage-Report', + {'Secondary-RAT-Type' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = []}). + +-record('diameter_3gpp_charging_Rate-Element', + {'CC-Unit-Type', + 'Charge-Reason-Code' = [], + 'Unit-Value' = [], + 'Unit-Cost' = [], + 'Unit-Quota-Threshold' = []}). + +-record('diameter_3gpp_charging_Real-Time-Tariff-Information', + {'Tariff-Information' = [], 'Tariff-XML' = []}). + +-record('diameter_3gpp_charging_Recipient-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = [], + 'Addressee-Type' = []}). + +-record('diameter_3gpp_charging_Recipient-Info', + {'Destination-Interface' = [], + 'Recipient-Address' = [], + 'Recipient-Received-Address' = [], + 'Recipient-SCCP-Address' = [], + 'SM-Protocol-ID' = []}). + +-record('diameter_3gpp_charging_Recipient-Received-Address', + {'Address-Type' = [], + 'Address-Data' = [], + 'Address-Domain' = []}). + +-record('diameter_3gpp_charging_Related-Change-Condition-Information', + {'SGSN-Address' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = []}). + +-record('diameter_3gpp_charging_Related-Trigger', + {'Trigger-Type' = []}). + +-record('diameter_3gpp_charging_Remaining-Balance', + {'Unit-Value', 'Currency-Code'}). + +-record('diameter_3gpp_charging_Scale-Factor', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_SCS-AS-Address', + {'SCS-Realm' = [], 'SCS-Address' = []}). + +-record('diameter_3gpp_charging_SDP-Media-Component', + {'SDP-Media-Name' = [], + 'SDP-Media-Description' = [], + 'Local-GW-Inserted-Indication' = [], + 'IP-Realm-Default-Indication' = [], + 'Transcoder-Inserted-Indication' = [], + 'Media-Initiator-Flag' = [], + 'Media-Initiator-Party' = [], + '3GPP-Charging-Id' = [], + 'Access-Network-Charging-Identifier-Value' = [], + 'SDP-Type' = []}). + +-record('diameter_3gpp_charging_SDP-TimeStamps', + {'SDP-Offer-Timestamp' = [], + 'SDP-Answer-Timestamp' = []}). + +-record('diameter_3gpp_charging_Service-Data-Container', + {'AF-Correlation-Information' = [], + 'Charging-Rule-Base-Name' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Local-Sequence-Number' = [], + 'QoS-Information' = [], + 'Rating-Group' = [], + 'Change-Time' = [], + 'Service-Identifier' = [], + 'Service-Specific-Info' = [], + 'SGSN-Address' = [], + 'Time-First-Usage' = [], + 'Time-Last-Usage' = [], + 'Time-Usage' = [], + 'Change-Condition' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Presence-Reporting-Area-Information' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'APN-Rate-Control' = [], + '3GPP-PS-Data-Off-Status' = []}). + +-record('diameter_3gpp_charging_Service-Information', + {'Subscription-Id' = [], + 'AoC-Information' = [], + 'PS-Information' = [], + 'IMS-Information' = [], + 'MMS-Information' = [], + 'LCS-Information' = [], + 'PoC-Information' = [], + 'MBMS-Information' = [], + 'SMS-Information' = [], + 'VCS-Information' = [], + 'MMTel-Information' = [], + 'ProSe-Information' = [], + 'CPDT-Information' = []}). + +-record('diameter_3gpp_charging_Service-Specific-Info', + {'Service-Specific-Data' = [], + 'Service-Specific-Type' = []}). + +-record('diameter_3gpp_charging_SM-Device-Trigger-Information', + {'MTC-IWF-Address' = [], 'Validity-Time' = []}). + +-record('diameter_3gpp_charging_SMS-Information', + {'SMS-Node' = [], + 'Client-Address' = [], + 'Originator-SCCP-Address' = [], + 'SMSC-Address' = [], + 'Data-Coding-Scheme' = [], + 'SM-Discharge-Time' = [], + 'SM-Message-Type' = [], + 'Originator-Interface' = [], + 'SM-Protocol-ID' = [], + 'Reply-Path-Requested' = [], + 'SM-Status' = [], + 'SM-User-Data-Header' = [], + 'Number-Of-Messages-Sent' = [], + 'SM-Sequence-Number' = [], + 'Recipient-Info' = [], + 'Originator-Received-Address' = [], + 'SM-Service-Type' = [], + 'SMS-Result' = [], + 'SM-Device-Trigger-Indicator' = [], + 'SM-Device-Trigger-Information' = [], + 'MTC-IWF-Address' = []}). + +-record('diameter_3gpp_charging_Supplementary-Service', + {'MMTel-SService-Type' = [], + 'Service-Mode' = [], + 'Number-Of-Diversions' = [], + 'Associated-Party-Address' = [], + 'Service-Id' = [], + 'Change-Time' = [], + 'Number-Of-Participants' = [], + 'Participant-Action-Type' = [], + 'CUG-Information' = [], + 'AoC-Information' = []}). + +-record('diameter_3gpp_charging_Talk-Burst-Exchange', + {'PoC-Change-Time', + 'Number-Of-Talk-Bursts' = [], + 'Talk-Burst-Volume' = [], + 'Talk-Burst-Time' = [], + 'Number-Of-Received-Talk-Bursts' = [], + 'Received-Talk-Burst-Volume' = [], + 'Received-Talk-Burst-Time' = [], + 'Number-Of-Participants' = [], + 'PoC-Change-Condition' = []}). + +-record('diameter_3gpp_charging_Tariff-Information', + {'Current-Tariff', + 'Tariff-Time-Change' = [], + 'Next-Tariff' = []}). + +-record('diameter_3gpp_charging_Time-Quota-Mechanism', + {'Time-Quota-Type', 'Base-Time-Interval'}). + +-record('diameter_3gpp_charging_Time-Stamps', + {'SIP-Request-Timestamp' = [], + 'SIP-Response-Timestamp' = [], + 'SIP-Request-Timestamp-Fraction' = [], + 'SIP-Response-Timestamp-Fraction' = []}). + +-record('diameter_3gpp_charging_Traffic-Data-Volumes', + {'QoS-Information' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Output-Octets' = [], + 'Change-Condition' = [], + 'Change-Time' = [], + '3GPP-User-Location-Info' = [], + 'UWAN-User-Location-Info' = [], + '3GPP-Charging-Id' = [], + 'Presence-Reporting-Area-Status' = [], + 'User-CSG-Information' = [], + '3GPP-RAT-Type' = [], + 'Related-Change-Condition-Information' = [], + 'Diagnostics' = [], + 'Enhanced-Diagnostics' = [], + 'CP-CIoT-EPS-Optimisation-Indicator' = []}). + +-record('diameter_3gpp_charging_Transmitter-Info', + {'ProSe-Source-IP-Address' = [], 'ProSe-UE-ID' = []}). + +-record(diameter_3gpp_charging_Trigger, + {'Trigger-Type' = []}). + +-record('diameter_3gpp_charging_Trunk-Group-Id', + {'Incoming-Trunk-Group-Id' = [], + 'Outgoing-Trunk-Group-Id' = []}). + +-record('diameter_3gpp_charging_TWAN-User-Location-Info', + {'BSSID' = []}). + +-record('diameter_3gpp_charging_Unit-Cost', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_User-CSG-Information', + {'CSG-Access-Mode', 'CSG-Membership-Indication' = []}). + +-record('diameter_3gpp_charging_UWAN-User-Location-Info', + {'UE-Local-IP-Address', + 'UDP-Source-Port' = [], + 'BSSID' = []}). + +-record('diameter_3gpp_charging_Variable-Part', + {'Variable-Part-Type', + 'Variable-Part-Value', + 'Variable-Part-Order' = []}). + +-record('diameter_3gpp_charging_VCS-Information', + {'Bearer-Capability' = [], + 'Network-Call-Reference-Number' = [], + 'MSC-Address' = [], + 'Basic-Service-Code' = [], + 'ISUP-Location-Number' = [], + 'VLR-Number' = [], + 'Forwarding-Pending' = [], + 'ISUP-Cause' = [], + 'Start-Time' = [], + 'Start-of-Charging' = [], + 'Stop-Time' = [], + 'PS-Free-Format-Data' = []}). + +-record('diameter_3gpp_charging_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_3gpp_charging_Failed-AVP', + {'AVP' = []}). + +-record('diameter_3gpp_charging_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_3gpp_charging_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record(diameter_3gpp_charging_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + +-record('diameter_3gpp_charging_Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('diameter_3gpp_charging_Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('diameter_3gpp_charging_Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('diameter_3gpp_charging_G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('diameter_3gpp_charging_Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('diameter_3gpp_charging_Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('diameter_3gpp_charging_Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('diameter_3gpp_charging_Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('diameter_3gpp_charging_User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + +-record('diameter_3gpp_charging_Access-Network-Charging-Identifier-Gx', + {'Access-Network-Charging-Identifier-Value', + 'Charging-Rule-Base-Name' = [], + 'Charging-Rule-Name' = [], + 'IP-CAN-Session-Charging-Scope' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Allocation-Retention-Priority', + {'Priority-Level', + 'Pre-emption-Capability' = [], + 'Pre-emption-Vulnerability' = []}). + +-record('diameter_3gpp_charging_Application-Detection-Information', + {'TDF-Application-Identifier', + 'TDF-Application-Instance-Identifier' = [], + 'Flow-Information' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Definition', + {'Charging-Rule-Name', + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'Flow-Information' = [], + 'TDF-Application-Identifier' = [], + 'Flow-Status' = [], + 'QoS-Information' = [], + 'PS-to-CS-Session-Continuity' = [], + 'Reporting-Level' = [], + 'Online' = [], + 'Offline' = [], + 'Metering-Method' = [], + 'Precedence' = [], + 'AF-Charging-Identifier' = [], + 'Flows' = [], + 'Monitoring-Key' = [], + 'Redirect-Information' = [], + 'Mute-Notification' = [], + 'AF-Signalling-Protocol' = [], + 'Sponsor-Identity' = [], + 'Application-Service-Provider-Identity' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Install', + {'Charging-Rule-Definition' = [], + 'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'Rule-Activation-Time' = [], + 'Rule-Deactivation-Time' = [], + 'Resource-Allocation-Notification' = [], + 'Charging-Correlation-Indicator' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Remove', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Required-Access-Info' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Charging-Rule-Report', + {'Charging-Rule-Name' = [], + 'Charging-Rule-Base-Name' = [], + 'Bearer-Identifier' = [], + 'PCC-Rule-Status' = [], + 'Rule-Failure-Code' = [], + 'Final-Unit-Indication' = [], + 'RAN-NAS-Release-Cause' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_CoA-Information', + {'Tunnel-Information', 'CoA-IP-Address', 'AVP' = []}). + +-record('diameter_3gpp_charging_Conditional-APN-Aggregate-Max-Bitrate', + {'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'IP-CAN-Type' = [], + 'RAT-Type' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Default-EPS-Bearer-QoS', + {'QoS-Class-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Default-QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Default-QoS-Name' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Event-Report-Indication', + {'Event-Trigger' = [], + 'IP-CAN-Type' = [], + 'AN-GW-Address' = [], + '3GPP-SGSN-Address' = [], + '3GPP-SGSN-IPv6-Address' = [], + '3GPP-SGSN-MCC-MNC' = [], + 'Framed-IP-Address' = [], + 'RAT-Type' = [], + 'RAI' = [], + '3GPP-User-Location-Info' = [], + '3GPP-MS-TimeZone' = [], + 'Routing-IP-Address' = [], + 'UE-Local-IP-Address' = [], + 'HeNB-Local-IP-Address' = [], + 'UDP-Source-Port' = [], + 'Presence-Reporting-Area-Information' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Fixed-User-Location-Info', + {'Logical-Access-ID' = [], + 'Physical-Access-ID' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Flow-Information', + {'Flow-Description' = [], + 'Packet-Filter-Identifier' = [], + 'Packet-Filter-Usage' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Packet-Filter-Information', + {'Packet-Filter-Identifier' = [], + 'Precedence' = [], + 'Packet-Filter-Content' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Presence-Reporting-Area-Information', + {'Presence-Reporting-Area-Identifier' = [], + 'Presence-Reporting-Area-Status' = [], + 'Presence-Reporting-Area-Elements-List' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_QoS-Information', + {'QoS-Class-Identifier' = [], + 'Max-Requested-Bandwidth-UL' = [], + 'Max-Requested-Bandwidth-DL' = [], + 'Guaranteed-Bitrate-UL' = [], + 'Guaranteed-Bitrate-DL' = [], + 'Bearer-Identifier' = [], + 'Allocation-Retention-Priority' = [], + 'APN-Aggregate-Max-Bitrate-UL' = [], + 'APN-Aggregate-Max-Bitrate-DL' = [], + 'Conditional-APN-Aggregate-Max-Bitrate' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Redirect-Information', + {'Redirect-Support' = [], + 'Redirect-Address-Type' = [], + 'Redirect-Server-Address' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Filter', + {'Flow-Description', + 'Flow-Direction', + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Rule-Definition', + {'Routing-Rule-Identifier', + 'Routing-Filter' = [], + 'Precedence' = [], + 'Routing-IP-Address' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Rule-Install', + {'Routing-Rule-Definition' = [], 'AVP' = []}). + +-record('diameter_3gpp_charging_Routing-Rule-Remove', + {'Routing-Rule-Identifier' = [], 'AVP' = []}). + +-record('diameter_3gpp_charging_TDF-Information', + {'TDF-Destination-Realm' = [], + 'TDF-Destination-Host' = [], + 'TDF-IP-Address' = []}). + +-record('diameter_3gpp_charging_Tunnel-Information', + {'Tunnel-Header-Length' = [], + 'Tunnel-Header-Filter' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_TFT-Packet-Filter-Information', + {'Precedence' = [], + 'TFT-Filter' = [], + 'ToS-Traffic-Class' = [], + 'Security-Parameter-Index' = [], + 'Flow-Label' = [], + 'Flow-Direction' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Usage-Monitoring-Information', + {'Monitoring-Key' = [], + 'Granted-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Usage-Monitoring-Level' = [], + 'Usage-Monitoring-Report' = [], + 'Usage-Monitoring-Support' = [], + 'AVP' = []}). + +-record(diameter_3gpp_charging_Flows, + {'Media-Component-Number', + 'Flow-Number' = [], + 'Final-Unit-Action' = []}). + +-record('diameter_3gpp_charging_Charging-Information', + {'Primary-Event-Charging-Function-Name' = [], + 'Secondary-Event-Charging-Function-Name' = [], + 'Primary-Charging-Collection-Function-Name' = [], + 'Secondary-Charging-Collection-Function-Name' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Supported-Features', + {'Vendor-Id', + 'Feature-List-ID', + 'Feature-List', + 'AVP' = []}). + +-record('diameter_3gpp_charging_Supported-Applications', + {'Auth-Application-Id' = [], + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_SIP-Auth-Data-Item', + {'SIP-Item-Number' = [], + 'SIP-Authentication-Scheme' = [], + 'SIP-Authenticate' = [], + 'SIP-Authorization' = [], + 'SIP-Authentication-Context' = [], + 'Confidentiality-Key' = [], + 'Integrity-Key' = [], + 'SIP-Digest-Authenticate' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Line-Identifier' = [], + 'AVP' = []}). + +-record('diameter_3gpp_charging_Deregistration-Reason', + {'Reason-Code', 'Reason-Info' = [], 'AVP' = []}). + +-record('diameter_3gpp_charging_SIP-Digest-Authenticate', + {'Digest-Realm', + 'Digest-QoP', + 'Digest-HA1', + 'Digest-Algorithm' = [], + 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_3gpp_ts32_299. + +id() -> 0. + +vendor_id() -> 10415. + +vendor_name() -> '3GPP'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Access-Network-Info-Change') -> + 'diameter_3gpp_charging_Access-Network-Info-Change'; +name2rec('Access-Transfer-Information') -> + 'diameter_3gpp_charging_Access-Transfer-Information'; +name2rec('Accumulated-Cost') -> + 'diameter_3gpp_charging_Accumulated-Cost'; +name2rec('Additional-Content-Information') -> + 'diameter_3gpp_charging_Additional-Content-Information'; +name2rec('Address-Domain') -> + 'diameter_3gpp_charging_Address-Domain'; +name2rec('AF-Correlation-Information') -> + 'diameter_3gpp_charging_AF-Correlation-Information'; +name2rec('Announcement-Information') -> + 'diameter_3gpp_charging_Announcement-Information'; +name2rec('AoC-Cost-Information') -> + 'diameter_3gpp_charging_AoC-Cost-Information'; +name2rec('AoC-Information') -> + 'diameter_3gpp_charging_AoC-Information'; +name2rec('AoC-Service') -> + 'diameter_3gpp_charging_AoC-Service'; +name2rec('AoC-Subscription-Information') -> + 'diameter_3gpp_charging_AoC-Subscription-Information'; +name2rec('APN-Rate-Control') -> + 'diameter_3gpp_charging_APN-Rate-Control'; +name2rec('APN-Rate-Control-Downlink') -> + 'diameter_3gpp_charging_APN-Rate-Control-Downlink'; +name2rec('APN-Rate-Control-Uplink') -> + 'diameter_3gpp_charging_APN-Rate-Control-Uplink'; +name2rec('Application-Server-Information') -> + 'diameter_3gpp_charging_Application-Server-Information'; +name2rec('Basic-Service-Code') -> + 'diameter_3gpp_charging_Basic-Service-Code'; +name2rec('Called-Identity-Change') -> + 'diameter_3gpp_charging_Called-Identity-Change'; +name2rec('Coverage-Info') -> + 'diameter_3gpp_charging_Coverage-Info'; +name2rec('CPDT-Information') -> + 'diameter_3gpp_charging_CPDT-Information'; +name2rec('Current-Tariff') -> + 'diameter_3gpp_charging_Current-Tariff'; +name2rec('Destination-Interface') -> + 'diameter_3gpp_charging_Destination-Interface'; +name2rec('Early-Media-Description') -> + 'diameter_3gpp_charging_Early-Media-Description'; +name2rec('Enhanced-Diagnostics') -> + 'diameter_3gpp_charging_Enhanced-Diagnostics'; +name2rec('Envelope') -> diameter_3gpp_charging_Envelope; +name2rec('Event-Type') -> + 'diameter_3gpp_charging_Event-Type'; +name2rec('Incremental-Cost') -> + 'diameter_3gpp_charging_Incremental-Cost'; +name2rec('IMS-Information') -> + 'diameter_3gpp_charging_IMS-Information'; +name2rec('Inter-Operator-Identifier') -> + 'diameter_3gpp_charging_Inter-Operator-Identifier'; +name2rec('ISUP-Cause') -> + 'diameter_3gpp_charging_ISUP-Cause'; +name2rec('LCS-Client-ID') -> + 'diameter_3gpp_charging_LCS-Client-ID'; +name2rec('LCS-Client-Name') -> + 'diameter_3gpp_charging_LCS-Client-Name'; +name2rec('LCS-Information') -> + 'diameter_3gpp_charging_LCS-Information'; +name2rec('LCS-Requestor-ID') -> + 'diameter_3gpp_charging_LCS-Requestor-ID'; +name2rec('Location-Info') -> + 'diameter_3gpp_charging_Location-Info'; +name2rec('Location-Type') -> + 'diameter_3gpp_charging_Location-Type'; +name2rec('MBMS-Information') -> + 'diameter_3gpp_charging_MBMS-Information'; +name2rec('Message-Body') -> + 'diameter_3gpp_charging_Message-Body'; +name2rec('Message-Class') -> + 'diameter_3gpp_charging_Message-Class'; +name2rec('MM-Content-Type') -> + 'diameter_3gpp_charging_MM-Content-Type'; +name2rec('MMS-Information') -> + 'diameter_3gpp_charging_MMS-Information'; +name2rec('MMTel-Information') -> + 'diameter_3gpp_charging_MMTel-Information'; +name2rec('Monitoring-Event-Information') -> + 'diameter_3gpp_charging_Monitoring-Event-Information'; +name2rec('Monitoring-Event-Report-Data') -> + 'diameter_3gpp_charging_Monitoring-Event-Report-Data'; +name2rec('Next-Tariff') -> + 'diameter_3gpp_charging_Next-Tariff'; +name2rec('NIDD-Submission') -> + 'diameter_3gpp_charging_NIDD-Submission'; +name2rec('NNI-Information') -> + 'diameter_3gpp_charging_NNI-Information'; +name2rec('Offline-Charging') -> + 'diameter_3gpp_charging_Offline-Charging'; +name2rec('Originator-Address') -> + 'diameter_3gpp_charging_Originator-Address'; +name2rec('Originator-Interface') -> + 'diameter_3gpp_charging_Originator-Interface'; +name2rec('Originator-Received-Address') -> + 'diameter_3gpp_charging_Originator-Received-Address'; +name2rec('Participant-Group') -> + 'diameter_3gpp_charging_Participant-Group'; +name2rec('PoC-Information') -> + 'diameter_3gpp_charging_PoC-Information'; +name2rec('PoC-User-Role') -> + 'diameter_3gpp_charging_PoC-User-Role'; +name2rec('ProSe-Direct-Communication-Reception-Data-Container') -> + 'diameter_3gpp_charging_ProSe-Direct-Communication-Reception-Data-Container'; +name2rec('ProSe-Direct-Communication-Transmission-Data-Container') -> + 'diameter_3gpp_charging_ProSe-Direct-Communication-Transmission-Data-Container'; +name2rec('ProSe-Information') -> + 'diameter_3gpp_charging_ProSe-Information'; +name2rec('PS-Furnish-Charging-Information') -> + 'diameter_3gpp_charging_PS-Furnish-Charging-Information'; +name2rec('PS-Information') -> + 'diameter_3gpp_charging_PS-Information'; +name2rec('Radio-Parameter-Set-Info') -> + 'diameter_3gpp_charging_Radio-Parameter-Set-Info'; +name2rec('RAN-Secondary-RAT-Usage-Report') -> + 'diameter_3gpp_charging_RAN-Secondary-RAT-Usage-Report'; +name2rec('Rate-Element') -> + 'diameter_3gpp_charging_Rate-Element'; +name2rec('Real-Time-Tariff-Information') -> + 'diameter_3gpp_charging_Real-Time-Tariff-Information'; +name2rec('Recipient-Address') -> + 'diameter_3gpp_charging_Recipient-Address'; +name2rec('Recipient-Info') -> + 'diameter_3gpp_charging_Recipient-Info'; +name2rec('Recipient-Received-Address') -> + 'diameter_3gpp_charging_Recipient-Received-Address'; +name2rec('Related-Change-Condition-Information') -> + 'diameter_3gpp_charging_Related-Change-Condition-Information'; +name2rec('Related-Trigger') -> + 'diameter_3gpp_charging_Related-Trigger'; +name2rec('Remaining-Balance') -> + 'diameter_3gpp_charging_Remaining-Balance'; +name2rec('Scale-Factor') -> + 'diameter_3gpp_charging_Scale-Factor'; +name2rec('SCS-AS-Address') -> + 'diameter_3gpp_charging_SCS-AS-Address'; +name2rec('SDP-Media-Component') -> + 'diameter_3gpp_charging_SDP-Media-Component'; +name2rec('SDP-TimeStamps') -> + 'diameter_3gpp_charging_SDP-TimeStamps'; +name2rec('Service-Data-Container') -> + 'diameter_3gpp_charging_Service-Data-Container'; +name2rec('Service-Information') -> + 'diameter_3gpp_charging_Service-Information'; +name2rec('Service-Specific-Info') -> + 'diameter_3gpp_charging_Service-Specific-Info'; +name2rec('SM-Device-Trigger-Information') -> + 'diameter_3gpp_charging_SM-Device-Trigger-Information'; +name2rec('SMS-Information') -> + 'diameter_3gpp_charging_SMS-Information'; +name2rec('Supplementary-Service') -> + 'diameter_3gpp_charging_Supplementary-Service'; +name2rec('Talk-Burst-Exchange') -> + 'diameter_3gpp_charging_Talk-Burst-Exchange'; +name2rec('Tariff-Information') -> + 'diameter_3gpp_charging_Tariff-Information'; +name2rec('Time-Quota-Mechanism') -> + 'diameter_3gpp_charging_Time-Quota-Mechanism'; +name2rec('Time-Stamps') -> + 'diameter_3gpp_charging_Time-Stamps'; +name2rec('Traffic-Data-Volumes') -> + 'diameter_3gpp_charging_Traffic-Data-Volumes'; +name2rec('Transmitter-Info') -> + 'diameter_3gpp_charging_Transmitter-Info'; +name2rec('Trigger') -> diameter_3gpp_charging_Trigger; +name2rec('Trunk-Group-Id') -> + 'diameter_3gpp_charging_Trunk-Group-Id'; +name2rec('TWAN-User-Location-Info') -> + 'diameter_3gpp_charging_TWAN-User-Location-Info'; +name2rec('Unit-Cost') -> + 'diameter_3gpp_charging_Unit-Cost'; +name2rec('User-CSG-Information') -> + 'diameter_3gpp_charging_User-CSG-Information'; +name2rec('UWAN-User-Location-Info') -> + 'diameter_3gpp_charging_UWAN-User-Location-Info'; +name2rec('Variable-Part') -> + 'diameter_3gpp_charging_Variable-Part'; +name2rec('VCS-Information') -> + 'diameter_3gpp_charging_VCS-Information'; +name2rec('Proxy-Info') -> + 'diameter_3gpp_charging_Proxy-Info'; +name2rec('Failed-AVP') -> + 'diameter_3gpp_charging_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_3gpp_charging_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_3gpp_charging_Vendor-Specific-Application-Id'; +name2rec('Tunneling') -> + diameter_3gpp_charging_Tunneling; +name2rec('Cost-Information') -> + 'diameter_3gpp_charging_Cost-Information'; +name2rec('Unit-Value') -> + 'diameter_3gpp_charging_Unit-Value'; +name2rec('Multiple-Services-Credit-Control') -> + 'diameter_3gpp_charging_Multiple-Services-Credit-Control'; +name2rec('Granted-Service-Unit') -> + 'diameter_3gpp_charging_Granted-Service-Unit'; +name2rec('Requested-Service-Unit') -> + 'diameter_3gpp_charging_Requested-Service-Unit'; +name2rec('Used-Service-Unit') -> + 'diameter_3gpp_charging_Used-Service-Unit'; +name2rec('CC-Money') -> + 'diameter_3gpp_charging_CC-Money'; +name2rec('G-S-U-Pool-Reference') -> + 'diameter_3gpp_charging_G-S-U-Pool-Reference'; +name2rec('Final-Unit-Indication') -> + 'diameter_3gpp_charging_Final-Unit-Indication'; +name2rec('Redirect-Server') -> + 'diameter_3gpp_charging_Redirect-Server'; +name2rec('Service-Parameter-Info') -> + 'diameter_3gpp_charging_Service-Parameter-Info'; +name2rec('Subscription-Id') -> + 'diameter_3gpp_charging_Subscription-Id'; +name2rec('User-Equipment-Info') -> + 'diameter_3gpp_charging_User-Equipment-Info'; +name2rec('Access-Network-Charging-Identifier-Gx') -> + 'diameter_3gpp_charging_Access-Network-Charging-Identifier-Gx'; +name2rec('Allocation-Retention-Priority') -> + 'diameter_3gpp_charging_Allocation-Retention-Priority'; +name2rec('Application-Detection-Information') -> + 'diameter_3gpp_charging_Application-Detection-Information'; +name2rec('Charging-Rule-Definition') -> + 'diameter_3gpp_charging_Charging-Rule-Definition'; +name2rec('Charging-Rule-Install') -> + 'diameter_3gpp_charging_Charging-Rule-Install'; +name2rec('Charging-Rule-Remove') -> + 'diameter_3gpp_charging_Charging-Rule-Remove'; +name2rec('Charging-Rule-Report') -> + 'diameter_3gpp_charging_Charging-Rule-Report'; +name2rec('CoA-Information') -> + 'diameter_3gpp_charging_CoA-Information'; +name2rec('Conditional-APN-Aggregate-Max-Bitrate') -> + 'diameter_3gpp_charging_Conditional-APN-Aggregate-Max-Bitrate'; +name2rec('Default-EPS-Bearer-QoS') -> + 'diameter_3gpp_charging_Default-EPS-Bearer-QoS'; +name2rec('Default-QoS-Information') -> + 'diameter_3gpp_charging_Default-QoS-Information'; +name2rec('Event-Report-Indication') -> + 'diameter_3gpp_charging_Event-Report-Indication'; +name2rec('Fixed-User-Location-Info') -> + 'diameter_3gpp_charging_Fixed-User-Location-Info'; +name2rec('Flow-Information') -> + 'diameter_3gpp_charging_Flow-Information'; +name2rec('Packet-Filter-Information') -> + 'diameter_3gpp_charging_Packet-Filter-Information'; +name2rec('Presence-Reporting-Area-Information') -> + 'diameter_3gpp_charging_Presence-Reporting-Area-Information'; +name2rec('QoS-Information') -> + 'diameter_3gpp_charging_QoS-Information'; +name2rec('Redirect-Information') -> + 'diameter_3gpp_charging_Redirect-Information'; +name2rec('Routing-Filter') -> + 'diameter_3gpp_charging_Routing-Filter'; +name2rec('Routing-Rule-Definition') -> + 'diameter_3gpp_charging_Routing-Rule-Definition'; +name2rec('Routing-Rule-Install') -> + 'diameter_3gpp_charging_Routing-Rule-Install'; +name2rec('Routing-Rule-Remove') -> + 'diameter_3gpp_charging_Routing-Rule-Remove'; +name2rec('TDF-Information') -> + 'diameter_3gpp_charging_TDF-Information'; +name2rec('Tunnel-Information') -> + 'diameter_3gpp_charging_Tunnel-Information'; +name2rec('TFT-Packet-Filter-Information') -> + 'diameter_3gpp_charging_TFT-Packet-Filter-Information'; +name2rec('Usage-Monitoring-Information') -> + 'diameter_3gpp_charging_Usage-Monitoring-Information'; +name2rec('Flows') -> diameter_3gpp_charging_Flows; +name2rec('Charging-Information') -> + 'diameter_3gpp_charging_Charging-Information'; +name2rec('Supported-Features') -> + 'diameter_3gpp_charging_Supported-Features'; +name2rec('Supported-Applications') -> + 'diameter_3gpp_charging_Supported-Applications'; +name2rec('SIP-Auth-Data-Item') -> + 'diameter_3gpp_charging_SIP-Auth-Data-Item'; +name2rec('Deregistration-Reason') -> + 'diameter_3gpp_charging_Deregistration-Reason'; +name2rec('SIP-Digest-Authenticate') -> + 'diameter_3gpp_charging_SIP-Digest-Authenticate'; +name2rec(T) -> msg2rec(T). + +avp_name(4406, 10415) -> + {'3GPP-PS-Data-Off-Status', 'Enumerated'}; +avp_name(1276, 10415) -> + {'AF-Correlation-Information', 'Grouped'}; +avp_name(3933, 10415) -> + {'APN-Rate-Control', 'Grouped'}; +avp_name(3934, 10415) -> + {'APN-Rate-Control-Downlink', 'Grouped'}; +avp_name(3935, 10415) -> + {'APN-Rate-Control-Uplink', 'Grouped'}; +avp_name(4401, 10415) -> + {'Access-Network-Info-Change', 'Grouped'}; +avp_name(1263, 10415) -> + {'Access-Network-Information', 'OctetString'}; +avp_name(2709, 10415) -> + {'Access-Transfer-Information', 'Grouped'}; +avp_name(2710, 10415) -> + {'Access-Transfer-Type', 'Enumerated'}; +avp_name(2309, 10415) -> {'Account-Expiration', 'Time'}; +avp_name(2052, 10415) -> + {'Accumulated-Cost', 'Grouped'}; +avp_name(1217, 10415) -> {'Adaptations', 'Enumerated'}; +avp_name(1207, 10415) -> + {'Additional-Content-Information', 'Grouped'}; +avp_name(3936, 10415) -> + {'Additional-Exception-Reports', 'Enumerated'}; +avp_name(1205, 10415) -> + {'Additional-Type-Information', 'UTF8String'}; +avp_name(897, 10415) -> {'Address-Data', 'UTF8String'}; +avp_name(898, 10415) -> {'Address-Domain', 'Grouped'}; +avp_name(899, 10415) -> {'Address-Type', 'Enumerated'}; +avp_name(1208, 10415) -> + {'Addressee-Type', 'Enumerated'}; +avp_name(1280, 10415) -> + {'Alternate-Charged-Party-Address', 'UTF8String'}; +avp_name(3905, 10415) -> + {'Announcement-Identifier', 'Unsigned32'}; +avp_name(3904, 10415) -> + {'Announcement-Information', 'Grouped'}; +avp_name(3906, 10415) -> + {'Announcement-Order', 'Unsigned32'}; +avp_name(4408, 10415) -> + {'Announcing-PLMN-ID', 'UTF8String'}; +avp_name(3426, 10415) -> + {'Announcing-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3427, 10415) -> + {'Announcing-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(2053, 10415) -> + {'AoC-Cost-Information', 'Grouped'}; +avp_name(2310, 10415) -> {'AoC-Format', 'Enumerated'}; +avp_name(2054, 10415) -> {'AoC-Information', 'Grouped'}; +avp_name(2055, 10415) -> + {'AoC-Request-Type', 'Enumerated'}; +avp_name(2311, 10415) -> {'AoC-Service', 'Grouped'}; +avp_name(2312, 10415) -> + {'AoC-Service-Obligatory-Type', 'Enumerated'}; +avp_name(2313, 10415) -> + {'AoC-Service-Type', 'Enumerated'}; +avp_name(2314, 10415) -> + {'AoC-Subscription-Information', 'Grouped'}; +avp_name(1218, 10415) -> {'Applic-ID', 'UTF8String'}; +avp_name(837, 10415) -> + {'Application-Provided-Called-Party-Address', + 'UTF8String'}; +avp_name(836, 10415) -> + {'Application-Server', 'UTF8String'}; +avp_name(850, 10415) -> + {'Application-Server-Information', 'Grouped'}; +avp_name(3458, 10415) -> + {'Application-Specific-Data', 'OctetString'}; +avp_name(2035, 10415) -> + {'Associated-Party-Address', 'UTF8String'}; +avp_name(856, 10415) -> + {'Associated-URI', 'UTF8String'}; +avp_name(849, 10415) -> + {'Authorised-QoS', 'UTF8String'}; +avp_name(1219, 10415) -> + {'Aux-Applic-Info', 'UTF8String'}; +avp_name(2716, 10415) -> {'BSSID', 'UTF8String'}; +avp_name(1265, 10415) -> + {'Base-Time-Interval', 'Unsigned32'}; +avp_name(3411, 10415) -> + {'Basic-Service-Code', 'Grouped'}; +avp_name(3412, 10415) -> + {'Bearer-Capability', 'OctetString'}; +avp_name(854, 10415) -> + {'Bearer-Service', 'OctetString'}; +avp_name(846, 10415) -> {'CG-Address', 'Address'}; +avp_name(3421, 10415) -> + {'CN-Operator-Selection-Entity', 'Enumerated'}; +avp_name(3930, 10415) -> + {'CP-CIoT-EPS-Optimisation-Indicator', 'Enumerated'}; +avp_name(3927, 10415) -> + {'CPDT-Information', 'Grouped'}; +avp_name(2317, 10415) -> + {'CSG-Access-Mode', 'Enumerated'}; +avp_name(2318, 10415) -> + {'CSG-Membership-Indication', 'Enumerated'}; +avp_name(2304, 10415) -> + {'CUG-Information', 'OctetString'}; +avp_name(1250, 10415) -> + {'Called-Asserted-Identity', 'UTF8String'}; +avp_name(3916, 10415) -> + {'Called-Identity', 'UTF8String'}; +avp_name(3917, 10415) -> + {'Called-Identity-Change', 'Grouped'}; +avp_name(832, 10415) -> + {'Called-Party-Address', 'UTF8String'}; +avp_name(831, 10415) -> + {'Calling-Party-Address', 'UTF8String'}; +avp_name(2023, 10415) -> + {'Carrier-Select-Routing-Information', 'UTF8String'}; +avp_name(861, 10415) -> {'Cause-Code', 'Integer32'}; +avp_name(3924, 10415) -> + {'Cellular-Network-Information', 'OctetString'}; +avp_name(2037, 10415) -> + {'Change-Condition', 'Integer32'}; +avp_name(2038, 10415) -> {'Change-Time', 'Time'}; +avp_name(2118, 10415) -> + {'Charge-Reason-Code', 'Enumerated'}; +avp_name(857, 10415) -> {'Charged-Party', 'UTF8String'}; +avp_name(2066, 10415) -> + {'Charging-Characteristics-Selection-Mode', + 'Enumerated'}; +avp_name(4400, 10415) -> + {'Charging-Per-IP-CAN-Session-Indicator', 'Enumerated'}; +avp_name(1214, 10415) -> + {'Class-Identifier', 'Enumerated'}; +avp_name(2018, 10415) -> {'Client-Address', 'Address'}; +avp_name(1220, 10415) -> + {'Content-Class', 'Enumerated'}; +avp_name(828, 10415) -> + {'Content-Disposition', 'UTF8String'}; +avp_name(827, 10415) -> + {'Content-Length', 'Unsigned32'}; +avp_name(1206, 10415) -> {'Content-Size', 'Unsigned32'}; +avp_name(826, 10415) -> {'Content-Type', 'UTF8String'}; +avp_name(3459, 10415) -> {'Coverage-Info', 'Grouped'}; +avp_name(3428, 10415) -> + {'Coverage-Status', 'Enumerated'}; +avp_name(2056, 10415) -> {'Current-Tariff', 'Grouped'}; +avp_name(1221, 10415) -> {'DRM-Content', 'Enumerated'}; +avp_name(2001, 10415) -> + {'Data-Coding-Scheme', 'Integer32'}; +avp_name(1230, 10415) -> + {'Deferred-Location-Event-Type', 'UTF8String'}; +avp_name(1216, 10415) -> + {'Delivery-Report-Requested', 'Enumerated'}; +avp_name(2002, 10415) -> + {'Destination-Interface', 'Grouped'}; +avp_name(2039, 10415) -> {'Diagnostics', 'Integer32'}; +avp_name(4402, 10415) -> + {'Discoveree-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4403, 10415) -> + {'Discoveree-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(4404, 10415) -> + {'Discoverer-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(4405, 10415) -> + {'Discoverer-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(1200, 10415) -> {'Domain-Name', 'UTF8String'}; +avp_name(2051, 10415) -> + {'Dynamic-Address-Flag', 'Enumerated'}; +avp_name(2068, 10415) -> + {'Dynamic-Address-Flag-Extension', 'Enumerated'}; +avp_name(3425, 10415) -> {'EPDG-Address', 'Address'}; +avp_name(1272, 10415) -> + {'Early-Media-Description', 'Grouped'}; +avp_name(3901, 10415) -> + {'Enhanced-Diagnostics', 'Grouped'}; +avp_name(1266, 10415) -> {'Envelope', 'Grouped'}; +avp_name(1267, 10415) -> {'Envelope-End-Time', 'Time'}; +avp_name(1268, 10415) -> + {'Envelope-Reporting', 'Enumerated'}; +avp_name(1269, 10415) -> + {'Envelope-Start-Time', 'Time'}; +avp_name(825, 10415) -> {'Event', 'UTF8String'}; +avp_name(1258, 10415) -> + {'Event-Charging-TimeStamp', 'Time'}; +avp_name(823, 10415) -> {'Event-Type', 'Grouped'}; +avp_name(888, 10415) -> {'Expires', 'Unsigned32'}; +avp_name(4413, 10415) -> + {'FE-Identifier-List', 'UTF8String'}; +avp_name(1224, 10415) -> + {'File-Repair-Supported', 'Enumerated'}; +avp_name(3415, 10415) -> + {'Forwarding-Pending', 'Enumerated'}; +avp_name(2708, 10415) -> {'From-Address', 'UTF8String'}; +avp_name(847, 10415) -> {'GGSN-Address', 'Address'}; +avp_name(2601, 10415) -> + {'IMS-Application-Reference-Identifier', 'UTF8String'}; +avp_name(841, 10415) -> + {'IMS-Charging-Identifier', 'UTF8String'}; +avp_name(1281, 10415) -> + {'IMS-Communication-Service-Identifier', 'UTF8String'}; +avp_name(2322, 10415) -> + {'IMS-Emergency-Indicator', 'Enumerated'}; +avp_name(876, 10415) -> {'IMS-Information', 'Grouped'}; +avp_name(2713, 10415) -> + {'IMS-Visited-Network-Identifier', 'UTF8String'}; +avp_name(2308, 10415) -> + {'IMSI-Unauthenticated-Flag', 'Enumerated'}; +avp_name(2603, 10415) -> + {'IP-Realm-Default-Indication', 'Enumerated'}; +avp_name(3416, 10415) -> {'ISUP-Cause', 'Grouped'}; +avp_name(3422, 10415) -> + {'ISUP-Cause-Diagnostics', 'OctetString'}; +avp_name(3423, 10415) -> + {'ISUP-Cause-Location', 'Unsigned32'}; +avp_name(3424, 10415) -> + {'ISUP-Cause-Value', 'Unsigned32'}; +avp_name(3414, 10415) -> + {'ISUP-Location-Number', 'OctetString'}; +avp_name(852, 10415) -> + {'Incoming-Trunk-Group-Id', 'UTF8String'}; +avp_name(2062, 10415) -> + {'Incremental-Cost', 'Grouped'}; +avp_name(2321, 10415) -> + {'Initial-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(3402, 10415) -> {'Instance-Id', 'UTF8String'}; +avp_name(838, 10415) -> + {'Inter-Operator-Identifier', 'Grouped'}; +avp_name(3902, 10415) -> + {'Inter-UE-Transfer', 'Enumerated'}; +avp_name(2003, 10415) -> {'Interface-Id', 'UTF8String'}; +avp_name(2004, 10415) -> + {'Interface-Port', 'UTF8String'}; +avp_name(2005, 10415) -> + {'Interface-Text', 'UTF8String'}; +avp_name(2006, 10415) -> + {'Interface-Type', 'Enumerated'}; +avp_name(1231, 10415) -> {'LCS-APN', 'UTF8String'}; +avp_name(1233, 10415) -> + {'LCS-Client-Dialed-By-MS', 'UTF8String'}; +avp_name(1234, 10415) -> + {'LCS-Client-External-ID', 'UTF8String'}; +avp_name(1232, 10415) -> {'LCS-Client-ID', 'Grouped'}; +avp_name(1235, 10415) -> {'LCS-Client-Name', 'Grouped'}; +avp_name(1241, 10415) -> + {'LCS-Client-Type', 'Enumerated'}; +avp_name(1236, 10415) -> + {'LCS-Data-Coding-Scheme', 'UTF8String'}; +avp_name(1237, 10415) -> + {'LCS-Format-Indicator', 'Enumerated'}; +avp_name(878, 10415) -> {'LCS-Information', 'Grouped'}; +avp_name(1238, 10415) -> + {'LCS-Name-String', 'UTF8String'}; +avp_name(1239, 10415) -> + {'LCS-Requestor-ID', 'Grouped'}; +avp_name(1240, 10415) -> + {'LCS-Requestor-ID-String', 'UTF8String'}; +avp_name(3914, 10415) -> {'Language', 'UTF8String'}; +avp_name(3429, 10415) -> + {'Layer-2-Group-ID', 'OctetString'}; +avp_name(2604, 10415) -> + {'Local-GW-Inserted-Indication', 'Enumerated'}; +avp_name(2063, 10415) -> + {'Local-Sequence-Number', 'Unsigned32'}; +avp_name(1242, 10415) -> + {'Location-Estimate', 'OctetString'}; +avp_name(1243, 10415) -> + {'Location-Estimate-Type', 'Enumerated'}; +avp_name(3460, 10415) -> {'Location-Info', 'Grouped'}; +avp_name(1244, 10415) -> {'Location-Type', 'Grouped'}; +avp_name(2020, 10415) -> + {'Low-Balance-Indication', 'Enumerated'}; +avp_name(2602, 10415) -> + {'Low-Priority-Indicator', 'Enumerated'}; +avp_name(2323, 10415) -> + {'MBMS-Charged-Party', 'Enumerated'}; +avp_name(2307, 10415) -> {'MBMS-GW-Address', 'Address'}; +avp_name(880, 10415) -> {'MBMS-Information', 'Grouped'}; +avp_name(1225, 10415) -> + {'MBMS-User-Service-Type', 'Enumerated'}; +avp_name(1203, 10415) -> {'MM-Content-Type', 'Grouped'}; +avp_name(1248, 10415) -> + {'MMBox-Storage-Requested', 'Enumerated'}; +avp_name(877, 10415) -> {'MMS-Information', 'Grouped'}; +avp_name(2030, 10415) -> + {'MMTel-Information', 'Grouped'}; +avp_name(2031, 10415) -> + {'MMTel-SService-Type', 'Unsigned32'}; +avp_name(3417, 10415) -> {'MSC-Address', 'OctetString'}; +avp_name(3406, 10415) -> {'MTC-IWF-Address', 'Address'}; +avp_name(882, 10415) -> + {'Media-Initiator-Flag', 'Enumerated'}; +avp_name(1288, 10415) -> + {'Media-Initiator-Party', 'UTF8String'}; +avp_name(889, 10415) -> {'Message-Body', 'Grouped'}; +avp_name(1213, 10415) -> {'Message-Class', 'Grouped'}; +avp_name(1210, 10415) -> {'Message-ID', 'UTF8String'}; +avp_name(1212, 10415) -> {'Message-Size', 'Unsigned32'}; +avp_name(1211, 10415) -> {'Message-Type', 'Enumerated'}; +avp_name(3430, 10415) -> + {'Monitored-PLMN-Identifier', 'UTF8String'}; +avp_name(3919, 10415) -> + {'Monitoring-Event-Configuration-Activity', + 'Integer32'}; +avp_name(3922, 10415) -> + {'Monitoring-Event-Functionality', 'Integer32'}; +avp_name(3921, 10415) -> + {'Monitoring-Event-Information', 'Grouped'}; +avp_name(3920, 10415) -> + {'Monitoring-Event-Report-Data', 'Grouped'}; +avp_name(3923, 10415) -> + {'Monitoring-Event-Report-Number', 'Unsigned32'}; +avp_name(3431, 10415) -> + {'Monitoring-UE-HPLMN-Identifier', 'UTF8String'}; +avp_name(3432, 10415) -> + {'Monitoring-UE-Identifier', 'UTF8String'}; +avp_name(3433, 10415) -> + {'Monitoring-UE-VPLMN-Identifier', 'UTF8String'}; +avp_name(3928, 10415) -> {'NIDD-Submission', 'Grouped'}; +avp_name(2703, 10415) -> {'NNI-Information', 'Grouped'}; +avp_name(2704, 10415) -> {'NNI-Type', 'Enumerated'}; +avp_name(2705, 10415) -> + {'Neighbour-Node-Address', 'Address'}; +avp_name(3418, 10415) -> + {'Network-Call-Reference-Number', 'OctetString'}; +avp_name(2057, 10415) -> {'Next-Tariff', 'Grouped'}; +avp_name(862, 10415) -> + {'Node-Functionality', 'Enumerated'}; +avp_name(2064, 10415) -> {'Node-Id', 'UTF8String'}; +avp_name(2034, 10415) -> + {'Number-Of-Diversions', 'Unsigned32'}; +avp_name(2019, 10415) -> + {'Number-Of-Messages-Sent', 'Unsigned32'}; +avp_name(885, 10415) -> + {'Number-Of-Participants', 'Unsigned32'}; +avp_name(1282, 10415) -> + {'Number-Of-Received-Talk-Bursts', 'Unsigned32'}; +avp_name(1283, 10415) -> + {'Number-Of-Talk-Bursts', 'Unsigned32'}; +avp_name(2024, 10415) -> + {'Number-Portability-Routing-Information', + 'UTF8String'}; +avp_name(1278, 10415) -> + {'Offline-Charging', 'Grouped'}; +avp_name(2303, 10415) -> + {'Online-Charging-Flag', 'Enumerated'}; +avp_name(839, 10415) -> + {'Originating-IOI', 'UTF8String'}; +avp_name(864, 10415) -> {'Originator', 'Enumerated'}; +avp_name(886, 10415) -> + {'Originator-Address', 'Grouped'}; +avp_name(2009, 10415) -> + {'Originator-Interface', 'Grouped'}; +avp_name(2027, 10415) -> + {'Originator-Received-Address', 'Grouped'}; +avp_name(2008, 10415) -> + {'Originator-SCCP-Address', 'Address'}; +avp_name(2320, 10415) -> + {'Outgoing-Session-Id', 'UTF8String'}; +avp_name(853, 10415) -> + {'Outgoing-Trunk-Group-Id', 'UTF8String'}; +avp_name(3434, 10415) -> + {'PC3-Control-Protocol-Cause', 'Integer32'}; +avp_name(3435, 10415) -> + {'PC3-EPC-Control-Protocol-Cause', 'Integer32'}; +avp_name(1300, 10415) -> + {'PC5-Radio-Technology', 'Enumerated'}; +avp_name(2050, 10415) -> + {'PDN-Connection-Charging-ID', 'Unsigned32'}; +avp_name(1227, 10415) -> {'PDP-Address', 'Address'}; +avp_name(2606, 10415) -> + {'PDP-Address-Prefix-Length', 'Unsigned32'}; +avp_name(1247, 10415) -> + {'PDP-Context-Type', 'Enumerated'}; +avp_name(867, 10415) -> + {'PS-Append-Free-Format-Data', 'Enumerated'}; +avp_name(866, 10415) -> + {'PS-Free-Format-Data', 'OctetString'}; +avp_name(865, 10415) -> + {'PS-Furnish-Charging-Information', 'Grouped'}; +avp_name(874, 10415) -> {'PS-Information', 'Grouped'}; +avp_name(1259, 10415) -> + {'Participant-Access-Priority', 'Enumerated'}; +avp_name(2049, 10415) -> + {'Participant-Action-Type', 'Enumerated'}; +avp_name(1260, 10415) -> + {'Participant-Group', 'Grouped'}; +avp_name(887, 10415) -> + {'Participants-Involved', 'UTF8String'}; +avp_name(3913, 10415) -> + {'Play-Alternative', 'Enumerated'}; +avp_name(1261, 10415) -> + {'PoC-Change-Condition', 'Enumerated'}; +avp_name(1262, 10415) -> {'PoC-Change-Time', 'Time'}; +avp_name(858, 10415) -> + {'PoC-Controlling-Address', 'UTF8String'}; +avp_name(2025, 10415) -> + {'PoC-Event-Type', 'Enumerated'}; +avp_name(859, 10415) -> + {'PoC-Group-Name', 'UTF8String'}; +avp_name(879, 10415) -> {'PoC-Information', 'Grouped'}; +avp_name(883, 10415) -> + {'PoC-Server-Role', 'Enumerated'}; +avp_name(1229, 10415) -> + {'PoC-Session-Id', 'UTF8String'}; +avp_name(1277, 10415) -> + {'PoC-Session-Initiation-Type', 'Enumerated'}; +avp_name(884, 10415) -> + {'PoC-Session-Type', 'Enumerated'}; +avp_name(1252, 10415) -> {'PoC-User-Role', 'Grouped'}; +avp_name(1253, 10415) -> + {'PoC-User-Role-IDs', 'UTF8String'}; +avp_name(1254, 10415) -> + {'PoC-User-Role-Info-Units', 'Enumerated'}; +avp_name(1245, 10415) -> + {'Positioning-Data', 'UTF8String'}; +avp_name(2315, 10415) -> + {'Preferred-AoC-Currency', 'Unsigned32'}; +avp_name(1209, 10415) -> {'Priority', 'Enumerated'}; +avp_name(3915, 10415) -> + {'Privacy-Indicator', 'Enumerated'}; +avp_name(3440, 10415) -> + {'ProSe-3rd-Party-Application-ID', 'UTF8String'}; +avp_name(3461, 10415) -> + {'ProSe-Direct-Communication-Reception-Data-Container', + 'Grouped'}; +avp_name(3441, 10415) -> + {'ProSe-Direct-Communication-Transmission-Data-Container', + 'Grouped'}; +avp_name(3442, 10415) -> + {'ProSe-Direct-Discovery-Model', 'Enumerated'}; +avp_name(3443, 10415) -> + {'ProSe-Event-Type', 'Enumerated'}; +avp_name(3444, 10415) -> + {'ProSe-Function-IP-Address', 'Address'}; +avp_name(3457, 10415) -> + {'ProSe-Function-PLMN-Identifier', 'UTF8String'}; +avp_name(3445, 10415) -> + {'ProSe-Functionality', 'Enumerated'}; +avp_name(3446, 10415) -> + {'ProSe-Group-IP-Multicast-Address', 'Address'}; +avp_name(3447, 10415) -> + {'ProSe-Information', 'Grouped'}; +avp_name(3448, 10415) -> + {'ProSe-Range-Class', 'Enumerated'}; +avp_name(3449, 10415) -> + {'ProSe-Reason-For-Cancellation', 'Enumerated'}; +avp_name(3450, 10415) -> + {'ProSe-Request-Timestamp', 'Time'}; +avp_name(3451, 10415) -> + {'ProSe-Role-Of-UE', 'Enumerated'}; +avp_name(3452, 10415) -> + {'ProSe-Source-IP-Address', 'Address'}; +avp_name(4410, 10415) -> + {'ProSe-Target-Layer-2-ID', 'OctetString'}; +avp_name(3453, 10415) -> {'ProSe-UE-ID', 'OctetString'}; +avp_name(4409, 10415) -> + {'ProSe-UE-to-Network-Relay-UE-ID', 'OctetString'}; +avp_name(3454, 10415) -> + {'Proximity-Alert-Indication', 'Enumerated'}; +avp_name(3455, 10415) -> + {'Proximity-Alert-Timestamp', 'Time'}; +avp_name(3456, 10415) -> + {'Proximity-Cancellation-Timestamp', 'Time'}; +avp_name(881, 10415) -> + {'Quota-Consumption-Time', 'Unsigned32'}; +avp_name(871, 10415) -> + {'Quota-Holding-Time', 'Unsigned32'}; +avp_name(3912, 10415) -> + {'Quota-Indicator', 'Enumerated'}; +avp_name(1301, 10415) -> {'RAN-End-Time', 'Time'}; +avp_name(1302, 10415) -> + {'RAN-Secondary-RAT-Usage-Report', 'Grouped'}; +avp_name(1303, 10415) -> {'RAN-Start-Time', 'Time'}; +avp_name(3462, 10415) -> + {'Radio-Frequency', 'OctetString'}; +avp_name(3463, 10415) -> + {'Radio-Parameter-Set-Info', 'Grouped'}; +avp_name(3464, 10415) -> + {'Radio-Parameter-Set-Values', 'OctetString'}; +avp_name(3465, 10415) -> + {'Radio-Resources-Indicator', 'Integer32'}; +avp_name(3937, 10415) -> + {'Rate-Control-Max-Message-Size', 'Unsigned32'}; +avp_name(3938, 10415) -> + {'Rate-Control-Max-Rate', 'Unsigned32'}; +avp_name(3939, 10415) -> + {'Rate-Control-Time-Unit', 'Unsigned32'}; +avp_name(2058, 10415) -> {'Rate-Element', 'Grouped'}; +avp_name(1222, 10415) -> + {'Read-Reply-Report-Requested', 'Enumerated'}; +avp_name(2305, 10415) -> + {'Real-Time-Tariff-Information', 'Grouped'}; +avp_name(3401, 10415) -> + {'Reason-Header', 'UTF8String'}; +avp_name(1284, 10415) -> + {'Received-Talk-Burst-Time', 'Unsigned32'}; +avp_name(1285, 10415) -> + {'Received-Talk-Burst-Volume', 'Unsigned32'}; +avp_name(1201, 10415) -> + {'Recipient-Address', 'Grouped'}; +avp_name(2026, 10415) -> {'Recipient-Info', 'Grouped'}; +avp_name(2028, 10415) -> + {'Recipient-Received-Address', 'Grouped'}; +avp_name(2010, 10415) -> + {'Recipient-SCCP-Address', 'Address'}; +avp_name(2022, 10415) -> + {'Refund-Information', 'OctetString'}; +avp_name(3925, 10415) -> + {'Related-Change-Condition-Information', 'Grouped'}; +avp_name(2711, 10415) -> + {'Related-IMS-Charging-Identifier', 'UTF8String'}; +avp_name(2712, 10415) -> + {'Related-IMS-Charging-Identifier-Node', 'Address'}; +avp_name(3926, 10415) -> {'Related-Trigger', 'Grouped'}; +avp_name(2706, 10415) -> + {'Relationship-Mode', 'Enumerated'}; +avp_name(4411, 10415) -> + {'Relay-IP-address', 'Address'}; +avp_name(2021, 10415) -> + {'Remaining-Balance', 'Grouped'}; +avp_name(1223, 10415) -> + {'Reply-Applic-ID', 'UTF8String'}; +avp_name(2011, 10415) -> + {'Reply-Path-Requested', 'Enumerated'}; +avp_name(872, 10415) -> + {'Reporting-Reason', 'Enumerated'}; +avp_name(3436, 10415) -> + {'Requested-PLMN-Identifier', 'UTF8String'}; +avp_name(1251, 10415) -> + {'Requested-Party-Address', 'UTF8String'}; +avp_name(3437, 10415) -> + {'Requestor-PLMN-Identifier', 'UTF8String'}; +avp_name(829, 10415) -> {'Role-Of-Node', 'Enumerated'}; +avp_name(3438, 10415) -> + {'Role-Of-ProSe-Function', 'Enumerated'}; +avp_name(3403, 10415) -> + {'Route-Header-Received', 'UTF8String'}; +avp_name(3404, 10415) -> + {'Route-Header-Transmitted', 'UTF8String'}; +avp_name(3940, 10415) -> {'SCS-AS-Address', 'Grouped'}; +avp_name(3941, 10415) -> {'SCS-Address', 'Address'}; +avp_name(3942, 10415) -> + {'SCS-Realm', 'DiameterIdentity'}; +avp_name(1275, 10415) -> + {'SDP-Answer-Timestamp', 'Time'}; +avp_name(843, 10415) -> + {'SDP-Media-Component', 'Grouped'}; +avp_name(845, 10415) -> + {'SDP-Media-Description', 'UTF8String'}; +avp_name(844, 10415) -> + {'SDP-Media-Name', 'UTF8String'}; +avp_name(1274, 10415) -> + {'SDP-Offer-Timestamp', 'Time'}; +avp_name(842, 10415) -> + {'SDP-Session-Description', 'UTF8String'}; +avp_name(1273, 10415) -> {'SDP-TimeStamps', 'Grouped'}; +avp_name(2036, 10415) -> {'SDP-Type', 'Enumerated'}; +avp_name(1228, 10415) -> {'SGSN-Address', 'Address'}; +avp_name(2067, 10415) -> {'SGW-Address', 'Address'}; +avp_name(2065, 10415) -> {'SGW-Change', 'Enumerated'}; +avp_name(3931, 10415) -> + {'SGi-PtP-Tunnelling-Method', 'Enumerated'}; +avp_name(824, 10415) -> {'SIP-Method', 'UTF8String'}; +avp_name(834, 10415) -> + {'SIP-Request-Timestamp', 'Time'}; +avp_name(2301, 10415) -> + {'SIP-Request-Timestamp-Fraction', 'Unsigned32'}; +avp_name(835, 10415) -> + {'SIP-Response-Timestamp', 'Time'}; +avp_name(2302, 10415) -> + {'SIP-Response-Timestamp-Fraction', 'Unsigned32'}; +avp_name(3407, 10415) -> + {'SM-Device-Trigger-Indicator', 'Enumerated'}; +avp_name(3405, 10415) -> + {'SM-Device-Trigger-Information', 'Grouped'}; +avp_name(2012, 10415) -> {'SM-Discharge-Time', 'Time'}; +avp_name(2007, 10415) -> + {'SM-Message-Type', 'Enumerated'}; +avp_name(2013, 10415) -> + {'SM-Protocol-ID', 'OctetString'}; +avp_name(3408, 10415) -> + {'SM-Sequence-Number', 'Unsigned32'}; +avp_name(2029, 10415) -> + {'SM-Service-Type', 'Enumerated'}; +avp_name(2014, 10415) -> {'SM-Status', 'OctetString'}; +avp_name(2015, 10415) -> + {'SM-User-Data-Header', 'OctetString'}; +avp_name(2000, 10415) -> {'SMS-Information', 'Grouped'}; +avp_name(2016, 10415) -> {'SMS-Node', 'Enumerated'}; +avp_name(3409, 10415) -> {'SMS-Result', 'Unsigned32'}; +avp_name(2017, 10415) -> {'SMSC-Address', 'Address'}; +avp_name(2059, 10415) -> {'Scale-Factor', 'Grouped'}; +avp_name(1304, 10415) -> + {'Secondary-RAT-Type', 'OctetString'}; +avp_name(848, 10415) -> + {'Served-Party-IP-Address', 'Address'}; +avp_name(2040, 10415) -> + {'Service-Data-Container', 'Grouped'}; +avp_name(855, 10415) -> {'Service-Id', 'UTF8String'}; +avp_name(873, 10415) -> + {'Service-Information', 'Grouped'}; +avp_name(2032, 10415) -> {'Service-Mode', 'Unsigned32'}; +avp_name(863, 10415) -> + {'Service-Specific-Data', 'UTF8String'}; +avp_name(1249, 10415) -> + {'Service-Specific-Info', 'Grouped'}; +avp_name(1257, 10415) -> + {'Service-Specific-Type', 'Unsigned32'}; +avp_name(3929, 10415) -> + {'Serving-Node-Identity', 'DiameterIdentity'}; +avp_name(2047, 10415) -> + {'Serving-Node-Type', 'Enumerated'}; +avp_name(2707, 10415) -> + {'Session-Direction', 'Enumerated'}; +avp_name(2041, 10415) -> {'Start-Time', 'Time'}; +avp_name(3419, 10415) -> {'Start-of-Charging', 'Time'}; +avp_name(2702, 10415) -> + {'Status-AS-Code', 'Enumerated'}; +avp_name(2042, 10415) -> {'Stop-Time', 'Time'}; +avp_name(1202, 10415) -> {'Submission-Time', 'Time'}; +avp_name(2033, 10415) -> + {'Subscriber-Role', 'Enumerated'}; +avp_name(2048, 10415) -> + {'Supplementary-Service', 'Grouped'}; +avp_name(2717, 10415) -> + {'TAD-Identifier', 'Enumerated'}; +avp_name(3903, 10415) -> {'TWAG-Address', 'Address'}; +avp_name(2714, 10415) -> + {'TWAN-User-Location-Info', 'Grouped'}; +avp_name(1255, 10415) -> + {'Talk-Burst-Exchange', 'Grouped'}; +avp_name(1286, 10415) -> + {'Talk-Burst-Time', 'Unsigned32'}; +avp_name(1287, 10415) -> + {'Talk-Burst-Volume', 'Unsigned32'}; +avp_name(4412, 10415) -> + {'Target-IP-Address', 'Address'}; +avp_name(2060, 10415) -> + {'Tariff-Information', 'Grouped'}; +avp_name(2306, 10415) -> {'Tariff-XML', 'UTF8String'}; +avp_name(3413, 10415) -> {'Teleservice', 'OctetString'}; +avp_name(840, 10415) -> + {'Terminating-IOI', 'UTF8String'}; +avp_name(3466, 10415) -> + {'Time-First-Reception', 'Time'}; +avp_name(3467, 10415) -> + {'Time-First-Transmission', 'Time'}; +avp_name(2043, 10415) -> {'Time-First-Usage', 'Time'}; +avp_name(3911, 10415) -> + {'Time-Indicator', 'Unsigned32'}; +avp_name(2044, 10415) -> {'Time-Last-Usage', 'Time'}; +avp_name(1270, 10415) -> + {'Time-Quota-Mechanism', 'Grouped'}; +avp_name(868, 10415) -> + {'Time-Quota-Threshold', 'Unsigned32'}; +avp_name(1271, 10415) -> + {'Time-Quota-Type', 'Enumerated'}; +avp_name(833, 10415) -> {'Time-Stamps', 'Grouped'}; +avp_name(2045, 10415) -> {'Time-Usage', 'Unsigned32'}; +avp_name(1215, 10415) -> {'Token-Text', 'UTF8String'}; +avp_name(2046, 10415) -> + {'Traffic-Data-Volumes', 'Grouped'}; +avp_name(2605, 10415) -> + {'Transcoder-Inserted-Indication', 'Enumerated'}; +avp_name(2701, 10415) -> + {'Transit-IOI-List', 'UTF8String'}; +avp_name(3468, 10415) -> + {'Transmitter-Info', 'Grouped'}; +avp_name(1264, 10415) -> {'Trigger', 'Grouped'}; +avp_name(870, 10415) -> {'Trigger-Type', 'Enumerated'}; +avp_name(851, 10415) -> {'Trunk-Group-Id', 'Grouped'}; +avp_name(1204, 10415) -> {'Type-Number', 'Enumerated'}; +avp_name(3932, 10415) -> + {'UNI-PDU-CP-Only-Flag', 'Enumerated'}; +avp_name(3918, 10415) -> + {'UWAN-User-Location-Info', 'Grouped'}; +avp_name(2061, 10415) -> {'Unit-Cost', 'Grouped'}; +avp_name(1226, 10415) -> + {'Unit-Quota-Threshold', 'Unsigned32'}; +avp_name(4407, 10415) -> + {'Unused-Quota-Timer', 'Unsigned32'}; +avp_name(3439, 10415) -> + {'Usage-Information-Report-Sequence-Number', + 'Integer32'}; +avp_name(2319, 10415) -> + {'User-CSG-Information', 'Grouped'}; +avp_name(1279, 10415) -> + {'User-Participating-Type', 'Enumerated'}; +avp_name(830, 10415) -> + {'User-Session-Id', 'UTF8String'}; +avp_name(3410, 10415) -> {'VCS-Information', 'Grouped'}; +avp_name(3420, 10415) -> {'VLR-Number', 'OctetString'}; +avp_name(3907, 10415) -> {'Variable-Part', 'Grouped'}; +avp_name(3908, 10415) -> + {'Variable-Part-Order', 'Unsigned32'}; +avp_name(3909, 10415) -> + {'Variable-Part-Type', 'Enumerated'}; +avp_name(3910, 10415) -> + {'Variable-Part-Value', 'UTF8String'}; +avp_name(869, 10415) -> + {'Volume-Quota-Threshold', 'Unsigned32'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(406, undefined) -> + {'Accounting-Auth-Method', 'Enumerated'}; +avp_name(363, undefined) -> + {'Accounting-Input-Octets', 'Unsigned64'}; +avp_name(365, undefined) -> + {'Accounting-Input-Packets', 'Unsigned64'}; +avp_name(364, undefined) -> + {'Accounting-Output-Octets', 'Unsigned64'}; +avp_name(366, undefined) -> + {'Accounting-Output-Packets', 'Unsigned64'}; +avp_name(45, undefined) -> + {'Acct-Authentic', 'Enumerated'}; +avp_name(41, undefined) -> + {'Acct-Delay-Time', 'Unsigned32'}; +avp_name(51, undefined) -> + {'Acct-Link-Count', 'Unsigned32'}; +avp_name(46, undefined) -> + {'Acct-Session-Time', 'Unsigned32'}; +avp_name(68, undefined) -> + {'Acct-Tunnel-Connection', 'OctetString'}; +avp_name(86, undefined) -> + {'Acct-Tunnel-Packets-Lost', 'Unsigned32'}; +avp_name(20, undefined) -> + {'Callback-Id', 'UTF8String'}; +avp_name(19, undefined) -> + {'Callback-Number', 'UTF8String'}; +avp_name(30, undefined) -> + {'Called-Station-Id', 'UTF8String'}; +avp_name(31, undefined) -> + {'Calling-Station-Id', 'UTF8String'}; +avp_name(77, undefined) -> + {'Connect-Info', 'UTF8String'}; +avp_name(11, undefined) -> {'Filter-Id', 'UTF8String'}; +avp_name(28, undefined) -> + {'Idle-Timeout', 'Unsigned32'}; +avp_name(14, undefined) -> + {'Login-IP-Host', 'OctetString'}; +avp_name(98, undefined) -> + {'Login-IPv6-Host', 'OctetString'}; +avp_name(36, undefined) -> + {'Login-LAT-Group', 'OctetString'}; +avp_name(35, undefined) -> + {'Login-LAT-Node', 'OctetString'}; +avp_name(63, undefined) -> + {'Login-LAT-Port', 'OctetString'}; +avp_name(34, undefined) -> + {'Login-LAT-Service', 'OctetString'}; +avp_name(15, undefined) -> + {'Login-Service', 'Enumerated'}; +avp_name(16, undefined) -> + {'Login-TCP-Port', 'Unsigned32'}; +avp_name(400, undefined) -> + {'NAS-Filter-Rule', 'IPFilterRule'}; +avp_name(4, undefined) -> + {'NAS-IP-Address', 'OctetString'}; +avp_name(95, undefined) -> + {'NAS-IPv6-Address', 'OctetString'}; +avp_name(32, undefined) -> + {'NAS-Identifier', 'UTF8String'}; +avp_name(5, undefined) -> {'NAS-Port', 'Unsigned32'}; +avp_name(87, undefined) -> + {'NAS-Port-Id', 'UTF8String'}; +avp_name(61, undefined) -> + {'NAS-Port-Type', 'Enumerated'}; +avp_name(408, undefined) -> + {'Origin-AAA-Protocol', 'Enumerated'}; +avp_name(94, undefined) -> + {'Originating-Line-Info', 'OctetString'}; +avp_name(62, undefined) -> {'Port-Limit', 'Unsigned32'}; +avp_name(407, undefined) -> + {'QoS-Filter-Rule', 'QoSFilterRule'}; +avp_name(6, undefined) -> + {'Service-Type', 'Enumerated'}; +avp_name(82, undefined) -> + {'Tunnel-Assignment-Id', 'OctetString'}; +avp_name(90, undefined) -> + {'Tunnel-Client-Auth-Id', 'UTF8String'}; +avp_name(66, undefined) -> + {'Tunnel-Client-Endpoint', 'UTF8String'}; +avp_name(65, undefined) -> + {'Tunnel-Medium-Type', 'Enumerated'}; +avp_name(69, undefined) -> + {'Tunnel-Password', 'OctetString'}; +avp_name(83, undefined) -> + {'Tunnel-Preference', 'Unsigned32'}; +avp_name(81, undefined) -> + {'Tunnel-Private-Group-Id', 'OctetString'}; +avp_name(91, undefined) -> + {'Tunnel-Server-Auth-Id', 'UTF8String'}; +avp_name(67, undefined) -> + {'Tunnel-Server-Endpoint', 'UTF8String'}; +avp_name(64, undefined) -> + {'Tunnel-Type', 'Enumerated'}; +avp_name(401, undefined) -> {'Tunneling', 'Grouped'}; +avp_name(411, undefined) -> + {'CC-Correlation-Id', 'OctetString'}; +avp_name(412, undefined) -> + {'CC-Input-Octets', 'Unsigned64'}; +avp_name(413, undefined) -> {'CC-Money', 'Grouped'}; +avp_name(414, undefined) -> + {'CC-Output-Octets', 'Unsigned64'}; +avp_name(415, undefined) -> + {'CC-Request-Number', 'Unsigned32'}; +avp_name(416, undefined) -> + {'CC-Request-Type', 'Enumerated'}; +avp_name(417, undefined) -> + {'CC-Service-Specific-Units', 'Unsigned64'}; +avp_name(418, undefined) -> + {'CC-Session-Failover', 'Enumerated'}; +avp_name(419, undefined) -> + {'CC-Sub-Session-Id', 'Unsigned64'}; +avp_name(420, undefined) -> {'CC-Time', 'Unsigned32'}; +avp_name(421, undefined) -> + {'CC-Total-Octets', 'Unsigned64'}; +avp_name(454, undefined) -> + {'CC-Unit-Type', 'Enumerated'}; +avp_name(422, undefined) -> + {'Check-Balance-Result', 'Enumerated'}; +avp_name(423, undefined) -> + {'Cost-Information', 'Grouped'}; +avp_name(424, undefined) -> {'Cost-Unit', 'UTF8String'}; +avp_name(426, undefined) -> + {'Credit-Control', 'Enumerated'}; +avp_name(427, undefined) -> + {'Credit-Control-Failure-Handling', 'Enumerated'}; +avp_name(425, undefined) -> + {'Currency-Code', 'Unsigned32'}; +avp_name(428, undefined) -> + {'Direct-Debiting-Failure-Handling', 'Enumerated'}; +avp_name(429, undefined) -> {'Exponent', 'Integer32'}; +avp_name(449, undefined) -> + {'Final-Unit-Action', 'Enumerated'}; +avp_name(430, undefined) -> + {'Final-Unit-Indication', 'Grouped'}; +avp_name(453, undefined) -> + {'G-S-U-Pool-Identifier', 'Unsigned32'}; +avp_name(457, undefined) -> + {'G-S-U-Pool-Reference', 'Grouped'}; +avp_name(431, undefined) -> + {'Granted-Service-Unit', 'Grouped'}; +avp_name(456, undefined) -> + {'Multiple-Services-Credit-Control', 'Grouped'}; +avp_name(455, undefined) -> + {'Multiple-Services-Indicator', 'Enumerated'}; +avp_name(432, undefined) -> + {'Rating-Group', 'Unsigned32'}; +avp_name(433, undefined) -> + {'Redirect-Address-Type', 'Enumerated'}; +avp_name(434, undefined) -> + {'Redirect-Server', 'Grouped'}; +avp_name(435, undefined) -> + {'Redirect-Server-Address', 'UTF8String'}; +avp_name(436, undefined) -> + {'Requested-Action', 'Enumerated'}; +avp_name(437, undefined) -> + {'Requested-Service-Unit', 'Grouped'}; +avp_name(438, undefined) -> + {'Restriction-Filter-Rule', 'IPFilterRule'}; +avp_name(461, undefined) -> + {'Service-Context-Id', 'UTF8String'}; +avp_name(439, undefined) -> + {'Service-Identifier', 'Unsigned32'}; +avp_name(440, undefined) -> + {'Service-Parameter-Info', 'Grouped'}; +avp_name(441, undefined) -> + {'Service-Parameter-Type', 'Unsigned32'}; +avp_name(442, undefined) -> + {'Service-Parameter-Value', 'OctetString'}; +avp_name(443, undefined) -> + {'Subscription-Id', 'Grouped'}; +avp_name(444, undefined) -> + {'Subscription-Id-Data', 'UTF8String'}; +avp_name(450, undefined) -> + {'Subscription-Id-Type', 'Enumerated'}; +avp_name(452, undefined) -> + {'Tariff-Change-Usage', 'Enumerated'}; +avp_name(451, undefined) -> + {'Tariff-Time-Change', 'Time'}; +avp_name(445, undefined) -> {'Unit-Value', 'Grouped'}; +avp_name(446, undefined) -> + {'Used-Service-Unit', 'Grouped'}; +avp_name(458, undefined) -> + {'User-Equipment-Info', 'Grouped'}; +avp_name(459, undefined) -> + {'User-Equipment-Info-Type', 'Enumerated'}; +avp_name(460, undefined) -> + {'User-Equipment-Info-Value', 'OctetString'}; +avp_name(448, undefined) -> + {'Validity-Time', 'Unsigned32'}; +avp_name(447, undefined) -> + {'Value-Digits', 'Integer64'}; +avp_name(301, 13019) -> + {'Address-Realm', 'OctetString'}; +avp_name(307, 13019) -> + {'Aggregation-Network-Type', 'Enumerated'}; +avp_name(312, 13019) -> + {'Application-Class-ID', 'UTF8String'}; +avp_name(305, 13019) -> + {'IP-Connectivity-Status', 'Enumerated'}; +avp_name(314, 13019) -> + {'Initial-Gate-Setting-ID', 'Unsigned32'}; +avp_name(302, 13019) -> + {'Logical-Access-ID', 'OctetString'}; +avp_name(309, 13019) -> + {'Maximum-Allowed-Bandwidth-DL', 'Unsigned32'}; +avp_name(308, 13019) -> + {'Maximum-Allowed-Bandwidth-UL', 'Unsigned32'}; +avp_name(313, 13019) -> + {'Physical-Access-ID', 'UTF8String'}; +avp_name(315, 13019) -> + {'QoS-Profile-ID', 'Unsigned32'}; +avp_name(311, 13019) -> + {'Transport-Class', 'Unsigned32'}; +avp_name(27, 10415) -> + {'3GPP-Allocate-IP-Type', 'OctetString'}; +avp_name(24, 10415) -> + {'3GPP-CAMEL-Charging-Info', 'OctetString'}; +avp_name(4, 10415) -> + {'3GPP-CG-Address', 'OctetString'}; +avp_name(14, 10415) -> + {'3GPP-CG-IPv6-Address', 'OctetString'}; +avp_name(13, 10415) -> + {'3GPP-Charging-Characteristics', 'UTF8String'}; +avp_name(2, 10415) -> + {'3GPP-Charging-Id', 'OctetString'}; +avp_name(7, 10415) -> + {'3GPP-GGSN-Address', 'OctetString'}; +avp_name(16, 10415) -> + {'3GPP-GGSN-IPv6-Address', 'OctetString'}; +avp_name(9, 10415) -> + {'3GPP-GGSN-MCC-MNC', 'UTF8String'}; +avp_name(5, 10415) -> + {'3GPP-GPRS-Negotiated-QoS-Profile', 'UTF8String'}; +avp_name(20, 10415) -> {'3GPP-IMEISV', 'OctetString'}; +avp_name(1, 10415) -> {'3GPP-IMSI', 'UTF8String'}; +avp_name(8, 10415) -> + {'3GPP-IMSI-MCC-MNC', 'UTF8String'}; +avp_name(17, 10415) -> + {'3GPP-IPv6-DNS-Servers', 'OctetString'}; +avp_name(23, 10415) -> + {'3GPP-MS-TimeZone', 'OctetString'}; +avp_name(10, 10415) -> {'3GPP-NSAPI', 'OctetString'}; +avp_name(26, 10415) -> + {'3GPP-Negotiated-DSCP', 'OctetString'}; +avp_name(3, 10415) -> {'3GPP-PDP-Type', 'Enumerated'}; +avp_name(25, 10415) -> + {'3GPP-Packet-Filter', 'OctetString'}; +avp_name(21, 10415) -> {'3GPP-RAT-Type', 'OctetString'}; +avp_name(6, 10415) -> + {'3GPP-SGSN-Address', 'OctetString'}; +avp_name(15, 10415) -> + {'3GPP-SGSN-IPv6-Address', 'OctetString'}; +avp_name(18, 10415) -> + {'3GPP-SGSN-MCC-MNC', 'UTF8String'}; +avp_name(12, 10415) -> + {'3GPP-Selection-Mode', 'UTF8String'}; +avp_name(11, 10415) -> + {'3GPP-Session-Stop-Indicator', 'OctetString'}; +avp_name(22, 10415) -> + {'3GPP-User-Location-Info', 'OctetString'}; +avp_name(30, 10415) -> + {'3GPP-User-Location-Info-Time', 'OctetString'}; +avp_name(29, 10415) -> + {'TWAN-Identifier', 'OctetString'}; +avp_name(910, 10415) -> + {'Additional-MBMS-Trace-Info', 'OctetString'}; +avp_name(905, 10415) -> + {'Alternative-APN', 'UTF8String'}; +avp_name(921, 10415) -> + {'CN-IP-Multicast-Distribution', 'Enumerated'}; +avp_name(907, undefined) -> + {'MBMS-2G-3G-Indicator', 'Enumerated'}; +avp_name(918, 10415) -> + {'MBMS-BMSC-SSM-IP-Address', 'OctetString'}; +avp_name(919, 10415) -> + {'MBMS-BMSC-SSM-IPv6-Address', 'OctetString'}; +avp_name(914, 10415) -> + {'MBMS-Counting-Information', 'Enumerated'}; +avp_name(920, 10415) -> + {'MBMS-Flow-Identifier', 'OctetString'}; +avp_name(916, 10415) -> + {'MBMS-GGSN-Address', 'OctetString'}; +avp_name(917, 10415) -> + {'MBMS-GGSN-IPv6-Address', 'OctetString'}; +avp_name(922, 10415) -> + {'MBMS-HC-Indicator', 'Enumerated'}; +avp_name(913, 10415) -> + {'MBMS-Required-QoS', 'UTF8String'}; +avp_name(903, 10415) -> + {'MBMS-Service-Area', 'OctetString'}; +avp_name(906, 10415) -> + {'MBMS-Service-Type', 'Enumerated'}; +avp_name(904, 10415) -> + {'MBMS-Session-Duration', 'OctetString'}; +avp_name(908, 10415) -> + {'MBMS-Session-Identity', 'OctetString'}; +avp_name(912, 10415) -> + {'MBMS-Session-Repetition-Number', 'OctetString'}; +avp_name(902, 10415) -> + {'MBMS-StartStop-Indication', 'Enumerated'}; +avp_name(911, 10415) -> + {'MBMS-Time-To-Data-Transfer', 'OctetString'}; +avp_name(915, 10415) -> + {'MBMS-User-Data-Mode-Indication', 'Enumerated'}; +avp_name(909, undefined) -> {'RAI', 'UTF8String'}; +avp_name(901, 10415) -> + {'Required-MBMS-Bearer-Capabilities', 'UTF8String'}; +avp_name(900, 10415) -> {'TMGI', 'OctetString'}; +avp_name(1050, 10415) -> {'AN-GW-Address', 'Address'}; +avp_name(2811, 10415) -> {'AN-GW-Status', 'Enumerated'}; +avp_name(1040, 10415) -> + {'APN-Aggregate-Max-Bitrate-DL', 'Unsigned32'}; +avp_name(1041, 10415) -> + {'APN-Aggregate-Max-Bitrate-UL', 'Unsigned32'}; +avp_name(1022, 10415) -> + {'Access-Network-Charging-Identifier-Gx', 'Grouped'}; +avp_name(1034, 10415) -> + {'Allocation-Retention-Priority', 'Grouped'}; +avp_name(1098, 10415) -> + {'Application-Detection-Information', 'Grouped'}; +avp_name(1023, 10415) -> + {'Bearer-Control-Mode', 'Enumerated'}; +avp_name(1020, 10415) -> + {'Bearer-Identifier', 'OctetString'}; +avp_name(1021, 10415) -> + {'Bearer-Operation', 'Enumerated'}; +avp_name(1000, 10415) -> {'Bearer-Usage', 'Enumerated'}; +avp_name(1071, 10415) -> + {'CSG-Information-Reporting', 'Enumerated'}; +avp_name(1073, 10415) -> + {'Charging-Correlation-Indicator', 'Enumerated'}; +avp_name(1004, 10415) -> + {'Charging-Rule-Base-Name', 'UTF8String'}; +avp_name(1003, 10415) -> + {'Charging-Rule-Definition', 'Grouped'}; +avp_name(1001, 10415) -> + {'Charging-Rule-Install', 'Grouped'}; +avp_name(1005, 10415) -> + {'Charging-Rule-Name', 'OctetString'}; +avp_name(1002, 10415) -> + {'Charging-Rule-Remove', 'Grouped'}; +avp_name(1018, 10415) -> + {'Charging-Rule-Report', 'Grouped'}; +avp_name(1035, 10415) -> {'CoA-IP-Address', 'Address'}; +avp_name(1039, 10415) -> {'CoA-Information', 'Grouped'}; +avp_name(2818, 10415) -> + {'Conditional-APN-Aggregate-Max-Bitrate', 'Grouped'}; +avp_name(1082, 10415) -> + {'Credit-Management-Status', 'Unsigned32'}; +avp_name(1049, 10415) -> + {'Default-EPS-Bearer-QoS', 'Grouped'}; +avp_name(2816, 10415) -> + {'Default-QoS-Information', 'Grouped'}; +avp_name(2817, 10415) -> + {'Default-QoS-Name', 'UTF8String'}; +avp_name(1033, 10415) -> + {'Event-Report-Indication', 'Grouped'}; +avp_name(1006, 10415) -> + {'Event-Trigger', 'Enumerated'}; +avp_name(2825, 10415) -> + {'Fixed-User-Location-Info', 'Grouped'}; +avp_name(1080, 10415) -> + {'Flow-Direction', 'Enumerated'}; +avp_name(1058, 10415) -> + {'Flow-Information', 'Grouped'}; +avp_name(1057, 10415) -> {'Flow-Label', 'OctetString'}; +avp_name(1025, 10415) -> + {'Guaranteed-Bitrate-DL', 'Unsigned32'}; +avp_name(1026, 10415) -> + {'Guaranteed-Bitrate-UL', 'Unsigned32'}; +avp_name(2804, 10415) -> + {'HeNB-Local-IP-Address', 'Address'}; +avp_name(2827, 10415) -> + {'IP-CAN-Session-Charging-Scope', 'Enumerated'}; +avp_name(1027, 10415) -> {'IP-CAN-Type', 'Enumerated'}; +avp_name(1007, 10415) -> + {'Metering-Method', 'Enumerated'}; +avp_name(1066, 10415) -> + {'Monitoring-Key', 'OctetString'}; +avp_name(2810, 10415) -> {'Monitoring-Time', 'Time'}; +avp_name(2809, 10415) -> + {'Mute-Notification', 'Enumerated'}; +avp_name(2824, 10415) -> + {'NetLoc-Access-Support', 'Unsigned32'}; +avp_name(1024, 10415) -> + {'Network-Request-Support', 'Enumerated'}; +avp_name(1008, 10415) -> {'Offline', 'Enumerated'}; +avp_name(1009, 10415) -> {'Online', 'Enumerated'}; +avp_name(1019, 10415) -> + {'PCC-Rule-Status', 'Enumerated'}; +avp_name(2826, 10415) -> + {'PCSCF-Restoration-Indication', 'Unsigned32'}; +avp_name(1065, 10415) -> + {'PDN-Connection-ID', 'OctetString'}; +avp_name(1099, 10415) -> + {'PS-to-CS-Session-Continuity', 'Enumerated'}; +avp_name(1059, 10415) -> + {'Packet-Filter-Content', 'IPFilterRule'}; +avp_name(1060, 10415) -> + {'Packet-Filter-Identifier', 'OctetString'}; +avp_name(1061, 10415) -> + {'Packet-Filter-Information', 'Grouped'}; +avp_name(1062, 10415) -> + {'Packet-Filter-Operation', 'Enumerated'}; +avp_name(1072, 10415) -> + {'Packet-Filter-Usage', 'Enumerated'}; +avp_name(1047, 10415) -> + {'Pre-emption-Capability', 'Enumerated'}; +avp_name(1048, 10415) -> + {'Pre-emption-Vulnerability', 'Enumerated'}; +avp_name(1010, 10415) -> {'Precedence', 'Unsigned32'}; +avp_name(2820, 10415) -> + {'Presence-Reporting-Area-Elements-List', + 'OctetString'}; +avp_name(2821, 10415) -> + {'Presence-Reporting-Area-Identifier', 'OctetString'}; +avp_name(2822, 10415) -> + {'Presence-Reporting-Area-Information', 'Grouped'}; +avp_name(2823, 10415) -> + {'Presence-Reporting-Area-Status', 'Unsigned32'}; +avp_name(1046, 10415) -> + {'Priority-Level', 'Unsigned32'}; +avp_name(1028, 10415) -> + {'QoS-Class-Identifier', 'Enumerated'}; +avp_name(1016, 10415) -> {'QoS-Information', 'Grouped'}; +avp_name(1029, 10415) -> + {'QoS-Negotiation', 'Enumerated'}; +avp_name(1030, 10415) -> {'QoS-Upgrade', 'Enumerated'}; +avp_name(2819, 10415) -> + {'RAN-NAS-Release-Cause', 'OctetString'}; +avp_name(1032, 10415) -> {'RAT-Type', 'Enumerated'}; +avp_name(1085, 10415) -> + {'Redirect-Information', 'Grouped'}; +avp_name(1086, 10415) -> + {'Redirect-Support', 'Enumerated'}; +avp_name(1011, 10415) -> + {'Reporting-Level', 'Enumerated'}; +avp_name(1063, 10415) -> + {'Resource-Allocation-Notification', 'Enumerated'}; +avp_name(1042, 10415) -> {'Revalidation-Time', 'Time'}; +avp_name(1078, 10415) -> {'Routing-Filter', 'Grouped'}; +avp_name(1079, 10415) -> + {'Routing-IP-Address', 'Address'}; +avp_name(1076, 10415) -> + {'Routing-Rule-Definition', 'Grouped'}; +avp_name(1077, 10415) -> + {'Routing-Rule-Identifier', 'OctetString'}; +avp_name(1081, 10415) -> + {'Routing-Rule-Install', 'Grouped'}; +avp_name(1075, 10415) -> + {'Routing-Rule-Remove', 'Grouped'}; +avp_name(1043, 10415) -> + {'Rule-Activation-Time', 'Time'}; +avp_name(1044, 10415) -> + {'Rule-Deactivation-Time', 'Time'}; +avp_name(1031, 10415) -> + {'Rule-Failure-Code', 'Enumerated'}; +avp_name(1056, 10415) -> + {'Security-Parameter-Index', 'OctetString'}; +avp_name(1045, 10415) -> + {'Session-Release-Cause', 'Enumerated'}; +avp_name(1088, 10415) -> + {'TDF-Application-Identifier', 'OctetString'}; +avp_name(2802, 10415) -> + {'TDF-Application-Instance-Identifier', 'OctetString'}; +avp_name(1089, 10415) -> + {'TDF-Destination-Host', 'DiameterIdentity'}; +avp_name(1090, 10415) -> + {'TDF-Destination-Realm', 'DiameterIdentity'}; +avp_name(1091, 10415) -> {'TDF-IP-Address', 'Address'}; +avp_name(1087, 10415) -> {'TDF-Information', 'Grouped'}; +avp_name(1012, 10415) -> {'TFT-Filter', 'IPFilterRule'}; +avp_name(1013, 10415) -> + {'TFT-Packet-Filter-Information', 'Grouped'}; +avp_name(1014, 10415) -> + {'ToS-Traffic-Class', 'OctetString'}; +avp_name(1036, 10415) -> + {'Tunnel-Header-Filter', 'IPFilterRule'}; +avp_name(1037, 10415) -> + {'Tunnel-Header-Length', 'Unsigned32'}; +avp_name(1038, 10415) -> + {'Tunnel-Information', 'Grouped'}; +avp_name(2806, 10415) -> + {'UDP-Source-Port', 'Unsigned32'}; +avp_name(2805, 10415) -> + {'UE-Local-IP-Address', 'Address'}; +avp_name(1067, 10415) -> + {'Usage-Monitoring-Information', 'Grouped'}; +avp_name(1068, 10415) -> + {'Usage-Monitoring-Level', 'Enumerated'}; +avp_name(1069, 10415) -> + {'Usage-Monitoring-Report', 'Enumerated'}; +avp_name(1070, 10415) -> + {'Usage-Monitoring-Support', 'Enumerated'}; +avp_name(2812, 10415) -> + {'User-Location-Info-Time', 'Time'}; +avp_name(504, 10415) -> + {'AF-Application-Identifier', 'OctetString'}; +avp_name(505, 10415) -> + {'AF-Charging-Identifier', 'OctetString'}; +avp_name(529, 10415) -> + {'AF-Signalling-Protocol', 'Enumerated'}; +avp_name(500, 10415) -> {'Abort-Cause', 'Enumerated'}; +avp_name(501, 10415) -> + {'Access-Network-Charging-Address', 'Address'}; +avp_name(503, 10415) -> + {'Access-Network-Charging-Identifier-Value', + 'OctetString'}; +avp_name(532, 10415) -> + {'Application-Service-Provider-Identity', 'UTF8String'}; +avp_name(524, 10415) -> {'Codec-Data', 'OctetString'}; +avp_name(507, 10415) -> + {'Flow-Description', 'IPFilterRule'}; +avp_name(509, 10415) -> {'Flow-Number', 'Unsigned32'}; +avp_name(511, 10415) -> {'Flow-Status', 'Enumerated'}; +avp_name(512, 10415) -> {'Flow-Usage', 'Enumerated'}; +avp_name(510, 10415) -> {'Flows', 'Grouped'}; +avp_name(538, 10415) -> + {'GCS-Identifier', 'OctetString'}; +avp_name(537, 10415) -> {'IP-Domain-Id', 'OctetString'}; +avp_name(528, 10415) -> + {'MPS-Identifier', 'OctetString'}; +avp_name(515, 10415) -> + {'Max-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(516, 10415) -> + {'Max-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(518, 10415) -> + {'Media-Component-Number', 'Unsigned32'}; +avp_name(520, 10415) -> {'Media-Type', 'Enumerated'}; +avp_name(534, 10415) -> + {'Min-Requested-Bandwidth-DL', 'Unsigned32'}; +avp_name(535, 10415) -> + {'Min-Requested-Bandwidth-UL', 'Unsigned32'}; +avp_name(521, 10415) -> {'RR-Bandwidth', 'Unsigned32'}; +avp_name(522, 10415) -> {'RS-Bandwidth', 'Unsigned32'}; +avp_name(536, 10415) -> + {'Required-Access-Info', 'Enumerated'}; +avp_name(533, 10415) -> + {'Rx-Request-Type', 'Enumerated'}; +avp_name(523, 10415) -> + {'SIP-Forking-Indication', 'Enumerated'}; +avp_name(527, 10415) -> + {'Service-Info-Status', 'Enumerated'}; +avp_name(525, 10415) -> {'Service-URN', 'OctetString'}; +avp_name(513, 10415) -> + {'Specific-Action', 'Enumerated'}; +avp_name(531, 10415) -> + {'Sponsor-Identity', 'UTF8String'}; +avp_name(707, 10415) -> + {'Current-Location', 'Enumerated'}; +avp_name(711, 10415) -> {'DSAI-Tag', 'OctetString'}; +avp_name(703, 10415) -> + {'Data-Reference', 'Enumerated'}; +avp_name(709, 10415) -> {'Expiry-Time', 'Time'}; +avp_name(708, 10415) -> {'Identity-Set', 'Enumerated'}; +avp_name(701, 10415) -> {'MSISDN', 'OctetString'}; +avp_name(712, 10415) -> + {'One-Time-Notification', 'Enumerated'}; +avp_name(706, 10415) -> + {'Requested-Domain', 'Enumerated'}; +avp_name(713, 10415) -> + {'Requested-Nodes', 'Unsigned32'}; +avp_name(710, 10415) -> + {'Send-Data-Indication', 'Enumerated'}; +avp_name(716, 10415) -> + {'Sequence-Number', 'Unsigned32'}; +avp_name(704, 10415) -> + {'Service-Indication', 'OctetString'}; +avp_name(714, 10415) -> + {'Serving-Node-Indication', 'Enumerated'}; +avp_name(705, 10415) -> {'Subs-Req-Type', 'Enumerated'}; +avp_name(643, 10415) -> + {'Call-ID-SIP-Header', 'OctetString'}; +avp_name(618, 10415) -> + {'Charging-Information', 'Grouped'}; +avp_name(625, 10415) -> + {'Confidentiality-Key', 'OctetString'}; +avp_name(641, 10415) -> {'Contact', 'OctetString'}; +avp_name(615, 10415) -> + {'Deregistration-Reason', 'Grouped'}; +avp_name(111, undefined) -> + {'Digest-Algorithm', 'UTF8String'}; +avp_name(121, undefined) -> + {'Digest-HA1', 'UTF8String'}; +avp_name(110, undefined) -> + {'Digest-QoP', 'UTF8String'}; +avp_name(104, undefined) -> + {'Digest-Realm', 'UTF8String'}; +avp_name(630, 10415) -> {'Feature-List', 'Unsigned32'}; +avp_name(629, 10415) -> + {'Feature-List-ID', 'Unsigned32'}; +avp_name(644, 10415) -> + {'From-SIP-Header', 'OctetString'}; +avp_name(654, 10415) -> + {'Initial-CSeq-Sequence-Number', 'Unsigned32'}; +avp_name(626, 10415) -> + {'Integrity-Key', 'OctetString'}; +avp_name(653, 10415) -> {'LIA-Flags', 'Unsigned32'}; +avp_name(638, 10415) -> + {'Loose-Route-Indication', 'Enumerated'}; +avp_name(604, 10415) -> + {'Mandatory-Capability', 'Unsigned32'}; +avp_name(648, 10415) -> + {'Multiple-Registration-Indication', 'Enumerated'}; +avp_name(605, 10415) -> + {'Optional-Capability', 'Unsigned32'}; +avp_name(633, 10415) -> + {'Originating-Request', 'Enumerated'}; +avp_name(640, 10415) -> {'Path', 'OctetString'}; +avp_name(621, 10415) -> + {'Primary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(619, 10415) -> + {'Primary-Event-Charging-Function-Name', 'DiameterURI'}; +avp_name(652, 10415) -> + {'Priviledged-Sender-Indication', 'Enumerated'}; +avp_name(601, 10415) -> + {'Public-Identity', 'UTF8String'}; +avp_name(616, 10415) -> {'Reason-Code', 'Enumerated'}; +avp_name(617, 10415) -> {'Reason-Info', 'UTF8String'}; +avp_name(646, 10415) -> {'Record-Route', 'OctetString'}; +avp_name(655, 10415) -> {'SAR-Flags', 'Unsigned32'}; +avp_name(612, 10415) -> + {'SIP-Auth-Data-Item', 'Grouped'}; +avp_name(609, 10415) -> + {'SIP-Authenticate', 'OctetString'}; +avp_name(611, 10415) -> + {'SIP-Authentication-Context', 'OctetString'}; +avp_name(608, 10415) -> + {'SIP-Authentication-Scheme', 'UTF8String'}; +avp_name(610, 10415) -> + {'SIP-Authorization', 'OctetString'}; +avp_name(635, 10415) -> + {'SIP-Digest-Authenticate', 'Grouped'}; +avp_name(613, 10415) -> + {'SIP-Item-Number', 'Unsigned32'}; +avp_name(607, 10415) -> + {'SIP-Number-Auth-Items', 'Unsigned32'}; +avp_name(622, 10415) -> + {'Secondary-Charging-Collection-Function-Name', + 'DiameterURI'}; +avp_name(620, 10415) -> + {'Secondary-Event-Charging-Function-Name', + 'DiameterURI'}; +avp_name(614, 10415) -> + {'Server-Assignment-Type', 'Enumerated'}; +avp_name(602, 10415) -> {'Server-Name', 'UTF8String'}; +avp_name(650, 10415) -> + {'Session-Priority', 'Enumerated'}; +avp_name(631, 10415) -> + {'Supported-Applications', 'Grouped'}; +avp_name(628, 10415) -> + {'Supported-Features', 'Grouped'}; +avp_name(645, 10415) -> + {'To-SIP-Header', 'OctetString'}; +avp_name(637, 10415) -> {'UAR-Flags', 'Unsigned32'}; +avp_name(623, 10415) -> + {'User-Authorization-Type', 'Enumerated'}; +avp_name(606, 10415) -> {'User-Data', 'OctetString'}; +avp_name(624, 10415) -> + {'User-Data-Already-Available', 'Enumerated'}; +avp_name(600, 10415) -> + {'Visited-Network-Identifier', 'OctetString'}; +avp_name(634, 10415) -> + {'Wildcarded-Public-Identity', 'UTF8String'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Access-Network-Info-Change') -> + [{'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Access-Transfer-Information') -> + [{'Access-Transfer-Type', {0, 1}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Inter-UE-Transfer', {0, 1}}, + {'User-Equipment-Info', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Accumulated-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Additional-Content-Information') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}]; +avp_arity('Address-Domain') -> + [{'Domain-Name', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}]; +avp_arity('AF-Correlation-Information') -> + [{'AF-Charging-Identifier', 1}, {'Flows', {0, '*'}}]; +avp_arity('Announcement-Information') -> + [{'Announcement-Identifier', 1}, + {'Variable-Part', {0, '*'}}, + {'Time-Indicator', {0, 1}}, + {'Quota-Indicator', {0, 1}}, + {'Announcement-Order', {0, 1}}, + {'Play-Alternative', {0, 1}}, + {'Privacy-Indicator', {0, 1}}, + {'Language', {0, 1}}]; +avp_arity('AoC-Cost-Information') -> + [{'Accumulated-Cost', {0, 1}}, + {'Incremental-Cost', {0, '*'}}, + {'Currency-Code', {0, 1}}]; +avp_arity('AoC-Information') -> + [{'AoC-Cost-Information', {0, 1}}, + {'Tariff-Information', {0, 1}}, + {'AoC-Subscription-Information', {0, 1}}]; +avp_arity('AoC-Service') -> + [{'AoC-Service-Obligatory-Type', {0, 1}}, + {'AoC-Service-Type', {0, 1}}]; +avp_arity('AoC-Subscription-Information') -> + [{'AoC-Service', {0, '*'}}, + {'AoC-Format', {0, 1}}, + {'Preferred-AoC-Currency', {0, 1}}]; +avp_arity('APN-Rate-Control') -> + [{'APN-Rate-Control-Uplink', {0, 1}}, + {'APN-Rate-Control-Downlink', {0, 1}}]; +avp_arity('APN-Rate-Control-Downlink') -> + [{'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}, + {'Rate-Control-Max-Message-Size', {0, 1}}]; +avp_arity('APN-Rate-Control-Uplink') -> + [{'Additional-Exception-Reports', {0, 1}}, + {'Rate-Control-Time-Unit', {0, 1}}, + {'Rate-Control-Max-Rate', {0, 1}}]; +avp_arity('Application-Server-Information') -> + [{'Application-Server', {0, 1}}, + {'Application-Provided-Called-Party-Address', {0, '*'}}, + {'Status-AS-Code', {0, 1}}]; +avp_arity('Basic-Service-Code') -> + [{'Bearer-Service', {0, 1}}, {'Teleservice', {0, 1}}]; +avp_arity('Called-Identity-Change') -> + [{'Called-Identity', {0, 1}}, {'Change-Time', {0, 1}}]; +avp_arity('Coverage-Info') -> + [{'Coverage-Status', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Location-Info', {0, '*'}}]; +avp_arity('CPDT-Information') -> + [{'Serving-Node-Identity', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'NIDD-Submission', {0, 1}}]; +avp_arity('Current-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('Destination-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Early-Media-Description') -> + [{'SDP-TimeStamps', {0, 1}}, + {'SDP-Media-Component', {0, '*'}}, + {'SDP-Session-Description', {0, '*'}}]; +avp_arity('Enhanced-Diagnostics') -> + [{'RAN-NAS-Release-Cause', {0, '*'}}]; +avp_arity('Envelope') -> + [{'Envelope-Start-Time', 1}, + {'Envelope-End-Time', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}]; +avp_arity('Event-Type') -> + [{'SIP-Method', {0, 1}}, + {'Event', {0, 1}}, + {'Expires', {0, 1}}]; +avp_arity('Incremental-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('IMS-Information') -> + [{'Node-Functionality', 1}, + {'Event-Type', {0, 1}}, + {'Role-Of-Node', {0, 1}}, + {'User-Session-Id', {0, 1}}, + {'Outgoing-Session-Id', {0, 1}}, + {'Session-Priority', {0, 1}}, + {'Calling-Party-Address', {0, '*'}}, + {'Called-Party-Address', {0, 1}}, + {'Called-Asserted-Identity', {0, '*'}}, + {'Called-Identity-Change', {0, 1}}, + {'Number-Portability-Routing-Information', {0, 1}}, + {'Carrier-Select-Routing-Information', {0, 1}}, + {'Alternate-Charged-Party-Address', {0, 1}}, + {'Requested-Party-Address', {0, '*'}}, + {'Associated-URI', {0, '*'}}, + {'Time-Stamps', {0, 1}}, + {'Application-Server-Information', {0, '*'}}, + {'Inter-Operator-Identifier', {0, '*'}}, + {'Transit-IOI-List', {0, '*'}}, + {'IMS-Charging-Identifier', {0, 1}}, + {'SDP-Session-Description', {0, '*'}}, + {'SDP-Media-Component', {0, '*'}}, + {'Served-Party-IP-Address', {0, 1}}, + {'Trunk-Group-Id', {0, 1}}, + {'Bearer-Service', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Service-Specific-Info', {0, '*'}}, + {'Message-Body', {0, '*'}}, + {'Cause-Code', {0, 1}}, + {'Reason-Header', {0, '*'}}, + {'Access-Network-Information', {0, '*'}}, + {'Cellular-Network-Information', {0, 1}}, + {'Early-Media-Description', {0, '*'}}, + {'IMS-Communication-Service-Identifier', {0, 1}}, + {'IMS-Application-Reference-Identifier', {0, 1}}, + {'Online-Charging-Flag', {0, 1}}, + {'Real-Time-Tariff-Information', {0, 1}}, + {'Account-Expiration', {0, 1}}, + {'Initial-IMS-Charging-Identifier', {0, 1}}, + {'NNI-Information', {0, '*'}}, + {'From-Address', {0, 1}}, + {'IMS-Emergency-Indicator', {0, 1}}, + {'IMS-Visited-Network-Identifier', {0, 1}}, + {'Access-Network-Info-Change', {0, '*'}}, + {'Access-Transfer-Information', {0, '*'}}, + {'Related-IMS-Charging-Identifier', {0, 1}}, + {'Related-IMS-Charging-Identifier-Node', {0, 1}}, + {'Route-Header-Received', {0, 1}}, + {'Route-Header-Transmitted', {0, 1}}, + {'Instance-Id', {0, 1}}, + {'TAD-Identifier', {0, 1}}, + {'FE-Identifier-List', {0, 1}}]; +avp_arity('Inter-Operator-Identifier') -> + [{'Originating-IOI', {0, 1}}, + {'Terminating-IOI', {0, 1}}]; +avp_arity('ISUP-Cause') -> + [{'ISUP-Cause-Location', {0, 1}}, + {'ISUP-Cause-Value', {0, 1}}, + {'ISUP-Cause-Diagnostics', {0, 1}}]; +avp_arity('LCS-Client-ID') -> + [{'LCS-Client-Type', {0, 1}}, + {'LCS-Client-External-ID', {0, 1}}, + {'LCS-Client-Dialed-By-MS', {0, 1}}, + {'LCS-Client-Name', {0, 1}}, + {'LCS-APN', {0, 1}}, + {'LCS-Requestor-ID', {0, 1}}]; +avp_arity('LCS-Client-Name') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Name-String', {0, 1}}, + {'LCS-Format-Indicator', {0, 1}}]; +avp_arity('LCS-Information') -> + [{'LCS-Client-ID', {0, 1}}, + {'Location-Type', {0, 1}}, + {'Location-Estimate', {0, 1}}, + {'Positioning-Data', {0, 1}}, + {'3GPP-IMSI', {0, 1}}, + {'MSISDN', {0, 1}}]; +avp_arity('LCS-Requestor-ID') -> + [{'LCS-Data-Coding-Scheme', {0, 1}}, + {'LCS-Requestor-ID-String', {0, 1}}]; +avp_arity('Location-Info') -> + [{'3GPP-User-Location-Info', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('Location-Type') -> + [{'Location-Estimate-Type', {0, 1}}, + {'Deferred-Location-Event-Type', {0, 1}}]; +avp_arity('MBMS-Information') -> + [{'TMGI', {0, 1}}, + {'MBMS-User-Service-Type', {0, 1}}, + {'File-Repair-Supported', {0, 1}}, + {'MBMS-2G-3G-Indicator', {0, 1}}, + {'MBMS-Service-Area', {0, '*'}}, + {'MBMS-Session-Identity', {0, 1}}, + {'CN-IP-Multicast-Distribution', {0, 1}}, + {'MBMS-GW-Address', {0, 1}}, + {'MBMS-Charged-Party', {0, 1}}, + {'MSISDN', {0, '*'}}]; +avp_arity('Message-Body') -> + [{'Content-Type', 1}, + {'Content-Length', 1}, + {'Content-Disposition', {0, 1}}, + {'Originator', {0, 1}}]; +avp_arity('Message-Class') -> + [{'Class-Identifier', {0, 1}}, {'Token-Text', {0, 1}}]; +avp_arity('MM-Content-Type') -> + [{'Type-Number', {0, 1}}, + {'Additional-Type-Information', {0, 1}}, + {'Content-Size', {0, 1}}, + {'Additional-Content-Information', {0, '*'}}]; +avp_arity('MMS-Information') -> + [{'Originator-Address', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Submission-Time', {0, 1}}, + {'MM-Content-Type', {0, 1}}, + {'Priority', {0, 1}}, + {'Message-ID', {0, 1}}, + {'Message-Type', {0, 1}}, + {'Message-Size', {0, 1}}, + {'Message-Class', {0, 1}}, + {'Delivery-Report-Requested', {0, 1}}, + {'Read-Reply-Report-Requested', {0, 1}}, + {'MMBox-Storage-Requested', {0, 1}}, + {'Applic-ID', {0, 1}}, + {'Reply-Applic-ID', {0, 1}}, + {'Aux-Applic-Info', {0, 1}}, + {'Content-Class', {0, 1}}, + {'DRM-Content', {0, 1}}, + {'Adaptations', {0, 1}}]; +avp_arity('MMTel-Information') -> + [{'Supplementary-Service', {0, '*'}}]; +avp_arity('Monitoring-Event-Information') -> + [{'Monitoring-Event-Functionality', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Configuration-Activity', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Monitoring-Event-Report-Data', {0, '*'}}]; +avp_arity('Monitoring-Event-Report-Data') -> + [{'Event-Timestamp', {0, 1}}, + {'Monitoring-Event-Report-Number', {0, 1}}, + {'Charged-Party', {0, 1}}, + {'Subscription-Id', {0, 1}}]; +avp_arity('Next-Tariff') -> + [{'Currency-Code', {0, 1}}, + {'Scale-Factor', {0, 1}}, + {'Rate-Element', {0, '*'}}]; +avp_arity('NIDD-Submission') -> + [{'Submission-Time', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}]; +avp_arity('NNI-Information') -> + [{'Session-Direction', {0, 1}}, + {'NNI-Type', {0, 1}}, + {'Relationship-Mode', {0, 1}}, + {'Neighbour-Node-Address', {0, 1}}]; +avp_arity('Offline-Charging') -> + [{'Quota-Consumption-Time', {0, 1}}, + {'Time-Quota-Mechanism', {0, 1}}, + {'Envelope-Reporting', {0, 1}}, + {'Multiple-Services-Credit-Control', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Originator-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Originator-Interface') -> + [{'Interface-Id', {0, 1}}, + {'Interface-Text', {0, 1}}, + {'Interface-Port', {0, 1}}, + {'Interface-Type', {0, 1}}]; +avp_arity('Originator-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Participant-Group') -> + [{'Called-Party-Address', {0, 1}}, + {'Participant-Access-Priority', {0, 1}}, + {'User-Participating-Type', {0, 1}}]; +avp_arity('PoC-Information') -> + [{'PoC-Server-Role', {0, 1}}, + {'PoC-Session-Type', {0, 1}}, + {'PoC-User-Role', {0, 1}}, + {'PoC-Session-Initiation-Type', {0, 1}}, + {'PoC-Event-Type', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participants-Involved', {0, '*'}}, + {'Participant-Group', {0, '*'}}, + {'Talk-Burst-Exchange', {0, '*'}}, + {'PoC-Controlling-Address', {0, 1}}, + {'PoC-Group-Name', {0, 1}}, + {'PoC-Session-Id', {0, 1}}, + {'Charged-Party', {0, 1}}]; +avp_arity('PoC-User-Role') -> + [{'PoC-User-Role-IDs', {0, 1}}, + {'PoC-User-Role-Info-Units', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container') -> + [{'Local-Sequence-Number', {0, 1}}, + {'Coverage-Status', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Usage-Information-Report-Sequence-Number', {0, 1}}, + {'Radio-Resources-Indicator', {0, 1}}, + {'Radio-Frequency', {0, 1}}]; +avp_arity('ProSe-Information') -> + [{'Announcing-UE-HPLMN-Identifier', {0, 1}}, + {'Announcing-UE-VPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-HPLMN-Identifier', {0, 1}}, + {'Monitoring-UE-VPLMN-Identifier', {0, 1}}, + {'Role-Of-ProSe-Function', {0, 1}}, + {'ProSe-3rd-Party-Application-ID', {0, 1}}, + {'Application-Specific-Data', {0, 1}}, + {'ProSe-Event-Type', {0, 1}}, + {'ProSe-Direct-Discovery-Model', {0, 1}}, + {'ProSe-Function-IP-Address', {0, 1}}, + {'ProSe-Role-Of-UE', {0, 1}}, + {'ProSe-Request-Timestamp', {0, 1}}, + {'PC3-Control-Protocol-Cause', {0, 1}}, + {'Monitoring-UE-Identifier', {0, 1}}, + {'Requestor-PLMN-Identifier', {0, 1}}, + {'Requested-PLMN-Identifier', {0, 1}}, + {'ProSe-Range-Class', {0, 1}}, + {'Proximity-Alert-Indication', {0, 1}}, + {'Proximity-Alert-Timestamp', {0, 1}}, + {'Proximity-Cancellation-Timestamp', {0, 1}}, + {'ProSe-Reason-For-Cancellation', {0, 1}}, + {'PC3-EPC-Control-Protocol-Cause', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}, + {'ProSe-Source-IP-Address', {0, 1}}, + {'Layer-2-Group-ID', {0, 1}}, + {'ProSe-Group-IP-Multicast-Address', {0, 1}}, + {'Coverage-Info', {0, '*'}}, + {'Radio-Parameter-Set-Info', {0, '*'}}, + {'Transmitter-Info', {0, '*'}}, + {'Time-First-Transmission', {0, 1}}, + {'Time-First-Reception', {0, 1}}, + {'ProSe-Direct-Communication-Transmission-Data-Container', + {0, '*'}}, + {'ProSe-Direct-Communication-Reception-Data-Container', + {0, '*'}}, + {'Announcing-PLMN-ID', {0, 1}}, + {'ProSe-Target-Layer-2-ID', {0, 1}}, + {'Relay-IP-address', {0, 1}}, + {'ProSe-UE-to-Network-Relay-UE-ID', {0, 1}}, + {'Target-IP-Address', {0, 1}}, + {'PC5-Radio-Technology', {0, 1}}]; +avp_arity('PS-Furnish-Charging-Information') -> + [{'3GPP-Charging-Id', 1}, + {'PS-Free-Format-Data', 1}, + {'PS-Append-Free-Format-Data', {0, 1}}]; +avp_arity('PS-Information') -> + [{'3GPP-Charging-Id', {0, 1}}, + {'PDN-Connection-Charging-ID', {0, 1}}, + {'Node-Id', {0, 1}}, + {'3GPP-PDP-Type', {0, 1}}, + {'PDP-Address', {0, '*'}}, + {'PDP-Address-Prefix-Length', {0, 1}}, + {'Dynamic-Address-Flag', {0, 1}}, + {'Dynamic-Address-Flag-Extension', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'SGSN-Address', {0, '*'}}, + {'GGSN-Address', {0, '*'}}, + {'TDF-IP-Address', {0, '*'}}, + {'SGW-Address', {0, '*'}}, + {'TWAG-Address', {0, '*'}}, + {'CG-Address', {0, 1}}, + {'Serving-Node-Type', {0, 1}}, + {'SGW-Change', {0, 1}}, + {'3GPP-IMSI-MCC-MNC', {0, 1}}, + {'IMSI-Unauthenticated-Flag', {0, 1}}, + {'3GPP-GGSN-MCC-MNC', {0, 1}}, + {'3GPP-NSAPI', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'3GPP-Session-Stop-Indicator', {0, 1}}, + {'3GPP-Selection-Mode', {0, 1}}, + {'3GPP-Charging-Characteristics', {0, 1}}, + {'Charging-Characteristics-Selection-Mode', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'User-Location-Info-Time', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'TWAN-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'PS-Furnish-Charging-Information', {0, 1}}, + {'PDP-Context-Type', {0, 1}}, + {'Offline-Charging', {0, 1}}, + {'Traffic-Data-Volumes', {0, '*'}}, + {'Service-Data-Container', {0, '*'}}, + {'User-Equipment-Info', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Low-Priority-Indicator', {0, 1}}, + {'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'Fixed-User-Location-Info', {0, 1}}, + {'CN-Operator-Selection-Entity', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'SGi-PtP-Tunnelling-Method', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}, + {'UNI-PDU-CP-Only-Flag', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'Charging-Per-IP-CAN-Session-Indicator', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}, + {'SCS-AS-Address', {0, 1}}, + {'Unused-Quota-Timer', {0, 1}}, + {'RAN-Secondary-RAT-Usage-Report', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Radio-Parameter-Set-Info') -> + [{'Radio-Parameter-Set-Values', {0, 1}}, + {'Change-Time', {0, 1}}]; +avp_arity('RAN-Secondary-RAT-Usage-Report') -> + [{'Secondary-RAT-Type', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}]; +avp_arity('Rate-Element') -> + [{'CC-Unit-Type', 1}, + {'Charge-Reason-Code', {0, 1}}, + {'Unit-Value', {0, 1}}, + {'Unit-Cost', {0, 1}}, + {'Unit-Quota-Threshold', {0, 1}}]; +avp_arity('Real-Time-Tariff-Information') -> + [{'Tariff-Information', {0, 1}}, + {'Tariff-XML', {0, 1}}]; +avp_arity('Recipient-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}, + {'Addressee-Type', {0, 1}}]; +avp_arity('Recipient-Info') -> + [{'Destination-Interface', {0, 1}}, + {'Recipient-Address', {0, '*'}}, + {'Recipient-Received-Address', {0, '*'}}, + {'Recipient-SCCP-Address', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}]; +avp_arity('Recipient-Received-Address') -> + [{'Address-Type', {0, 1}}, + {'Address-Data', {0, 1}}, + {'Address-Domain', {0, 1}}]; +avp_arity('Related-Change-Condition-Information') -> + [{'SGSN-Address', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}]; +avp_arity('Related-Trigger') -> + [{'Trigger-Type', {0, '*'}}]; +avp_arity('Remaining-Balance') -> + [{'Unit-Value', 1}, {'Currency-Code', 1}]; +avp_arity('Scale-Factor') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('SCS-AS-Address') -> + [{'SCS-Realm', {0, 1}}, {'SCS-Address', {0, 1}}]; +avp_arity('SDP-Media-Component') -> + [{'SDP-Media-Name', {0, 1}}, + {'SDP-Media-Description', {0, '*'}}, + {'Local-GW-Inserted-Indication', {0, 1}}, + {'IP-Realm-Default-Indication', {0, 1}}, + {'Transcoder-Inserted-Indication', {0, 1}}, + {'Media-Initiator-Flag', {0, 1}}, + {'Media-Initiator-Party', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Access-Network-Charging-Identifier-Value', {0, 1}}, + {'SDP-Type', {0, 1}}]; +avp_arity('SDP-TimeStamps') -> + [{'SDP-Offer-Timestamp', {0, 1}}, + {'SDP-Answer-Timestamp', {0, 1}}]; +avp_arity('Service-Data-Container') -> + [{'AF-Correlation-Information', {0, 1}}, + {'Charging-Rule-Base-Name', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Local-Sequence-Number', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Service-Identifier', {0, 1}}, + {'Service-Specific-Info', {0, 1}}, + {'SGSN-Address', {0, 1}}, + {'Time-First-Usage', {0, 1}}, + {'Time-Last-Usage', {0, 1}}, + {'Time-Usage', {0, 1}}, + {'Change-Condition', {0, '*'}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, '*'}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'APN-Rate-Control', {0, 1}}, + {'3GPP-PS-Data-Off-Status', {0, 1}}]; +avp_arity('Service-Information') -> + [{'Subscription-Id', {0, '*'}}, + {'AoC-Information', {0, 1}}, + {'PS-Information', {0, 1}}, + {'IMS-Information', {0, 1}}, + {'MMS-Information', {0, 1}}, + {'LCS-Information', {0, 1}}, + {'PoC-Information', {0, 1}}, + {'MBMS-Information', {0, 1}}, + {'SMS-Information', {0, 1}}, + {'VCS-Information', {0, 1}}, + {'MMTel-Information', {0, 1}}, + {'ProSe-Information', {0, 1}}, + {'CPDT-Information', {0, 1}}]; +avp_arity('Service-Specific-Info') -> + [{'Service-Specific-Data', {0, 1}}, + {'Service-Specific-Type', {0, 1}}]; +avp_arity('SM-Device-Trigger-Information') -> + [{'MTC-IWF-Address', {0, 1}}, + {'Validity-Time', {0, 1}}]; +avp_arity('SMS-Information') -> + [{'SMS-Node', {0, 1}}, + {'Client-Address', {0, 1}}, + {'Originator-SCCP-Address', {0, 1}}, + {'SMSC-Address', {0, 1}}, + {'Data-Coding-Scheme', {0, 1}}, + {'SM-Discharge-Time', {0, 1}}, + {'SM-Message-Type', {0, 1}}, + {'Originator-Interface', {0, 1}}, + {'SM-Protocol-ID', {0, 1}}, + {'Reply-Path-Requested', {0, 1}}, + {'SM-Status', {0, 1}}, + {'SM-User-Data-Header', {0, 1}}, + {'Number-Of-Messages-Sent', {0, 1}}, + {'SM-Sequence-Number', {0, 1}}, + {'Recipient-Info', {0, '*'}}, + {'Originator-Received-Address', {0, 1}}, + {'SM-Service-Type', {0, 1}}, + {'SMS-Result', {0, 1}}, + {'SM-Device-Trigger-Indicator', {0, 1}}, + {'SM-Device-Trigger-Information', {0, 1}}, + {'MTC-IWF-Address', {0, 1}}]; +avp_arity('Supplementary-Service') -> + [{'MMTel-SService-Type', {0, 1}}, + {'Service-Mode', {0, 1}}, + {'Number-Of-Diversions', {0, 1}}, + {'Associated-Party-Address', {0, 1}}, + {'Service-Id', {0, 1}}, + {'Change-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'Participant-Action-Type', {0, 1}}, + {'CUG-Information', {0, 1}}, + {'AoC-Information', {0, 1}}]; +avp_arity('Talk-Burst-Exchange') -> + [{'PoC-Change-Time', 1}, + {'Number-Of-Talk-Bursts', {0, 1}}, + {'Talk-Burst-Volume', {0, 1}}, + {'Talk-Burst-Time', {0, 1}}, + {'Number-Of-Received-Talk-Bursts', {0, 1}}, + {'Received-Talk-Burst-Volume', {0, 1}}, + {'Received-Talk-Burst-Time', {0, 1}}, + {'Number-Of-Participants', {0, 1}}, + {'PoC-Change-Condition', {0, 1}}]; +avp_arity('Tariff-Information') -> + [{'Current-Tariff', 1}, + {'Tariff-Time-Change', {0, 1}}, + {'Next-Tariff', {0, 1}}]; +avp_arity('Time-Quota-Mechanism') -> + [{'Time-Quota-Type', 1}, {'Base-Time-Interval', 1}]; +avp_arity('Time-Stamps') -> + [{'SIP-Request-Timestamp', {0, 1}}, + {'SIP-Response-Timestamp', {0, 1}}, + {'SIP-Request-Timestamp-Fraction', {0, 1}}, + {'SIP-Response-Timestamp-Fraction', {0, 1}}]; +avp_arity('Traffic-Data-Volumes') -> + [{'QoS-Information', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Change-Condition', {0, 1}}, + {'Change-Time', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'UWAN-User-Location-Info', {0, 1}}, + {'3GPP-Charging-Id', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'User-CSG-Information', {0, 1}}, + {'3GPP-RAT-Type', {0, 1}}, + {'Related-Change-Condition-Information', {0, 1}}, + {'Diagnostics', {0, 1}}, + {'Enhanced-Diagnostics', {0, 1}}, + {'CP-CIoT-EPS-Optimisation-Indicator', {0, 1}}]; +avp_arity('Transmitter-Info') -> + [{'ProSe-Source-IP-Address', {0, 1}}, + {'ProSe-UE-ID', {0, 1}}]; +avp_arity('Trigger') -> [{'Trigger-Type', {0, '*'}}]; +avp_arity('Trunk-Group-Id') -> + [{'Incoming-Trunk-Group-Id', {0, 1}}, + {'Outgoing-Trunk-Group-Id', {0, 1}}]; +avp_arity('TWAN-User-Location-Info') -> + [{'BSSID', {0, 1}}]; +avp_arity('Unit-Cost') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('User-CSG-Information') -> + [{'CSG-Access-Mode', 1}, + {'CSG-Membership-Indication', {0, 1}}]; +avp_arity('UWAN-User-Location-Info') -> + [{'UE-Local-IP-Address', 1}, + {'UDP-Source-Port', {0, 1}}, + {'BSSID', {0, 1}}]; +avp_arity('Variable-Part') -> + [{'Variable-Part-Type', 1}, + {'Variable-Part-Value', 1}, + {'Variable-Part-Order', {0, 1}}]; +avp_arity('VCS-Information') -> + [{'Bearer-Capability', {0, 1}}, + {'Network-Call-Reference-Number', {0, 1}}, + {'MSC-Address', {0, 1}}, + {'Basic-Service-Code', {0, 1}}, + {'ISUP-Location-Number', {0, 1}}, + {'VLR-Number', {0, 1}}, + {'Forwarding-Pending', {0, 1}}, + {'ISUP-Cause', {0, 1}}, + {'Start-Time', {0, 1}}, + {'Start-of-Charging', {0, 1}}, + {'Stop-Time', {0, 1}}, + {'PS-Free-Format-Data', {0, 1}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('Tunneling') -> + [{'Tunnel-Type', 1}, + {'Tunnel-Medium-Type', 1}, + {'Tunnel-Client-Endpoint', 1}, + {'Tunnel-Server-Endpoint', 1}, + {'Tunnel-Preference', {0, 1}}, + {'Tunnel-Client-Auth-Id', {0, 1}}, + {'Tunnel-Server-Auth-Id', {0, 1}}, + {'Tunnel-Assignment-Id', {0, 1}}, + {'Tunnel-Password', {0, 1}}, + {'Tunnel-Private-Group-Id', {0, 1}}]; +avp_arity('Cost-Information') -> + [{'Unit-Value', 1}, + {'Currency-Code', 1}, + {'Cost-Unit', {0, 1}}]; +avp_arity('Unit-Value') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Multiple-Services-Credit-Control') -> + [{'Granted-Service-Unit', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Tariff-Change-Usage', {0, 1}}, + {'Service-Identifier', {0, '*'}}, + {'Rating-Group', {0, 1}}, + {'G-S-U-Pool-Reference', {0, '*'}}, + {'Validity-Time', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Granted-Service-Unit') -> + [{'Tariff-Time-Change', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-Service-Unit') -> + [{'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Used-Service-Unit') -> + [{'Tariff-Change-Usage', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CC-Money') -> + [{'Unit-Value', 1}, {'Currency-Code', {0, 1}}]; +avp_arity('G-S-U-Pool-Reference') -> + [{'G-S-U-Pool-Identifier', 1}, + {'CC-Unit-Type', 1}, + {'Unit-Value', 1}]; +avp_arity('Final-Unit-Indication') -> + [{'Final-Unit-Action', 1}, + {'Restriction-Filter-Rule', {0, '*'}}, + {'Filter-Id', {0, '*'}}, + {'Redirect-Server', {0, 1}}]; +avp_arity('Redirect-Server') -> + [{'Redirect-Address-Type', 1}, + {'Redirect-Server-Address', 1}]; +avp_arity('Service-Parameter-Info') -> + [{'Service-Parameter-Type', 1}, + {'Service-Parameter-Value', 1}]; +avp_arity('Subscription-Id') -> + [{'Subscription-Id-Type', 1}, + {'Subscription-Id-Data', 1}]; +avp_arity('User-Equipment-Info') -> + [{'User-Equipment-Info-Type', 1}, + {'User-Equipment-Info-Value', 1}]; +avp_arity('Access-Network-Charging-Identifier-Gx') -> + [{'Access-Network-Charging-Identifier-Value', 1}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'IP-CAN-Session-Charging-Scope', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Allocation-Retention-Priority') -> + [{'Priority-Level', 1}, + {'Pre-emption-Capability', {0, 1}}, + {'Pre-emption-Vulnerability', {0, 1}}]; +avp_arity('Application-Detection-Information') -> + [{'TDF-Application-Identifier', 1}, + {'TDF-Application-Instance-Identifier', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Definition') -> + [{'Charging-Rule-Name', 1}, + {'Service-Identifier', {0, 1}}, + {'Rating-Group', {0, 1}}, + {'Flow-Information', {0, '*'}}, + {'TDF-Application-Identifier', {0, 1}}, + {'Flow-Status', {0, 1}}, + {'QoS-Information', {0, 1}}, + {'PS-to-CS-Session-Continuity', {0, 1}}, + {'Reporting-Level', {0, 1}}, + {'Online', {0, 1}}, + {'Offline', {0, 1}}, + {'Metering-Method', {0, 1}}, + {'Precedence', {0, 1}}, + {'AF-Charging-Identifier', {0, 1}}, + {'Flows', {0, '*'}}, + {'Monitoring-Key', {0, 1}}, + {'Redirect-Information', {0, 1}}, + {'Mute-Notification', {0, 1}}, + {'AF-Signalling-Protocol', {0, 1}}, + {'Sponsor-Identity', {0, 1}}, + {'Application-Service-Provider-Identity', {0, 1}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Install') -> + [{'Charging-Rule-Definition', {0, '*'}}, + {'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'Rule-Activation-Time', {0, 1}}, + {'Rule-Deactivation-Time', {0, 1}}, + {'Resource-Allocation-Notification', {0, 1}}, + {'Charging-Correlation-Indicator', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Remove') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Required-Access-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Charging-Rule-Report') -> + [{'Charging-Rule-Name', {0, '*'}}, + {'Charging-Rule-Base-Name', {0, '*'}}, + {'Bearer-Identifier', {0, 1}}, + {'PCC-Rule-Status', {0, 1}}, + {'Rule-Failure-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'RAN-NAS-Release-Cause', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CoA-Information') -> + [{'Tunnel-Information', 1}, + {'CoA-IP-Address', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate') -> + [{'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'IP-CAN-Type', {0, '*'}}, + {'RAT-Type', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-EPS-Bearer-QoS') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Default-QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Default-QoS-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Event-Report-Indication') -> + [{'Event-Trigger', {0, '*'}}, + {'IP-CAN-Type', {0, 1}}, + {'AN-GW-Address', {0, 2}}, + {'3GPP-SGSN-Address', {0, 1}}, + {'3GPP-SGSN-IPv6-Address', {0, 1}}, + {'3GPP-SGSN-MCC-MNC', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'RAT-Type', {0, 1}}, + {'RAI', {0, 1}}, + {'3GPP-User-Location-Info', {0, 1}}, + {'3GPP-MS-TimeZone', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'UE-Local-IP-Address', {0, 1}}, + {'HeNB-Local-IP-Address', {0, 1}}, + {'UDP-Source-Port', {0, 1}}, + {'Presence-Reporting-Area-Information', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Fixed-User-Location-Info') -> + [{'Logical-Access-ID', {0, 1}}, + {'Physical-Access-ID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flow-Information') -> + [{'Flow-Description', {0, 1}}, + {'Packet-Filter-Identifier', {0, 1}}, + {'Packet-Filter-Usage', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Packet-Filter-Information') -> + [{'Packet-Filter-Identifier', {0, 1}}, + {'Precedence', {0, 1}}, + {'Packet-Filter-Content', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Presence-Reporting-Area-Information') -> + [{'Presence-Reporting-Area-Identifier', {0, 1}}, + {'Presence-Reporting-Area-Status', {0, 1}}, + {'Presence-Reporting-Area-Elements-List', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Information') -> + [{'QoS-Class-Identifier', {0, 1}}, + {'Max-Requested-Bandwidth-UL', {0, 1}}, + {'Max-Requested-Bandwidth-DL', {0, 1}}, + {'Guaranteed-Bitrate-UL', {0, 1}}, + {'Guaranteed-Bitrate-DL', {0, 1}}, + {'Bearer-Identifier', {0, 1}}, + {'Allocation-Retention-Priority', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-UL', {0, 1}}, + {'APN-Aggregate-Max-Bitrate-DL', {0, 1}}, + {'Conditional-APN-Aggregate-Max-Bitrate', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Redirect-Information') -> + [{'Redirect-Support', {0, 1}}, + {'Redirect-Address-Type', {0, 1}}, + {'Redirect-Server-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Filter') -> + [{'Flow-Description', 1}, + {'Flow-Direction', 1}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Definition') -> + [{'Routing-Rule-Identifier', 1}, + {'Routing-Filter', {0, '*'}}, + {'Precedence', {0, 1}}, + {'Routing-IP-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Install') -> + [{'Routing-Rule-Definition', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Routing-Rule-Remove') -> + [{'Routing-Rule-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('TDF-Information') -> + [{'TDF-Destination-Realm', {0, 1}}, + {'TDF-Destination-Host', {0, 1}}, + {'TDF-IP-Address', {0, 1}}]; +avp_arity('Tunnel-Information') -> + [{'Tunnel-Header-Length', {0, 1}}, + {'Tunnel-Header-Filter', {0, 2}}, + {'AVP', {0, '*'}}]; +avp_arity('TFT-Packet-Filter-Information') -> + [{'Precedence', {0, 1}}, + {'TFT-Filter', {0, 1}}, + {'ToS-Traffic-Class', {0, 1}}, + {'Security-Parameter-Index', {0, 1}}, + {'Flow-Label', {0, 1}}, + {'Flow-Direction', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Usage-Monitoring-Information') -> + [{'Monitoring-Key', {0, 1}}, + {'Granted-Service-Unit', {0, 2}}, + {'Used-Service-Unit', {0, 2}}, + {'Usage-Monitoring-Level', {0, 1}}, + {'Usage-Monitoring-Report', {0, 1}}, + {'Usage-Monitoring-Support', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Flows') -> + [{'Media-Component-Number', 1}, + {'Flow-Number', {0, '*'}}, + {'Final-Unit-Action', {0, 1}}]; +avp_arity('Charging-Information') -> + [{'Primary-Event-Charging-Function-Name', {0, 1}}, + {'Secondary-Event-Charging-Function-Name', {0, 1}}, + {'Primary-Charging-Collection-Function-Name', {0, 1}}, + {'Secondary-Charging-Collection-Function-Name', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Features') -> + [{'Vendor-Id', 1}, + {'Feature-List-ID', 1}, + {'Feature-List', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Supported-Applications') -> + [{'Auth-Application-Id', {0, '*'}}, + {'Acct-Application-Id', {0, '*'}}, + {'Vendor-Specific-Application-Id', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Auth-Data-Item') -> + [{'SIP-Item-Number', {0, 1}}, + {'SIP-Authentication-Scheme', {0, 1}}, + {'SIP-Authenticate', {0, 1}}, + {'SIP-Authorization', {0, 1}}, + {'SIP-Authentication-Context', {0, 1}}, + {'Confidentiality-Key', {0, 1}}, + {'Integrity-Key', {0, 1}}, + {'SIP-Digest-Authenticate', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Line-Identifier', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Deregistration-Reason') -> + [{'Reason-Code', 1}, + {'Reason-Info', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('SIP-Digest-Authenticate') -> + [{'Digest-Realm', 1}, + {'Digest-QoP', 1}, + {'Digest-HA1', 1}, + {'Digest-Algorithm', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Access-Network-Info-Change', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Network-Info-Change', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Network-Info-Change', + 'Change-Time') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Transfer-Type') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('Access-Transfer-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Inter-UE-Transfer') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'User-Equipment-Info') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Instance-Id') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('Access-Transfer-Information', + 'Change-Time') -> + {0, 1}; +avp_arity('Accumulated-Cost', 'Value-Digits') -> 1; +avp_arity('Accumulated-Cost', 'Exponent') -> {0, 1}; +avp_arity('Additional-Content-Information', + 'Type-Number') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('Additional-Content-Information', + 'Content-Size') -> + {0, 1}; +avp_arity('Address-Domain', 'Domain-Name') -> {0, 1}; +avp_arity('Address-Domain', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('AF-Correlation-Information', + 'AF-Charging-Identifier') -> + 1; +avp_arity('AF-Correlation-Information', 'Flows') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Announcement-Identifier') -> + 1; +avp_arity('Announcement-Information', + 'Variable-Part') -> + {0, '*'}; +avp_arity('Announcement-Information', + 'Time-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Quota-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Announcement-Order') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Play-Alternative') -> + {0, 1}; +avp_arity('Announcement-Information', + 'Privacy-Indicator') -> + {0, 1}; +avp_arity('Announcement-Information', 'Language') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Accumulated-Cost') -> + {0, 1}; +avp_arity('AoC-Cost-Information', 'Incremental-Cost') -> + {0, '*'}; +avp_arity('AoC-Cost-Information', 'Currency-Code') -> + {0, 1}; +avp_arity('AoC-Information', 'AoC-Cost-Information') -> + {0, 1}; +avp_arity('AoC-Information', 'Tariff-Information') -> + {0, 1}; +avp_arity('AoC-Information', + 'AoC-Subscription-Information') -> + {0, 1}; +avp_arity('AoC-Service', + 'AoC-Service-Obligatory-Type') -> + {0, 1}; +avp_arity('AoC-Service', 'AoC-Service-Type') -> {0, 1}; +avp_arity('AoC-Subscription-Information', + 'AoC-Service') -> + {0, '*'}; +avp_arity('AoC-Subscription-Information', + 'AoC-Format') -> + {0, 1}; +avp_arity('AoC-Subscription-Information', + 'Preferred-AoC-Currency') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Uplink') -> + {0, 1}; +avp_arity('APN-Rate-Control', + 'APN-Rate-Control-Downlink') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('APN-Rate-Control-Downlink', + 'Rate-Control-Max-Message-Size') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Additional-Exception-Reports') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Time-Unit') -> + {0, 1}; +avp_arity('APN-Rate-Control-Uplink', + 'Rate-Control-Max-Rate') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Server') -> + {0, 1}; +avp_arity('Application-Server-Information', + 'Application-Provided-Called-Party-Address') -> + {0, '*'}; +avp_arity('Application-Server-Information', + 'Status-AS-Code') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Bearer-Service') -> + {0, 1}; +avp_arity('Basic-Service-Code', 'Teleservice') -> + {0, 1}; +avp_arity('Called-Identity-Change', + 'Called-Identity') -> + {0, 1}; +avp_arity('Called-Identity-Change', 'Change-Time') -> + {0, 1}; +avp_arity('Coverage-Info', 'Coverage-Status') -> {0, 1}; +avp_arity('Coverage-Info', 'Change-Time') -> {0, 1}; +avp_arity('Coverage-Info', 'Location-Info') -> {0, '*'}; +avp_arity('CPDT-Information', + 'Serving-Node-Identity') -> + {0, 1}; +avp_arity('CPDT-Information', 'SGW-Change') -> {0, 1}; +avp_arity('CPDT-Information', 'NIDD-Submission') -> + {0, 1}; +avp_arity('Current-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Current-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Current-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('Destination-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Destination-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-TimeStamps') -> + {0, 1}; +avp_arity('Early-Media-Description', + 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('Early-Media-Description', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('Enhanced-Diagnostics', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Envelope', 'Envelope-Start-Time') -> 1; +avp_arity('Envelope', 'Envelope-End-Time') -> {0, 1}; +avp_arity('Envelope', 'CC-Total-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Input-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Output-Octets') -> {0, 1}; +avp_arity('Envelope', 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Event-Type', 'SIP-Method') -> {0, 1}; +avp_arity('Event-Type', 'Event') -> {0, 1}; +avp_arity('Event-Type', 'Expires') -> {0, 1}; +avp_arity('Incremental-Cost', 'Value-Digits') -> 1; +avp_arity('Incremental-Cost', 'Exponent') -> {0, 1}; +avp_arity('IMS-Information', 'Node-Functionality') -> 1; +avp_arity('IMS-Information', 'Event-Type') -> {0, 1}; +avp_arity('IMS-Information', 'Role-Of-Node') -> {0, 1}; +avp_arity('IMS-Information', 'User-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Outgoing-Session-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Session-Priority') -> + {0, 1}; +avp_arity('IMS-Information', 'Calling-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Called-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Called-Asserted-Identity') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Called-Identity-Change') -> + {0, 1}; +avp_arity('IMS-Information', + 'Number-Portability-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Carrier-Select-Routing-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Alternate-Charged-Party-Address') -> + {0, 1}; +avp_arity('IMS-Information', + 'Requested-Party-Address') -> + {0, '*'}; +avp_arity('IMS-Information', 'Associated-URI') -> + {0, '*'}; +avp_arity('IMS-Information', 'Time-Stamps') -> {0, 1}; +avp_arity('IMS-Information', + 'Application-Server-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Inter-Operator-Identifier') -> + {0, '*'}; +avp_arity('IMS-Information', 'Transit-IOI-List') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'SDP-Session-Description') -> + {0, '*'}; +avp_arity('IMS-Information', 'SDP-Media-Component') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Served-Party-IP-Address') -> + {0, 1}; +avp_arity('IMS-Information', 'Trunk-Group-Id') -> + {0, 1}; +avp_arity('IMS-Information', 'Bearer-Service') -> + {0, 1}; +avp_arity('IMS-Information', 'Service-Id') -> {0, 1}; +avp_arity('IMS-Information', 'Service-Specific-Info') -> + {0, '*'}; +avp_arity('IMS-Information', 'Message-Body') -> + {0, '*'}; +avp_arity('IMS-Information', 'Cause-Code') -> {0, 1}; +avp_arity('IMS-Information', 'Reason-Header') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Network-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Cellular-Network-Information') -> + {0, 1}; +avp_arity('IMS-Information', + 'Early-Media-Description') -> + {0, '*'}; +avp_arity('IMS-Information', + 'IMS-Communication-Service-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Application-Reference-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'Online-Charging-Flag') -> + {0, 1}; +avp_arity('IMS-Information', + 'Real-Time-Tariff-Information') -> + {0, 1}; +avp_arity('IMS-Information', 'Account-Expiration') -> + {0, 1}; +avp_arity('IMS-Information', + 'Initial-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'NNI-Information') -> + {0, '*'}; +avp_arity('IMS-Information', 'From-Address') -> {0, 1}; +avp_arity('IMS-Information', + 'IMS-Emergency-Indicator') -> + {0, 1}; +avp_arity('IMS-Information', + 'IMS-Visited-Network-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Access-Network-Info-Change') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Access-Transfer-Information') -> + {0, '*'}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', + 'Related-IMS-Charging-Identifier-Node') -> + {0, 1}; +avp_arity('IMS-Information', 'Route-Header-Received') -> + {0, 1}; +avp_arity('IMS-Information', + 'Route-Header-Transmitted') -> + {0, 1}; +avp_arity('IMS-Information', 'Instance-Id') -> {0, 1}; +avp_arity('IMS-Information', 'TAD-Identifier') -> + {0, 1}; +avp_arity('IMS-Information', 'FE-Identifier-List') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Originating-IOI') -> + {0, 1}; +avp_arity('Inter-Operator-Identifier', + 'Terminating-IOI') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Location') -> + {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Value') -> {0, 1}; +avp_arity('ISUP-Cause', 'ISUP-Cause-Diagnostics') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Type') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-External-ID') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Dialed-By-MS') -> + {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Client-Name') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-APN') -> {0, 1}; +avp_arity('LCS-Client-ID', 'LCS-Requestor-ID') -> + {0, 1}; +avp_arity('LCS-Client-Name', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Name-String') -> + {0, 1}; +avp_arity('LCS-Client-Name', 'LCS-Format-Indicator') -> + {0, 1}; +avp_arity('LCS-Information', 'LCS-Client-ID') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Type') -> {0, 1}; +avp_arity('LCS-Information', 'Location-Estimate') -> + {0, 1}; +avp_arity('LCS-Information', 'Positioning-Data') -> + {0, 1}; +avp_arity('LCS-Information', '3GPP-IMSI') -> {0, 1}; +avp_arity('LCS-Information', 'MSISDN') -> {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Data-Coding-Scheme') -> + {0, 1}; +avp_arity('LCS-Requestor-ID', + 'LCS-Requestor-ID-String') -> + {0, 1}; +avp_arity('Location-Info', '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Location-Info', 'Change-Time') -> {0, 1}; +avp_arity('Location-Type', 'Location-Estimate-Type') -> + {0, 1}; +avp_arity('Location-Type', + 'Deferred-Location-Event-Type') -> + {0, 1}; +avp_arity('MBMS-Information', 'TMGI') -> {0, 1}; +avp_arity('MBMS-Information', + 'MBMS-User-Service-Type') -> + {0, 1}; +avp_arity('MBMS-Information', + 'File-Repair-Supported') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-2G-3G-Indicator') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Service-Area') -> + {0, '*'}; +avp_arity('MBMS-Information', + 'MBMS-Session-Identity') -> + {0, 1}; +avp_arity('MBMS-Information', + 'CN-IP-Multicast-Distribution') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-GW-Address') -> + {0, 1}; +avp_arity('MBMS-Information', 'MBMS-Charged-Party') -> + {0, 1}; +avp_arity('MBMS-Information', 'MSISDN') -> {0, '*'}; +avp_arity('Message-Body', 'Content-Type') -> 1; +avp_arity('Message-Body', 'Content-Length') -> 1; +avp_arity('Message-Body', 'Content-Disposition') -> + {0, 1}; +avp_arity('Message-Body', 'Originator') -> {0, 1}; +avp_arity('Message-Class', 'Class-Identifier') -> + {0, 1}; +avp_arity('Message-Class', 'Token-Text') -> {0, 1}; +avp_arity('MM-Content-Type', 'Type-Number') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Type-Information') -> + {0, 1}; +avp_arity('MM-Content-Type', 'Content-Size') -> {0, 1}; +avp_arity('MM-Content-Type', + 'Additional-Content-Information') -> + {0, '*'}; +avp_arity('MMS-Information', 'Originator-Address') -> + {0, 1}; +avp_arity('MMS-Information', 'Recipient-Address') -> + {0, '*'}; +avp_arity('MMS-Information', 'Submission-Time') -> + {0, 1}; +avp_arity('MMS-Information', 'MM-Content-Type') -> + {0, 1}; +avp_arity('MMS-Information', 'Priority') -> {0, 1}; +avp_arity('MMS-Information', 'Message-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Type') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Size') -> {0, 1}; +avp_arity('MMS-Information', 'Message-Class') -> {0, 1}; +avp_arity('MMS-Information', + 'Delivery-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'Read-Reply-Report-Requested') -> + {0, 1}; +avp_arity('MMS-Information', + 'MMBox-Storage-Requested') -> + {0, 1}; +avp_arity('MMS-Information', 'Applic-ID') -> {0, 1}; +avp_arity('MMS-Information', 'Reply-Applic-ID') -> + {0, 1}; +avp_arity('MMS-Information', 'Aux-Applic-Info') -> + {0, 1}; +avp_arity('MMS-Information', 'Content-Class') -> {0, 1}; +avp_arity('MMS-Information', 'DRM-Content') -> {0, 1}; +avp_arity('MMS-Information', 'Adaptations') -> {0, 1}; +avp_arity('MMTel-Information', + 'Supplementary-Service') -> + {0, '*'}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Functionality') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Configuration-Activity') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Information', + 'Monitoring-Event-Report-Data') -> + {0, '*'}; +avp_arity('Monitoring-Event-Report-Data', + 'Event-Timestamp') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Monitoring-Event-Report-Number') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Charged-Party') -> + {0, 1}; +avp_arity('Monitoring-Event-Report-Data', + 'Subscription-Id') -> + {0, 1}; +avp_arity('Next-Tariff', 'Currency-Code') -> {0, 1}; +avp_arity('Next-Tariff', 'Scale-Factor') -> {0, 1}; +avp_arity('Next-Tariff', 'Rate-Element') -> {0, '*'}; +avp_arity('NIDD-Submission', 'Submission-Time') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Event-Timestamp') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('NIDD-Submission', 'Change-Condition') -> + {0, 1}; +avp_arity('NNI-Information', 'Session-Direction') -> + {0, 1}; +avp_arity('NNI-Information', 'NNI-Type') -> {0, 1}; +avp_arity('NNI-Information', 'Relationship-Mode') -> + {0, 1}; +avp_arity('NNI-Information', + 'Neighbour-Node-Address') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Quota-Consumption-Time') -> + {0, 1}; +avp_arity('Offline-Charging', 'Time-Quota-Mechanism') -> + {0, 1}; +avp_arity('Offline-Charging', 'Envelope-Reporting') -> + {0, 1}; +avp_arity('Offline-Charging', + 'Multiple-Services-Credit-Control') -> + {0, '*'}; +avp_arity('Offline-Charging', 'AVP') -> {0, '*'}; +avp_arity('Originator-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Id') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Text') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Port') -> + {0, 1}; +avp_arity('Originator-Interface', 'Interface-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Originator-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Participant-Group', + 'Called-Party-Address') -> + {0, 1}; +avp_arity('Participant-Group', + 'Participant-Access-Priority') -> + {0, 1}; +avp_arity('Participant-Group', + 'User-Participating-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Server-Role') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-User-Role') -> {0, 1}; +avp_arity('PoC-Information', + 'PoC-Session-Initiation-Type') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Event-Type') -> + {0, 1}; +avp_arity('PoC-Information', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('PoC-Information', 'Participants-Involved') -> + {0, '*'}; +avp_arity('PoC-Information', 'Participant-Group') -> + {0, '*'}; +avp_arity('PoC-Information', 'Talk-Burst-Exchange') -> + {0, '*'}; +avp_arity('PoC-Information', + 'PoC-Controlling-Address') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Group-Name') -> + {0, 1}; +avp_arity('PoC-Information', 'PoC-Session-Id') -> + {0, 1}; +avp_arity('PoC-Information', 'Charged-Party') -> {0, 1}; +avp_arity('PoC-User-Role', 'PoC-User-Role-IDs') -> + {0, 1}; +avp_arity('PoC-User-Role', + 'PoC-User-Role-Info-Units') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Reception-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Coverage-Status') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Time') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Change-Condition') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Usage-Information-Report-Sequence-Number') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Resources-Indicator') -> + {0, 1}; +avp_arity('ProSe-Direct-Communication-Transmission-Data-Container', + 'Radio-Frequency') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Announcing-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-HPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-VPLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Role-Of-ProSe-Function') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-3rd-Party-Application-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Application-Specific-Data') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Event-Type') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Discovery-Model') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Function-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Role-Of-UE') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Request-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Monitoring-UE-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requestor-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Requested-PLMN-Identifier') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-Range-Class') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Indication') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Alert-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Proximity-Cancellation-Timestamp') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Reason-For-Cancellation') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC3-EPC-Control-Protocol-Cause') -> + {0, 1}; +avp_arity('ProSe-Information', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Layer-2-Group-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Group-IP-Multicast-Address') -> + {0, 1}; +avp_arity('ProSe-Information', 'Coverage-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Radio-Parameter-Set-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Transmitter-Info') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'Time-First-Transmission') -> + {0, 1}; +avp_arity('ProSe-Information', + 'Time-First-Reception') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Transmission-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', + 'ProSe-Direct-Communication-Reception-Data-Container') -> + {0, '*'}; +avp_arity('ProSe-Information', 'Announcing-PLMN-ID') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-Target-Layer-2-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Relay-IP-address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'ProSe-UE-to-Network-Relay-UE-ID') -> + {0, 1}; +avp_arity('ProSe-Information', 'Target-IP-Address') -> + {0, 1}; +avp_arity('ProSe-Information', + 'PC5-Radio-Technology') -> + {0, 1}; +avp_arity('PS-Furnish-Charging-Information', + '3GPP-Charging-Id') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Free-Format-Data') -> + 1; +avp_arity('PS-Furnish-Charging-Information', + 'PS-Append-Free-Format-Data') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('PS-Information', + 'PDN-Connection-Charging-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Node-Id') -> {0, 1}; +avp_arity('PS-Information', '3GPP-PDP-Type') -> {0, 1}; +avp_arity('PS-Information', 'PDP-Address') -> {0, '*'}; +avp_arity('PS-Information', + 'PDP-Address-Prefix-Length') -> + {0, 1}; +avp_arity('PS-Information', 'Dynamic-Address-Flag') -> + {0, 1}; +avp_arity('PS-Information', + 'Dynamic-Address-Flag-Extension') -> + {0, 1}; +avp_arity('PS-Information', 'QoS-Information') -> + {0, 1}; +avp_arity('PS-Information', 'SGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'GGSN-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TDF-IP-Address') -> + {0, '*'}; +avp_arity('PS-Information', 'SGW-Address') -> {0, '*'}; +avp_arity('PS-Information', 'TWAG-Address') -> {0, '*'}; +avp_arity('PS-Information', 'CG-Address') -> {0, 1}; +avp_arity('PS-Information', 'Serving-Node-Type') -> + {0, 1}; +avp_arity('PS-Information', 'SGW-Change') -> {0, 1}; +avp_arity('PS-Information', '3GPP-IMSI-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', + 'IMSI-Unauthenticated-Flag') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-GGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-NSAPI') -> {0, 1}; +avp_arity('PS-Information', 'Called-Station-Id') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Session-Stop-Indicator') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-Charging-Characteristics') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Characteristics-Selection-Mode') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'User-Location-Info-Time') -> + {0, 1}; +avp_arity('PS-Information', 'User-CSG-Information') -> + {0, 1}; +avp_arity('PS-Information', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('PS-Information', + 'TWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', '3GPP-RAT-Type') -> {0, 1}; +avp_arity('PS-Information', + 'PS-Furnish-Charging-Information') -> + {0, 1}; +avp_arity('PS-Information', 'PDP-Context-Type') -> + {0, 1}; +avp_arity('PS-Information', 'Offline-Charging') -> + {0, 1}; +avp_arity('PS-Information', 'Traffic-Data-Volumes') -> + {0, '*'}; +avp_arity('PS-Information', 'Service-Data-Container') -> + {0, '*'}; +avp_arity('PS-Information', 'User-Equipment-Info') -> + {0, 1}; +avp_arity('PS-Information', 'Start-Time') -> {0, 1}; +avp_arity('PS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('PS-Information', 'Change-Condition') -> + {0, 1}; +avp_arity('PS-Information', 'Diagnostics') -> {0, 1}; +avp_arity('PS-Information', 'Low-Priority-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'Logical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', 'Physical-Access-ID') -> + {0, 1}; +avp_arity('PS-Information', + 'Fixed-User-Location-Info') -> + {0, 1}; +avp_arity('PS-Information', + 'CN-Operator-Selection-Entity') -> + {0, 1}; +avp_arity('PS-Information', 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('PS-Information', + 'SGi-PtP-Tunnelling-Method') -> + {0, 1}; +avp_arity('PS-Information', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('PS-Information', 'UNI-PDU-CP-Only-Flag') -> + {0, 1}; +avp_arity('PS-Information', 'APN-Rate-Control') -> + {0, 1}; +avp_arity('PS-Information', + 'Charging-Per-IP-CAN-Session-Indicator') -> + {0, 1}; +avp_arity('PS-Information', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('PS-Information', 'SCS-AS-Address') -> {0, 1}; +avp_arity('PS-Information', 'Unused-Quota-Timer') -> + {0, 1}; +avp_arity('PS-Information', + 'RAN-Secondary-RAT-Usage-Report') -> + {0, '*'}; +avp_arity('PS-Information', 'AVP') -> {0, '*'}; +avp_arity('Radio-Parameter-Set-Info', + 'Radio-Parameter-Set-Values') -> + {0, 1}; +avp_arity('Radio-Parameter-Set-Info', 'Change-Time') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Secondary-RAT-Type') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('RAN-Secondary-RAT-Usage-Report', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Rate-Element', 'CC-Unit-Type') -> 1; +avp_arity('Rate-Element', 'Charge-Reason-Code') -> + {0, 1}; +avp_arity('Rate-Element', 'Unit-Value') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Cost') -> {0, 1}; +avp_arity('Rate-Element', 'Unit-Quota-Threshold') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-Information') -> + {0, 1}; +avp_arity('Real-Time-Tariff-Information', + 'Tariff-XML') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Address', 'Address-Domain') -> + {0, 1}; +avp_arity('Recipient-Address', 'Addressee-Type') -> + {0, 1}; +avp_arity('Recipient-Info', 'Destination-Interface') -> + {0, 1}; +avp_arity('Recipient-Info', 'Recipient-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', + 'Recipient-Received-Address') -> + {0, '*'}; +avp_arity('Recipient-Info', 'Recipient-SCCP-Address') -> + {0, 1}; +avp_arity('Recipient-Info', 'SM-Protocol-ID') -> {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Type') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Data') -> + {0, 1}; +avp_arity('Recipient-Received-Address', + 'Address-Domain') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'SGSN-Address') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Related-Change-Condition-Information', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Related-Change-Condition-Information', + '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Related-Trigger', 'Trigger-Type') -> + {0, '*'}; +avp_arity('Remaining-Balance', 'Unit-Value') -> 1; +avp_arity('Remaining-Balance', 'Currency-Code') -> 1; +avp_arity('Scale-Factor', 'Value-Digits') -> 1; +avp_arity('Scale-Factor', 'Exponent') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Realm') -> {0, 1}; +avp_arity('SCS-AS-Address', 'SCS-Address') -> {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Media-Name') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'SDP-Media-Description') -> + {0, '*'}; +avp_arity('SDP-Media-Component', + 'Local-GW-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'IP-Realm-Default-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Transcoder-Inserted-Indication') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Flag') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Media-Initiator-Party') -> + {0, 1}; +avp_arity('SDP-Media-Component', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('SDP-Media-Component', + 'Access-Network-Charging-Identifier-Value') -> + {0, 1}; +avp_arity('SDP-Media-Component', 'SDP-Type') -> {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Offer-Timestamp') -> + {0, 1}; +avp_arity('SDP-TimeStamps', 'SDP-Answer-Timestamp') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'AF-Correlation-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Charging-Rule-Base-Name') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Local-Sequence-Number') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'QoS-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Rating-Group') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Change-Time') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Service-Specific-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', 'SGSN-Address') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-First-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Time-Last-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', 'Time-Usage') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Change-Condition') -> + {0, '*'}; +avp_arity('Service-Data-Container', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Information') -> + {0, '*'}; +avp_arity('Service-Data-Container', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Service-Data-Container', + 'APN-Rate-Control') -> + {0, 1}; +avp_arity('Service-Data-Container', + '3GPP-PS-Data-Off-Status') -> + {0, 1}; +avp_arity('Service-Information', 'Subscription-Id') -> + {0, '*'}; +avp_arity('Service-Information', 'AoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'IMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'LCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'PoC-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MBMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'SMS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'VCS-Information') -> + {0, 1}; +avp_arity('Service-Information', 'MMTel-Information') -> + {0, 1}; +avp_arity('Service-Information', 'ProSe-Information') -> + {0, 1}; +avp_arity('Service-Information', 'CPDT-Information') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Data') -> + {0, 1}; +avp_arity('Service-Specific-Info', + 'Service-Specific-Type') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('SM-Device-Trigger-Information', + 'Validity-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Node') -> {0, 1}; +avp_arity('SMS-Information', 'Client-Address') -> + {0, 1}; +avp_arity('SMS-Information', + 'Originator-SCCP-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SMSC-Address') -> {0, 1}; +avp_arity('SMS-Information', 'Data-Coding-Scheme') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Discharge-Time') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Message-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'Originator-Interface') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Protocol-ID') -> + {0, 1}; +avp_arity('SMS-Information', 'Reply-Path-Requested') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Status') -> {0, 1}; +avp_arity('SMS-Information', 'SM-User-Data-Header') -> + {0, 1}; +avp_arity('SMS-Information', + 'Number-Of-Messages-Sent') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Sequence-Number') -> + {0, 1}; +avp_arity('SMS-Information', 'Recipient-Info') -> + {0, '*'}; +avp_arity('SMS-Information', + 'Originator-Received-Address') -> + {0, 1}; +avp_arity('SMS-Information', 'SM-Service-Type') -> + {0, 1}; +avp_arity('SMS-Information', 'SMS-Result') -> {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Indicator') -> + {0, 1}; +avp_arity('SMS-Information', + 'SM-Device-Trigger-Information') -> + {0, 1}; +avp_arity('SMS-Information', 'MTC-IWF-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'MMTel-SService-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Mode') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Diversions') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Associated-Party-Address') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Service-Id') -> + {0, 1}; +avp_arity('Supplementary-Service', 'Change-Time') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Supplementary-Service', + 'Participant-Action-Type') -> + {0, 1}; +avp_arity('Supplementary-Service', 'CUG-Information') -> + {0, 1}; +avp_arity('Supplementary-Service', 'AoC-Information') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'PoC-Change-Time') -> + 1; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', 'Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Received-Talk-Bursts') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Volume') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Received-Talk-Burst-Time') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'Number-Of-Participants') -> + {0, 1}; +avp_arity('Talk-Burst-Exchange', + 'PoC-Change-Condition') -> + {0, 1}; +avp_arity('Tariff-Information', 'Current-Tariff') -> 1; +avp_arity('Tariff-Information', 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Tariff-Information', 'Next-Tariff') -> + {0, 1}; +avp_arity('Time-Quota-Mechanism', 'Time-Quota-Type') -> + 1; +avp_arity('Time-Quota-Mechanism', + 'Base-Time-Interval') -> + 1; +avp_arity('Time-Stamps', 'SIP-Request-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', 'SIP-Response-Timestamp') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Request-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Time-Stamps', + 'SIP-Response-Timestamp-Fraction') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'QoS-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Input-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Accounting-Output-Octets') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Condition') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Change-Time') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'UWAN-User-Location-Info') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-Charging-Id') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'User-CSG-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', '3GPP-RAT-Type') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Related-Change-Condition-Information') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', 'Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'Enhanced-Diagnostics') -> + {0, 1}; +avp_arity('Traffic-Data-Volumes', + 'CP-CIoT-EPS-Optimisation-Indicator') -> + {0, 1}; +avp_arity('Transmitter-Info', + 'ProSe-Source-IP-Address') -> + {0, 1}; +avp_arity('Transmitter-Info', 'ProSe-UE-ID') -> {0, 1}; +avp_arity('Trigger', 'Trigger-Type') -> {0, '*'}; +avp_arity('Trunk-Group-Id', + 'Incoming-Trunk-Group-Id') -> + {0, 1}; +avp_arity('Trunk-Group-Id', + 'Outgoing-Trunk-Group-Id') -> + {0, 1}; +avp_arity('TWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Unit-Cost', 'Value-Digits') -> 1; +avp_arity('Unit-Cost', 'Exponent') -> {0, 1}; +avp_arity('User-CSG-Information', 'CSG-Access-Mode') -> + 1; +avp_arity('User-CSG-Information', + 'CSG-Membership-Indication') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', + 'UE-Local-IP-Address') -> + 1; +avp_arity('UWAN-User-Location-Info', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('UWAN-User-Location-Info', 'BSSID') -> {0, 1}; +avp_arity('Variable-Part', 'Variable-Part-Type') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Value') -> 1; +avp_arity('Variable-Part', 'Variable-Part-Order') -> + {0, 1}; +avp_arity('VCS-Information', 'Bearer-Capability') -> + {0, 1}; +avp_arity('VCS-Information', + 'Network-Call-Reference-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'MSC-Address') -> {0, 1}; +avp_arity('VCS-Information', 'Basic-Service-Code') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Location-Number') -> + {0, 1}; +avp_arity('VCS-Information', 'VLR-Number') -> {0, 1}; +avp_arity('VCS-Information', 'Forwarding-Pending') -> + {0, 1}; +avp_arity('VCS-Information', 'ISUP-Cause') -> {0, 1}; +avp_arity('VCS-Information', 'Start-Time') -> {0, 1}; +avp_arity('VCS-Information', 'Start-of-Charging') -> + {0, 1}; +avp_arity('VCS-Information', 'Stop-Time') -> {0, 1}; +avp_arity('VCS-Information', 'PS-Free-Format-Data') -> + {0, 1}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Medium-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Client-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Server-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Preference') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Client-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Server-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Assignment-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Password') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Private-Group-Id') -> + {0, 1}; +avp_arity('Cost-Information', 'Unit-Value') -> 1; +avp_arity('Cost-Information', 'Currency-Code') -> 1; +avp_arity('Cost-Information', 'Cost-Unit') -> {0, 1}; +avp_arity('Unit-Value', 'Value-Digits') -> 1; +avp_arity('Unit-Value', 'Exponent') -> {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Granted-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Requested-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Used-Service-Unit') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Service-Identifier') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Rating-Group') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'G-S-U-Pool-Reference') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Validity-Time') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Result-Code') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', 'AVP') -> + {0, '*'}; +avp_arity('Granted-Service-Unit', + 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Requested-Service-Unit', 'CC-Time') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'CC-Money') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Used-Service-Unit', 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('CC-Money', 'Unit-Value') -> 1; +avp_arity('CC-Money', 'Currency-Code') -> {0, 1}; +avp_arity('G-S-U-Pool-Reference', + 'G-S-U-Pool-Identifier') -> + 1; +avp_arity('G-S-U-Pool-Reference', 'CC-Unit-Type') -> 1; +avp_arity('G-S-U-Pool-Reference', 'Unit-Value') -> 1; +avp_arity('Final-Unit-Indication', + 'Final-Unit-Action') -> + 1; +avp_arity('Final-Unit-Indication', + 'Restriction-Filter-Rule') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Filter-Id') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Redirect-Server') -> + {0, 1}; +avp_arity('Redirect-Server', 'Redirect-Address-Type') -> + 1; +avp_arity('Redirect-Server', + 'Redirect-Server-Address') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Type') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Value') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Type') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Data') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Type') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Value') -> + 1; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Access-Network-Charging-Identifier-Value') -> + 1; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'IP-CAN-Session-Charging-Scope') -> + {0, 1}; +avp_arity('Access-Network-Charging-Identifier-Gx', + 'AVP') -> + {0, '*'}; +avp_arity('Allocation-Retention-Priority', + 'Priority-Level') -> + 1; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Capability') -> + {0, 1}; +avp_arity('Allocation-Retention-Priority', + 'Pre-emption-Vulnerability') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'TDF-Application-Identifier') -> + 1; +avp_arity('Application-Detection-Information', + 'TDF-Application-Instance-Identifier') -> + {0, 1}; +avp_arity('Application-Detection-Information', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Application-Detection-Information', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Charging-Rule-Name') -> + 1; +avp_arity('Charging-Rule-Definition', + 'Service-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Rating-Group') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Flow-Information') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'TDF-Application-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flow-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'QoS-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'PS-to-CS-Session-Continuity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Reporting-Level') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Online') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Offline') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Metering-Method') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Charging-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', 'Flows') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Redirect-Information') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Mute-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'AF-Signalling-Protocol') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Sponsor-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Application-Service-Provider-Identity') -> + {0, 1}; +avp_arity('Charging-Rule-Definition', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Definition', 'AVP') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Definition') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Install', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Activation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Rule-Deactivation-Time') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Resource-Allocation-Notification') -> + {0, 1}; +avp_arity('Charging-Rule-Install', + 'Charging-Correlation-Indicator') -> + {0, 1}; +avp_arity('Charging-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', + 'Required-Access-Info') -> + {0, '*'}; +avp_arity('Charging-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Charging-Rule-Base-Name') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', + 'Bearer-Identifier') -> + {0, 1}; +avp_arity('Charging-Rule-Report', 'PCC-Rule-Status') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Rule-Failure-Code') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Charging-Rule-Report', + 'RAN-NAS-Release-Cause') -> + {0, '*'}; +avp_arity('Charging-Rule-Report', 'AVP') -> {0, '*'}; +avp_arity('CoA-Information', 'Tunnel-Information') -> 1; +avp_arity('CoA-Information', 'CoA-IP-Address') -> 1; +avp_arity('CoA-Information', 'AVP') -> {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'IP-CAN-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'RAT-Type') -> + {0, '*'}; +avp_arity('Conditional-APN-Aggregate-Max-Bitrate', + 'AVP') -> + {0, '*'}; +avp_arity('Default-EPS-Bearer-QoS', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('Default-EPS-Bearer-QoS', 'AVP') -> {0, '*'}; +avp_arity('Default-QoS-Information', + 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('Default-QoS-Information', + 'Default-QoS-Name') -> + {0, 1}; +avp_arity('Default-QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Event-Report-Indication', 'Event-Trigger') -> + {0, '*'}; +avp_arity('Event-Report-Indication', 'IP-CAN-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AN-GW-Address') -> + {0, 2}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-IPv6-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-SGSN-MCC-MNC') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Framed-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAT-Type') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'RAI') -> {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-User-Location-Info') -> + {0, 1}; +avp_arity('Event-Report-Indication', + '3GPP-MS-TimeZone') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UE-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'HeNB-Local-IP-Address') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'UDP-Source-Port') -> + {0, 1}; +avp_arity('Event-Report-Indication', + 'Presence-Reporting-Area-Information') -> + {0, 1}; +avp_arity('Event-Report-Indication', 'AVP') -> {0, '*'}; +avp_arity('Fixed-User-Location-Info', + 'Logical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', + 'Physical-Access-ID') -> + {0, 1}; +avp_arity('Fixed-User-Location-Info', 'AVP') -> + {0, '*'}; +avp_arity('Flow-Information', 'Flow-Description') -> + {0, 1}; +avp_arity('Flow-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Flow-Information', 'Packet-Filter-Usage') -> + {0, 1}; +avp_arity('Flow-Information', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Flow-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Flow-Information', 'Flow-Label') -> {0, 1}; +avp_arity('Flow-Information', 'Flow-Direction') -> + {0, 1}; +avp_arity('Flow-Information', 'AVP') -> {0, '*'}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Identifier') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Precedence') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Packet-Filter-Content') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'Flow-Label') -> + {0, 1}; +avp_arity('Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Identifier') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Status') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'Presence-Reporting-Area-Elements-List') -> + {0, 1}; +avp_arity('Presence-Reporting-Area-Information', + 'AVP') -> + {0, '*'}; +avp_arity('QoS-Information', 'QoS-Class-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Max-Requested-Bandwidth-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', 'Guaranteed-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', 'Bearer-Identifier') -> + {0, 1}; +avp_arity('QoS-Information', + 'Allocation-Retention-Priority') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-UL') -> + {0, 1}; +avp_arity('QoS-Information', + 'APN-Aggregate-Max-Bitrate-DL') -> + {0, 1}; +avp_arity('QoS-Information', + 'Conditional-APN-Aggregate-Max-Bitrate') -> + {0, '*'}; +avp_arity('QoS-Information', 'AVP') -> {0, '*'}; +avp_arity('Redirect-Information', 'Redirect-Support') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Address-Type') -> + {0, 1}; +avp_arity('Redirect-Information', + 'Redirect-Server-Address') -> + {0, 1}; +avp_arity('Redirect-Information', 'AVP') -> {0, '*'}; +avp_arity('Routing-Filter', 'Flow-Description') -> 1; +avp_arity('Routing-Filter', 'Flow-Direction') -> 1; +avp_arity('Routing-Filter', 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('Routing-Filter', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('Routing-Filter', 'Flow-Label') -> {0, 1}; +avp_arity('Routing-Filter', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Definition', + 'Routing-Rule-Identifier') -> + 1; +avp_arity('Routing-Rule-Definition', + 'Routing-Filter') -> + {0, '*'}; +avp_arity('Routing-Rule-Definition', 'Precedence') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', + 'Routing-IP-Address') -> + {0, 1}; +avp_arity('Routing-Rule-Definition', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Install', + 'Routing-Rule-Definition') -> + {0, '*'}; +avp_arity('Routing-Rule-Install', 'AVP') -> {0, '*'}; +avp_arity('Routing-Rule-Remove', + 'Routing-Rule-Identifier') -> + {0, '*'}; +avp_arity('Routing-Rule-Remove', 'AVP') -> {0, '*'}; +avp_arity('TDF-Information', 'TDF-Destination-Realm') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-Destination-Host') -> + {0, 1}; +avp_arity('TDF-Information', 'TDF-IP-Address') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Length') -> + {0, 1}; +avp_arity('Tunnel-Information', + 'Tunnel-Header-Filter') -> + {0, 2}; +avp_arity('Tunnel-Information', 'AVP') -> {0, '*'}; +avp_arity('TFT-Packet-Filter-Information', + 'Precedence') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'TFT-Filter') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'ToS-Traffic-Class') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Security-Parameter-Index') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Label') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', + 'Flow-Direction') -> + {0, 1}; +avp_arity('TFT-Packet-Filter-Information', 'AVP') -> + {0, '*'}; +avp_arity('Usage-Monitoring-Information', + 'Monitoring-Key') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Granted-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Used-Service-Unit') -> + {0, 2}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Level') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Report') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', + 'Usage-Monitoring-Support') -> + {0, 1}; +avp_arity('Usage-Monitoring-Information', 'AVP') -> + {0, '*'}; +avp_arity('Flows', 'Media-Component-Number') -> 1; +avp_arity('Flows', 'Flow-Number') -> {0, '*'}; +avp_arity('Flows', 'Final-Unit-Action') -> {0, 1}; +avp_arity('Charging-Information', + 'Primary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Event-Charging-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Primary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', + 'Secondary-Charging-Collection-Function-Name') -> + {0, 1}; +avp_arity('Charging-Information', 'AVP') -> {0, '*'}; +avp_arity('Supported-Features', 'Vendor-Id') -> 1; +avp_arity('Supported-Features', 'Feature-List-ID') -> 1; +avp_arity('Supported-Features', 'Feature-List') -> 1; +avp_arity('Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('Supported-Applications', + 'Auth-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Acct-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', + 'Vendor-Specific-Application-Id') -> + {0, '*'}; +avp_arity('Supported-Applications', 'AVP') -> {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Item-Number') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Scheme') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'SIP-Authorization') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Authentication-Context') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Confidentiality-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Integrity-Key') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'SIP-Digest-Authenticate') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IP-Address') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Framed-IPv6-Prefix') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', + 'Framed-Interface-Id') -> + {0, 1}; +avp_arity('SIP-Auth-Data-Item', 'Line-Identifier') -> + {0, '*'}; +avp_arity('SIP-Auth-Data-Item', 'AVP') -> {0, '*'}; +avp_arity('Deregistration-Reason', 'Reason-Code') -> 1; +avp_arity('Deregistration-Reason', 'Reason-Info') -> + {0, 1}; +avp_arity('Deregistration-Reason', 'AVP') -> {0, '*'}; +avp_arity('SIP-Digest-Authenticate', 'Digest-Realm') -> + 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-QoP') -> 1; +avp_arity('SIP-Digest-Authenticate', 'Digest-HA1') -> 1; +avp_arity('SIP-Digest-Authenticate', + 'Digest-Algorithm') -> + {0, 1}; +avp_arity('SIP-Digest-Authenticate', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('3GPP-PS-Data-Off-Status') -> + {4406, 192, 10415}; +avp_header('AF-Correlation-Information') -> + {1276, 192, 10415}; +avp_header('APN-Rate-Control') -> {3933, 192, 10415}; +avp_header('APN-Rate-Control-Downlink') -> + {3934, 192, 10415}; +avp_header('APN-Rate-Control-Uplink') -> + {3935, 192, 10415}; +avp_header('Access-Network-Info-Change') -> + {4401, 192, 10415}; +avp_header('Access-Network-Information') -> + {1263, 192, 10415}; +avp_header('Access-Transfer-Information') -> + {2709, 192, 10415}; +avp_header('Access-Transfer-Type') -> + {2710, 192, 10415}; +avp_header('Account-Expiration') -> {2309, 192, 10415}; +avp_header('Accumulated-Cost') -> {2052, 192, 10415}; +avp_header('Adaptations') -> {1217, 192, 10415}; +avp_header('Additional-Content-Information') -> + {1207, 192, 10415}; +avp_header('Additional-Exception-Reports') -> + {3936, 192, 10415}; +avp_header('Additional-Type-Information') -> + {1205, 192, 10415}; +avp_header('Address-Data') -> {897, 192, 10415}; +avp_header('Address-Domain') -> {898, 192, 10415}; +avp_header('Address-Type') -> {899, 192, 10415}; +avp_header('Addressee-Type') -> {1208, 192, 10415}; +avp_header('Alternate-Charged-Party-Address') -> + {1280, 192, 10415}; +avp_header('Announcement-Identifier') -> + {3905, 192, 10415}; +avp_header('Announcement-Information') -> + {3904, 192, 10415}; +avp_header('Announcement-Order') -> {3906, 192, 10415}; +avp_header('Announcing-PLMN-ID') -> {4408, 192, 10415}; +avp_header('Announcing-UE-HPLMN-Identifier') -> + {3426, 192, 10415}; +avp_header('Announcing-UE-VPLMN-Identifier') -> + {3427, 192, 10415}; +avp_header('AoC-Cost-Information') -> + {2053, 192, 10415}; +avp_header('AoC-Format') -> {2310, 192, 10415}; +avp_header('AoC-Information') -> {2054, 192, 10415}; +avp_header('AoC-Request-Type') -> {2055, 192, 10415}; +avp_header('AoC-Service') -> {2311, 192, 10415}; +avp_header('AoC-Service-Obligatory-Type') -> + {2312, 192, 10415}; +avp_header('AoC-Service-Type') -> {2313, 192, 10415}; +avp_header('AoC-Subscription-Information') -> + {2314, 192, 10415}; +avp_header('Applic-ID') -> {1218, 192, 10415}; +avp_header('Application-Provided-Called-Party-Address') -> + {837, 192, 10415}; +avp_header('Application-Server') -> {836, 192, 10415}; +avp_header('Application-Server-Information') -> + {850, 192, 10415}; +avp_header('Application-Specific-Data') -> + {3458, 192, 10415}; +avp_header('Associated-Party-Address') -> + {2035, 192, 10415}; +avp_header('Associated-URI') -> {856, 192, 10415}; +avp_header('Authorised-QoS') -> {849, 192, 10415}; +avp_header('Aux-Applic-Info') -> {1219, 192, 10415}; +avp_header('BSSID') -> {2716, 192, 10415}; +avp_header('Base-Time-Interval') -> {1265, 192, 10415}; +avp_header('Basic-Service-Code') -> {3411, 192, 10415}; +avp_header('Bearer-Capability') -> {3412, 192, 10415}; +avp_header('Bearer-Service') -> {854, 192, 10415}; +avp_header('CG-Address') -> {846, 192, 10415}; +avp_header('CN-Operator-Selection-Entity') -> + {3421, 192, 10415}; +avp_header('CP-CIoT-EPS-Optimisation-Indicator') -> + {3930, 192, 10415}; +avp_header('CPDT-Information') -> {3927, 192, 10415}; +avp_header('CSG-Access-Mode') -> {2317, 192, 10415}; +avp_header('CSG-Membership-Indication') -> + {2318, 192, 10415}; +avp_header('CUG-Information') -> {2304, 192, 10415}; +avp_header('Called-Asserted-Identity') -> + {1250, 192, 10415}; +avp_header('Called-Identity') -> {3916, 192, 10415}; +avp_header('Called-Identity-Change') -> + {3917, 192, 10415}; +avp_header('Called-Party-Address') -> {832, 192, 10415}; +avp_header('Calling-Party-Address') -> + {831, 192, 10415}; +avp_header('Carrier-Select-Routing-Information') -> + {2023, 192, 10415}; +avp_header('Cause-Code') -> {861, 192, 10415}; +avp_header('Cellular-Network-Information') -> + {3924, 192, 10415}; +avp_header('Change-Condition') -> {2037, 192, 10415}; +avp_header('Change-Time') -> {2038, 192, 10415}; +avp_header('Charge-Reason-Code') -> {2118, 192, 10415}; +avp_header('Charged-Party') -> {857, 192, 10415}; +avp_header('Charging-Characteristics-Selection-Mode') -> + {2066, 192, 10415}; +avp_header('Charging-Per-IP-CAN-Session-Indicator') -> + {4400, 192, 10415}; +avp_header('Class-Identifier') -> {1214, 192, 10415}; +avp_header('Client-Address') -> {2018, 192, 10415}; +avp_header('Content-Class') -> {1220, 192, 10415}; +avp_header('Content-Disposition') -> {828, 192, 10415}; +avp_header('Content-Length') -> {827, 192, 10415}; +avp_header('Content-Size') -> {1206, 192, 10415}; +avp_header('Content-Type') -> {826, 192, 10415}; +avp_header('Coverage-Info') -> {3459, 192, 10415}; +avp_header('Coverage-Status') -> {3428, 192, 10415}; +avp_header('Current-Tariff') -> {2056, 192, 10415}; +avp_header('DRM-Content') -> {1221, 192, 10415}; +avp_header('Data-Coding-Scheme') -> {2001, 192, 10415}; +avp_header('Deferred-Location-Event-Type') -> + {1230, 192, 10415}; +avp_header('Delivery-Report-Requested') -> + {1216, 192, 10415}; +avp_header('Destination-Interface') -> + {2002, 192, 10415}; +avp_header('Diagnostics') -> {2039, 192, 10415}; +avp_header('Discoveree-UE-HPLMN-Identifier') -> + {4402, 192, 10415}; +avp_header('Discoveree-UE-VPLMN-Identifier') -> + {4403, 192, 10415}; +avp_header('Discoverer-UE-HPLMN-Identifier') -> + {4404, 192, 10415}; +avp_header('Discoverer-UE-VPLMN-Identifier') -> + {4405, 192, 10415}; +avp_header('Domain-Name') -> {1200, 192, 10415}; +avp_header('Dynamic-Address-Flag') -> + {2051, 192, 10415}; +avp_header('Dynamic-Address-Flag-Extension') -> + {2068, 192, 10415}; +avp_header('EPDG-Address') -> {3425, 192, 10415}; +avp_header('Early-Media-Description') -> + {1272, 192, 10415}; +avp_header('Enhanced-Diagnostics') -> + {3901, 192, 10415}; +avp_header('Envelope') -> {1266, 192, 10415}; +avp_header('Envelope-End-Time') -> {1267, 192, 10415}; +avp_header('Envelope-Reporting') -> {1268, 192, 10415}; +avp_header('Envelope-Start-Time') -> {1269, 192, 10415}; +avp_header('Event') -> {825, 192, 10415}; +avp_header('Event-Charging-TimeStamp') -> + {1258, 192, 10415}; +avp_header('Event-Type') -> {823, 192, 10415}; +avp_header('Expires') -> {888, 192, 10415}; +avp_header('FE-Identifier-List') -> {4413, 192, 10415}; +avp_header('File-Repair-Supported') -> + {1224, 192, 10415}; +avp_header('Forwarding-Pending') -> {3415, 192, 10415}; +avp_header('From-Address') -> {2708, 192, 10415}; +avp_header('GGSN-Address') -> {847, 192, 10415}; +avp_header('IMS-Application-Reference-Identifier') -> + {2601, 192, 10415}; +avp_header('IMS-Charging-Identifier') -> + {841, 192, 10415}; +avp_header('IMS-Communication-Service-Identifier') -> + {1281, 192, 10415}; +avp_header('IMS-Emergency-Indicator') -> + {2322, 192, 10415}; +avp_header('IMS-Information') -> {876, 192, 10415}; +avp_header('IMS-Visited-Network-Identifier') -> + {2713, 192, 10415}; +avp_header('IMSI-Unauthenticated-Flag') -> + {2308, 192, 10415}; +avp_header('IP-Realm-Default-Indication') -> + {2603, 192, 10415}; +avp_header('ISUP-Cause') -> {3416, 192, 10415}; +avp_header('ISUP-Cause-Diagnostics') -> + {3422, 192, 10415}; +avp_header('ISUP-Cause-Location') -> {3423, 192, 10415}; +avp_header('ISUP-Cause-Value') -> {3424, 192, 10415}; +avp_header('ISUP-Location-Number') -> + {3414, 192, 10415}; +avp_header('Incoming-Trunk-Group-Id') -> + {852, 192, 10415}; +avp_header('Incremental-Cost') -> {2062, 192, 10415}; +avp_header('Initial-IMS-Charging-Identifier') -> + {2321, 192, 10415}; +avp_header('Instance-Id') -> {3402, 192, 10415}; +avp_header('Inter-Operator-Identifier') -> + {838, 192, 10415}; +avp_header('Inter-UE-Transfer') -> {3902, 192, 10415}; +avp_header('Interface-Id') -> {2003, 192, 10415}; +avp_header('Interface-Port') -> {2004, 192, 10415}; +avp_header('Interface-Text') -> {2005, 192, 10415}; +avp_header('Interface-Type') -> {2006, 192, 10415}; +avp_header('LCS-APN') -> {1231, 192, 10415}; +avp_header('LCS-Client-Dialed-By-MS') -> + {1233, 192, 10415}; +avp_header('LCS-Client-External-ID') -> + {1234, 192, 10415}; +avp_header('LCS-Client-ID') -> {1232, 192, 10415}; +avp_header('LCS-Client-Name') -> {1235, 192, 10415}; +avp_header('LCS-Client-Type') -> {1241, 192, 10415}; +avp_header('LCS-Data-Coding-Scheme') -> + {1236, 192, 10415}; +avp_header('LCS-Format-Indicator') -> + {1237, 192, 10415}; +avp_header('LCS-Information') -> {878, 192, 10415}; +avp_header('LCS-Name-String') -> {1238, 192, 10415}; +avp_header('LCS-Requestor-ID') -> {1239, 192, 10415}; +avp_header('LCS-Requestor-ID-String') -> + {1240, 192, 10415}; +avp_header('Language') -> {3914, 192, 10415}; +avp_header('Layer-2-Group-ID') -> {3429, 192, 10415}; +avp_header('Local-GW-Inserted-Indication') -> + {2604, 192, 10415}; +avp_header('Local-Sequence-Number') -> + {2063, 192, 10415}; +avp_header('Location-Estimate') -> {1242, 192, 10415}; +avp_header('Location-Estimate-Type') -> + {1243, 192, 10415}; +avp_header('Location-Info') -> {3460, 192, 10415}; +avp_header('Location-Type') -> {1244, 192, 10415}; +avp_header('Low-Balance-Indication') -> + {2020, 192, 10415}; +avp_header('Low-Priority-Indicator') -> + {2602, 192, 10415}; +avp_header('MBMS-Charged-Party') -> {2323, 192, 10415}; +avp_header('MBMS-GW-Address') -> {2307, 192, 10415}; +avp_header('MBMS-Information') -> {880, 192, 10415}; +avp_header('MBMS-User-Service-Type') -> + {1225, 192, 10415}; +avp_header('MM-Content-Type') -> {1203, 192, 10415}; +avp_header('MMBox-Storage-Requested') -> + {1248, 192, 10415}; +avp_header('MMS-Information') -> {877, 192, 10415}; +avp_header('MMTel-Information') -> {2030, 192, 10415}; +avp_header('MMTel-SService-Type') -> {2031, 192, 10415}; +avp_header('MSC-Address') -> {3417, 192, 10415}; +avp_header('MTC-IWF-Address') -> {3406, 192, 10415}; +avp_header('Media-Initiator-Flag') -> {882, 192, 10415}; +avp_header('Media-Initiator-Party') -> + {1288, 192, 10415}; +avp_header('Message-Body') -> {889, 192, 10415}; +avp_header('Message-Class') -> {1213, 192, 10415}; +avp_header('Message-ID') -> {1210, 192, 10415}; +avp_header('Message-Size') -> {1212, 192, 10415}; +avp_header('Message-Type') -> {1211, 192, 10415}; +avp_header('Monitored-PLMN-Identifier') -> + {3430, 192, 10415}; +avp_header('Monitoring-Event-Configuration-Activity') -> + {3919, 192, 10415}; +avp_header('Monitoring-Event-Functionality') -> + {3922, 192, 10415}; +avp_header('Monitoring-Event-Information') -> + {3921, 192, 10415}; +avp_header('Monitoring-Event-Report-Data') -> + {3920, 192, 10415}; +avp_header('Monitoring-Event-Report-Number') -> + {3923, 192, 10415}; +avp_header('Monitoring-UE-HPLMN-Identifier') -> + {3431, 192, 10415}; +avp_header('Monitoring-UE-Identifier') -> + {3432, 192, 10415}; +avp_header('Monitoring-UE-VPLMN-Identifier') -> + {3433, 192, 10415}; +avp_header('NIDD-Submission') -> {3928, 192, 10415}; +avp_header('NNI-Information') -> {2703, 192, 10415}; +avp_header('NNI-Type') -> {2704, 192, 10415}; +avp_header('Neighbour-Node-Address') -> + {2705, 192, 10415}; +avp_header('Network-Call-Reference-Number') -> + {3418, 192, 10415}; +avp_header('Next-Tariff') -> {2057, 192, 10415}; +avp_header('Node-Functionality') -> {862, 192, 10415}; +avp_header('Node-Id') -> {2064, 192, 10415}; +avp_header('Number-Of-Diversions') -> + {2034, 192, 10415}; +avp_header('Number-Of-Messages-Sent') -> + {2019, 192, 10415}; +avp_header('Number-Of-Participants') -> + {885, 192, 10415}; +avp_header('Number-Of-Received-Talk-Bursts') -> + {1282, 192, 10415}; +avp_header('Number-Of-Talk-Bursts') -> + {1283, 192, 10415}; +avp_header('Number-Portability-Routing-Information') -> + {2024, 192, 10415}; +avp_header('Offline-Charging') -> {1278, 192, 10415}; +avp_header('Online-Charging-Flag') -> + {2303, 192, 10415}; +avp_header('Originating-IOI') -> {839, 192, 10415}; +avp_header('Originator') -> {864, 192, 10415}; +avp_header('Originator-Address') -> {886, 192, 10415}; +avp_header('Originator-Interface') -> + {2009, 192, 10415}; +avp_header('Originator-Received-Address') -> + {2027, 192, 10415}; +avp_header('Originator-SCCP-Address') -> + {2008, 192, 10415}; +avp_header('Outgoing-Session-Id') -> {2320, 192, 10415}; +avp_header('Outgoing-Trunk-Group-Id') -> + {853, 192, 10415}; +avp_header('PC3-Control-Protocol-Cause') -> + {3434, 192, 10415}; +avp_header('PC3-EPC-Control-Protocol-Cause') -> + {3435, 192, 10415}; +avp_header('PC5-Radio-Technology') -> + {1300, 128, 10415}; +avp_header('PDN-Connection-Charging-ID') -> + {2050, 192, 10415}; +avp_header('PDP-Address') -> {1227, 192, 10415}; +avp_header('PDP-Address-Prefix-Length') -> + {2606, 192, 10415}; +avp_header('PDP-Context-Type') -> {1247, 192, 10415}; +avp_header('PS-Append-Free-Format-Data') -> + {867, 192, 10415}; +avp_header('PS-Free-Format-Data') -> {866, 192, 10415}; +avp_header('PS-Furnish-Charging-Information') -> + {865, 192, 10415}; +avp_header('PS-Information') -> {874, 192, 10415}; +avp_header('Participant-Access-Priority') -> + {1259, 192, 10415}; +avp_header('Participant-Action-Type') -> + {2049, 192, 10415}; +avp_header('Participant-Group') -> {1260, 192, 10415}; +avp_header('Participants-Involved') -> + {887, 192, 10415}; +avp_header('Play-Alternative') -> {3913, 192, 10415}; +avp_header('PoC-Change-Condition') -> + {1261, 192, 10415}; +avp_header('PoC-Change-Time') -> {1262, 192, 10415}; +avp_header('PoC-Controlling-Address') -> + {858, 192, 10415}; +avp_header('PoC-Event-Type') -> {2025, 192, 10415}; +avp_header('PoC-Group-Name') -> {859, 192, 10415}; +avp_header('PoC-Information') -> {879, 192, 10415}; +avp_header('PoC-Server-Role') -> {883, 192, 10415}; +avp_header('PoC-Session-Id') -> {1229, 192, 10415}; +avp_header('PoC-Session-Initiation-Type') -> + {1277, 192, 10415}; +avp_header('PoC-Session-Type') -> {884, 192, 10415}; +avp_header('PoC-User-Role') -> {1252, 192, 10415}; +avp_header('PoC-User-Role-IDs') -> {1253, 192, 10415}; +avp_header('PoC-User-Role-Info-Units') -> + {1254, 192, 10415}; +avp_header('Positioning-Data') -> {1245, 192, 10415}; +avp_header('Preferred-AoC-Currency') -> + {2315, 192, 10415}; +avp_header('Priority') -> {1209, 192, 10415}; +avp_header('Privacy-Indicator') -> {3915, 192, 10415}; +avp_header('ProSe-3rd-Party-Application-ID') -> + {3440, 192, 10415}; +avp_header('ProSe-Direct-Communication-Reception-Data-Container') -> + {3461, 192, 10415}; +avp_header('ProSe-Direct-Communication-Transmission-Data-Container') -> + {3441, 192, 10415}; +avp_header('ProSe-Direct-Discovery-Model') -> + {3442, 192, 10415}; +avp_header('ProSe-Event-Type') -> {3443, 192, 10415}; +avp_header('ProSe-Function-IP-Address') -> + {3444, 192, 10415}; +avp_header('ProSe-Function-PLMN-Identifier') -> + {3457, 192, 10415}; +avp_header('ProSe-Functionality') -> {3445, 192, 10415}; +avp_header('ProSe-Group-IP-Multicast-Address') -> + {3446, 192, 10415}; +avp_header('ProSe-Information') -> {3447, 192, 10415}; +avp_header('ProSe-Range-Class') -> {3448, 192, 10415}; +avp_header('ProSe-Reason-For-Cancellation') -> + {3449, 192, 10415}; +avp_header('ProSe-Request-Timestamp') -> + {3450, 192, 10415}; +avp_header('ProSe-Role-Of-UE') -> {3451, 192, 10415}; +avp_header('ProSe-Source-IP-Address') -> + {3452, 192, 10415}; +avp_header('ProSe-Target-Layer-2-ID') -> + {4410, 192, 10415}; +avp_header('ProSe-UE-ID') -> {3453, 192, 10415}; +avp_header('ProSe-UE-to-Network-Relay-UE-ID') -> + {4409, 192, 10415}; +avp_header('Proximity-Alert-Indication') -> + {3454, 192, 10415}; +avp_header('Proximity-Alert-Timestamp') -> + {3455, 192, 10415}; +avp_header('Proximity-Cancellation-Timestamp') -> + {3456, 192, 10415}; +avp_header('Quota-Consumption-Time') -> + {881, 192, 10415}; +avp_header('Quota-Holding-Time') -> {871, 192, 10415}; +avp_header('Quota-Indicator') -> {3912, 192, 10415}; +avp_header('RAN-End-Time') -> {1301, 128, 10415}; +avp_header('RAN-Secondary-RAT-Usage-Report') -> + {1302, 128, 10415}; +avp_header('RAN-Start-Time') -> {1303, 128, 10415}; +avp_header('Radio-Frequency') -> {3462, 192, 10415}; +avp_header('Radio-Parameter-Set-Info') -> + {3463, 192, 10415}; +avp_header('Radio-Parameter-Set-Values') -> + {3464, 192, 10415}; +avp_header('Radio-Resources-Indicator') -> + {3465, 192, 10415}; +avp_header('Rate-Control-Max-Message-Size') -> + {3937, 192, 10415}; +avp_header('Rate-Control-Max-Rate') -> + {3938, 192, 10415}; +avp_header('Rate-Control-Time-Unit') -> + {3939, 192, 10415}; +avp_header('Rate-Element') -> {2058, 192, 10415}; +avp_header('Read-Reply-Report-Requested') -> + {1222, 192, 10415}; +avp_header('Real-Time-Tariff-Information') -> + {2305, 192, 10415}; +avp_header('Reason-Header') -> {3401, 192, 10415}; +avp_header('Received-Talk-Burst-Time') -> + {1284, 192, 10415}; +avp_header('Received-Talk-Burst-Volume') -> + {1285, 192, 10415}; +avp_header('Recipient-Address') -> {1201, 192, 10415}; +avp_header('Recipient-Info') -> {2026, 192, 10415}; +avp_header('Recipient-Received-Address') -> + {2028, 192, 10415}; +avp_header('Recipient-SCCP-Address') -> + {2010, 192, 10415}; +avp_header('Refund-Information') -> {2022, 192, 10415}; +avp_header('Related-Change-Condition-Information') -> + {3925, 192, 10415}; +avp_header('Related-IMS-Charging-Identifier') -> + {2711, 192, 10415}; +avp_header('Related-IMS-Charging-Identifier-Node') -> + {2712, 192, 10415}; +avp_header('Related-Trigger') -> {3926, 192, 10415}; +avp_header('Relationship-Mode') -> {2706, 192, 10415}; +avp_header('Relay-IP-address') -> {4411, 192, 10415}; +avp_header('Remaining-Balance') -> {2021, 192, 10415}; +avp_header('Reply-Applic-ID') -> {1223, 192, 10415}; +avp_header('Reply-Path-Requested') -> + {2011, 192, 10415}; +avp_header('Reporting-Reason') -> {872, 192, 10415}; +avp_header('Requested-PLMN-Identifier') -> + {3436, 192, 10415}; +avp_header('Requested-Party-Address') -> + {1251, 192, 10415}; +avp_header('Requestor-PLMN-Identifier') -> + {3437, 192, 10415}; +avp_header('Role-Of-Node') -> {829, 192, 10415}; +avp_header('Role-Of-ProSe-Function') -> + {3438, 192, 10415}; +avp_header('Route-Header-Received') -> + {3403, 192, 10415}; +avp_header('Route-Header-Transmitted') -> + {3404, 192, 10415}; +avp_header('SCS-AS-Address') -> {3940, 192, 10415}; +avp_header('SCS-Address') -> {3941, 192, 10415}; +avp_header('SCS-Realm') -> {3942, 192, 10415}; +avp_header('SDP-Answer-Timestamp') -> + {1275, 192, 10415}; +avp_header('SDP-Media-Component') -> {843, 192, 10415}; +avp_header('SDP-Media-Description') -> + {845, 192, 10415}; +avp_header('SDP-Media-Name') -> {844, 192, 10415}; +avp_header('SDP-Offer-Timestamp') -> {1274, 192, 10415}; +avp_header('SDP-Session-Description') -> + {842, 192, 10415}; +avp_header('SDP-TimeStamps') -> {1273, 192, 10415}; +avp_header('SDP-Type') -> {2036, 192, 10415}; +avp_header('SGSN-Address') -> {1228, 192, 10415}; +avp_header('SGW-Address') -> {2067, 192, 10415}; +avp_header('SGW-Change') -> {2065, 192, 10415}; +avp_header('SGi-PtP-Tunnelling-Method') -> + {3931, 192, 10415}; +avp_header('SIP-Method') -> {824, 192, 10415}; +avp_header('SIP-Request-Timestamp') -> + {834, 192, 10415}; +avp_header('SIP-Request-Timestamp-Fraction') -> + {2301, 192, 10415}; +avp_header('SIP-Response-Timestamp') -> + {835, 192, 10415}; +avp_header('SIP-Response-Timestamp-Fraction') -> + {2302, 192, 10415}; +avp_header('SM-Device-Trigger-Indicator') -> + {3407, 192, 10415}; +avp_header('SM-Device-Trigger-Information') -> + {3405, 192, 10415}; +avp_header('SM-Discharge-Time') -> {2012, 192, 10415}; +avp_header('SM-Message-Type') -> {2007, 192, 10415}; +avp_header('SM-Protocol-ID') -> {2013, 192, 10415}; +avp_header('SM-Sequence-Number') -> {3408, 192, 10415}; +avp_header('SM-Service-Type') -> {2029, 192, 10415}; +avp_header('SM-Status') -> {2014, 192, 10415}; +avp_header('SM-User-Data-Header') -> {2015, 192, 10415}; +avp_header('SMS-Information') -> {2000, 192, 10415}; +avp_header('SMS-Node') -> {2016, 192, 10415}; +avp_header('SMS-Result') -> {3409, 192, 10415}; +avp_header('SMSC-Address') -> {2017, 192, 10415}; +avp_header('Scale-Factor') -> {2059, 192, 10415}; +avp_header('Secondary-RAT-Type') -> {1304, 128, 10415}; +avp_header('Served-Party-IP-Address') -> + {848, 192, 10415}; +avp_header('Service-Data-Container') -> + {2040, 192, 10415}; +avp_header('Service-Id') -> {855, 192, 10415}; +avp_header('Service-Information') -> {873, 192, 10415}; +avp_header('Service-Mode') -> {2032, 192, 10415}; +avp_header('Service-Specific-Data') -> + {863, 192, 10415}; +avp_header('Service-Specific-Info') -> + {1249, 192, 10415}; +avp_header('Service-Specific-Type') -> + {1257, 192, 10415}; +avp_header('Serving-Node-Identity') -> + {3929, 192, 10415}; +avp_header('Serving-Node-Type') -> {2047, 192, 10415}; +avp_header('Session-Direction') -> {2707, 192, 10415}; +avp_header('Start-Time') -> {2041, 192, 10415}; +avp_header('Start-of-Charging') -> {3419, 192, 10415}; +avp_header('Status-AS-Code') -> {2702, 192, 10415}; +avp_header('Stop-Time') -> {2042, 192, 10415}; +avp_header('Submission-Time') -> {1202, 192, 10415}; +avp_header('Subscriber-Role') -> {2033, 192, 10415}; +avp_header('Supplementary-Service') -> + {2048, 192, 10415}; +avp_header('TAD-Identifier') -> {2717, 192, 10415}; +avp_header('TWAG-Address') -> {3903, 192, 10415}; +avp_header('TWAN-User-Location-Info') -> + {2714, 192, 10415}; +avp_header('Talk-Burst-Exchange') -> {1255, 192, 10415}; +avp_header('Talk-Burst-Time') -> {1286, 192, 10415}; +avp_header('Talk-Burst-Volume') -> {1287, 192, 10415}; +avp_header('Target-IP-Address') -> {4412, 192, 10415}; +avp_header('Tariff-Information') -> {2060, 192, 10415}; +avp_header('Tariff-XML') -> {2306, 192, 10415}; +avp_header('Teleservice') -> {3413, 192, 10415}; +avp_header('Terminating-IOI') -> {840, 192, 10415}; +avp_header('Time-First-Reception') -> + {3466, 192, 10415}; +avp_header('Time-First-Transmission') -> + {3467, 192, 10415}; +avp_header('Time-First-Usage') -> {2043, 192, 10415}; +avp_header('Time-Indicator') -> {3911, 192, 10415}; +avp_header('Time-Last-Usage') -> {2044, 192, 10415}; +avp_header('Time-Quota-Mechanism') -> + {1270, 192, 10415}; +avp_header('Time-Quota-Threshold') -> {868, 192, 10415}; +avp_header('Time-Quota-Type') -> {1271, 192, 10415}; +avp_header('Time-Stamps') -> {833, 192, 10415}; +avp_header('Time-Usage') -> {2045, 192, 10415}; +avp_header('Token-Text') -> {1215, 192, 10415}; +avp_header('Traffic-Data-Volumes') -> + {2046, 192, 10415}; +avp_header('Transcoder-Inserted-Indication') -> + {2605, 192, 10415}; +avp_header('Transit-IOI-List') -> {2701, 192, 10415}; +avp_header('Transmitter-Info') -> {3468, 192, 10415}; +avp_header('Trigger') -> {1264, 192, 10415}; +avp_header('Trigger-Type') -> {870, 192, 10415}; +avp_header('Trunk-Group-Id') -> {851, 192, 10415}; +avp_header('Type-Number') -> {1204, 192, 10415}; +avp_header('UNI-PDU-CP-Only-Flag') -> + {3932, 192, 10415}; +avp_header('UWAN-User-Location-Info') -> + {3918, 192, 10415}; +avp_header('Unit-Cost') -> {2061, 192, 10415}; +avp_header('Unit-Quota-Threshold') -> + {1226, 192, 10415}; +avp_header('Unused-Quota-Timer') -> {4407, 192, 10415}; +avp_header('Usage-Information-Report-Sequence-Number') -> + {3439, 192, 10415}; +avp_header('User-CSG-Information') -> + {2319, 192, 10415}; +avp_header('User-Participating-Type') -> + {1279, 192, 10415}; +avp_header('User-Session-Id') -> {830, 192, 10415}; +avp_header('VCS-Information') -> {3410, 192, 10415}; +avp_header('VLR-Number') -> {3420, 192, 10415}; +avp_header('Variable-Part') -> {3907, 192, 10415}; +avp_header('Variable-Part-Order') -> {3908, 192, 10415}; +avp_header('Variable-Part-Type') -> {3909, 192, 10415}; +avp_header('Variable-Part-Value') -> {3910, 192, 10415}; +avp_header('Volume-Quota-Threshold') -> + {869, 192, 10415}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('Accounting-Auth-Method') -> + diameter_rfc7155_nasreq:avp_header('Accounting-Auth-Method'); +avp_header('Accounting-Input-Octets') -> + diameter_rfc7155_nasreq:avp_header('Accounting-Input-Octets'); +avp_header('Accounting-Input-Packets') -> + diameter_rfc7155_nasreq:avp_header('Accounting-Input-Packets'); +avp_header('Accounting-Output-Octets') -> + diameter_rfc7155_nasreq:avp_header('Accounting-Output-Octets'); +avp_header('Accounting-Output-Packets') -> + diameter_rfc7155_nasreq:avp_header('Accounting-Output-Packets'); +avp_header('Acct-Authentic') -> + diameter_rfc7155_nasreq:avp_header('Acct-Authentic'); +avp_header('Acct-Delay-Time') -> + diameter_rfc7155_nasreq:avp_header('Acct-Delay-Time'); +avp_header('Acct-Link-Count') -> + diameter_rfc7155_nasreq:avp_header('Acct-Link-Count'); +avp_header('Acct-Session-Time') -> + diameter_rfc7155_nasreq:avp_header('Acct-Session-Time'); +avp_header('Acct-Tunnel-Connection') -> + diameter_rfc7155_nasreq:avp_header('Acct-Tunnel-Connection'); +avp_header('Acct-Tunnel-Packets-Lost') -> + diameter_rfc7155_nasreq:avp_header('Acct-Tunnel-Packets-Lost'); +avp_header('Callback-Id') -> + diameter_rfc7155_nasreq:avp_header('Callback-Id'); +avp_header('Callback-Number') -> + diameter_rfc7155_nasreq:avp_header('Callback-Number'); +avp_header('Called-Station-Id') -> + diameter_rfc7155_nasreq:avp_header('Called-Station-Id'); +avp_header('Calling-Station-Id') -> + diameter_rfc7155_nasreq:avp_header('Calling-Station-Id'); +avp_header('Connect-Info') -> + diameter_rfc7155_nasreq:avp_header('Connect-Info'); +avp_header('Filter-Id') -> + diameter_rfc7155_nasreq:avp_header('Filter-Id'); +avp_header('Idle-Timeout') -> + diameter_rfc7155_nasreq:avp_header('Idle-Timeout'); +avp_header('Login-IP-Host') -> + diameter_rfc7155_nasreq:avp_header('Login-IP-Host'); +avp_header('Login-IPv6-Host') -> + diameter_rfc7155_nasreq:avp_header('Login-IPv6-Host'); +avp_header('Login-LAT-Group') -> + diameter_rfc7155_nasreq:avp_header('Login-LAT-Group'); +avp_header('Login-LAT-Node') -> + diameter_rfc7155_nasreq:avp_header('Login-LAT-Node'); +avp_header('Login-LAT-Port') -> + diameter_rfc7155_nasreq:avp_header('Login-LAT-Port'); +avp_header('Login-LAT-Service') -> + diameter_rfc7155_nasreq:avp_header('Login-LAT-Service'); +avp_header('Login-Service') -> + diameter_rfc7155_nasreq:avp_header('Login-Service'); +avp_header('Login-TCP-Port') -> + diameter_rfc7155_nasreq:avp_header('Login-TCP-Port'); +avp_header('NAS-Filter-Rule') -> + diameter_rfc7155_nasreq:avp_header('NAS-Filter-Rule'); +avp_header('NAS-IP-Address') -> + diameter_rfc7155_nasreq:avp_header('NAS-IP-Address'); +avp_header('NAS-IPv6-Address') -> + diameter_rfc7155_nasreq:avp_header('NAS-IPv6-Address'); +avp_header('NAS-Identifier') -> + diameter_rfc7155_nasreq:avp_header('NAS-Identifier'); +avp_header('NAS-Port') -> + diameter_rfc7155_nasreq:avp_header('NAS-Port'); +avp_header('NAS-Port-Id') -> + diameter_rfc7155_nasreq:avp_header('NAS-Port-Id'); +avp_header('NAS-Port-Type') -> + diameter_rfc7155_nasreq:avp_header('NAS-Port-Type'); +avp_header('Origin-AAA-Protocol') -> + diameter_rfc7155_nasreq:avp_header('Origin-AAA-Protocol'); +avp_header('Originating-Line-Info') -> + diameter_rfc7155_nasreq:avp_header('Originating-Line-Info'); +avp_header('Port-Limit') -> + diameter_rfc7155_nasreq:avp_header('Port-Limit'); +avp_header('QoS-Filter-Rule') -> + diameter_rfc7155_nasreq:avp_header('QoS-Filter-Rule'); +avp_header('Service-Type') -> + diameter_rfc7155_nasreq:avp_header('Service-Type'); +avp_header('Tunnel-Assignment-Id') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Assignment-Id'); +avp_header('Tunnel-Client-Auth-Id') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Client-Auth-Id'); +avp_header('Tunnel-Client-Endpoint') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Client-Endpoint'); +avp_header('Tunnel-Medium-Type') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Medium-Type'); +avp_header('Tunnel-Password') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Password'); +avp_header('Tunnel-Preference') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Preference'); +avp_header('Tunnel-Private-Group-Id') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Private-Group-Id'); +avp_header('Tunnel-Server-Auth-Id') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Server-Auth-Id'); +avp_header('Tunnel-Server-Endpoint') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Server-Endpoint'); +avp_header('Tunnel-Type') -> + diameter_rfc7155_nasreq:avp_header('Tunnel-Type'); +avp_header('Tunneling') -> + diameter_rfc7155_nasreq:avp_header('Tunneling'); +avp_header('CC-Correlation-Id') -> + diameter_rfc4006_cc:avp_header('CC-Correlation-Id'); +avp_header('CC-Input-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Input-Octets'); +avp_header('CC-Money') -> + diameter_rfc4006_cc:avp_header('CC-Money'); +avp_header('CC-Output-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Output-Octets'); +avp_header('CC-Request-Number') -> + diameter_rfc4006_cc:avp_header('CC-Request-Number'); +avp_header('CC-Request-Type') -> + diameter_rfc4006_cc:avp_header('CC-Request-Type'); +avp_header('CC-Service-Specific-Units') -> + diameter_rfc4006_cc:avp_header('CC-Service-Specific-Units'); +avp_header('CC-Session-Failover') -> + diameter_rfc4006_cc:avp_header('CC-Session-Failover'); +avp_header('CC-Sub-Session-Id') -> + diameter_rfc4006_cc:avp_header('CC-Sub-Session-Id'); +avp_header('CC-Time') -> + diameter_rfc4006_cc:avp_header('CC-Time'); +avp_header('CC-Total-Octets') -> + diameter_rfc4006_cc:avp_header('CC-Total-Octets'); +avp_header('CC-Unit-Type') -> + diameter_rfc4006_cc:avp_header('CC-Unit-Type'); +avp_header('Check-Balance-Result') -> + diameter_rfc4006_cc:avp_header('Check-Balance-Result'); +avp_header('Cost-Information') -> + diameter_rfc4006_cc:avp_header('Cost-Information'); +avp_header('Cost-Unit') -> + diameter_rfc4006_cc:avp_header('Cost-Unit'); +avp_header('Credit-Control') -> + diameter_rfc4006_cc:avp_header('Credit-Control'); +avp_header('Credit-Control-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Credit-Control-Failure-Handling'); +avp_header('Currency-Code') -> + diameter_rfc4006_cc:avp_header('Currency-Code'); +avp_header('Direct-Debiting-Failure-Handling') -> + diameter_rfc4006_cc:avp_header('Direct-Debiting-Failure-Handling'); +avp_header('Exponent') -> + diameter_rfc4006_cc:avp_header('Exponent'); +avp_header('Final-Unit-Action') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Action'); +avp_header('Final-Unit-Indication') -> + diameter_rfc4006_cc:avp_header('Final-Unit-Indication'); +avp_header('G-S-U-Pool-Identifier') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Identifier'); +avp_header('G-S-U-Pool-Reference') -> + diameter_rfc4006_cc:avp_header('G-S-U-Pool-Reference'); +avp_header('Granted-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Granted-Service-Unit'); +avp_header('Multiple-Services-Credit-Control') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Credit-Control'); +avp_header('Multiple-Services-Indicator') -> + diameter_rfc4006_cc:avp_header('Multiple-Services-Indicator'); +avp_header('Rating-Group') -> + diameter_rfc4006_cc:avp_header('Rating-Group'); +avp_header('Redirect-Address-Type') -> + diameter_rfc4006_cc:avp_header('Redirect-Address-Type'); +avp_header('Redirect-Server') -> + diameter_rfc4006_cc:avp_header('Redirect-Server'); +avp_header('Redirect-Server-Address') -> + diameter_rfc4006_cc:avp_header('Redirect-Server-Address'); +avp_header('Requested-Action') -> + diameter_rfc4006_cc:avp_header('Requested-Action'); +avp_header('Requested-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Requested-Service-Unit'); +avp_header('Restriction-Filter-Rule') -> + diameter_rfc4006_cc:avp_header('Restriction-Filter-Rule'); +avp_header('Service-Context-Id') -> + diameter_rfc4006_cc:avp_header('Service-Context-Id'); +avp_header('Service-Identifier') -> + diameter_rfc4006_cc:avp_header('Service-Identifier'); +avp_header('Service-Parameter-Info') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Info'); +avp_header('Service-Parameter-Type') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Type'); +avp_header('Service-Parameter-Value') -> + diameter_rfc4006_cc:avp_header('Service-Parameter-Value'); +avp_header('Subscription-Id') -> + diameter_rfc4006_cc:avp_header('Subscription-Id'); +avp_header('Subscription-Id-Data') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Data'); +avp_header('Subscription-Id-Type') -> + diameter_rfc4006_cc:avp_header('Subscription-Id-Type'); +avp_header('Tariff-Change-Usage') -> + diameter_rfc4006_cc:avp_header('Tariff-Change-Usage'); +avp_header('Tariff-Time-Change') -> + diameter_rfc4006_cc:avp_header('Tariff-Time-Change'); +avp_header('Unit-Value') -> + diameter_rfc4006_cc:avp_header('Unit-Value'); +avp_header('Used-Service-Unit') -> + diameter_rfc4006_cc:avp_header('Used-Service-Unit'); +avp_header('User-Equipment-Info') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info'); +avp_header('User-Equipment-Info-Type') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Type'); +avp_header('User-Equipment-Info-Value') -> + diameter_rfc4006_cc:avp_header('User-Equipment-Info-Value'); +avp_header('Validity-Time') -> + diameter_rfc4006_cc:avp_header('Validity-Time'); +avp_header('Value-Digits') -> + diameter_rfc4006_cc:avp_header('Value-Digits'); +avp_header('Address-Realm') -> + diameter_etsi_es283_034:avp_header('Address-Realm'); +avp_header('Aggregation-Network-Type') -> + diameter_etsi_es283_034:avp_header('Aggregation-Network-Type'); +avp_header('Application-Class-ID') -> + diameter_etsi_es283_034:avp_header('Application-Class-ID'); +avp_header('IP-Connectivity-Status') -> + diameter_etsi_es283_034:avp_header('IP-Connectivity-Status'); +avp_header('Initial-Gate-Setting-ID') -> + diameter_etsi_es283_034:avp_header('Initial-Gate-Setting-ID'); +avp_header('Logical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Logical-Access-ID'); +avp_header('Maximum-Allowed-Bandwidth-DL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-DL'); +avp_header('Maximum-Allowed-Bandwidth-UL') -> + diameter_etsi_es283_034:avp_header('Maximum-Allowed-Bandwidth-UL'); +avp_header('Physical-Access-ID') -> + diameter_etsi_es283_034:avp_header('Physical-Access-ID'); +avp_header('QoS-Profile-ID') -> + diameter_etsi_es283_034:avp_header('QoS-Profile-ID'); +avp_header('Transport-Class') -> + diameter_etsi_es283_034:avp_header('Transport-Class'); +avp_header('3GPP-Allocate-IP-Type') -> + diameter_3gpp_base:avp_header('3GPP-Allocate-IP-Type'); +avp_header('3GPP-CAMEL-Charging-Info') -> + diameter_3gpp_base:avp_header('3GPP-CAMEL-Charging-Info'); +avp_header('3GPP-CG-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-Address'); +avp_header('3GPP-CG-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-CG-IPv6-Address'); +avp_header('3GPP-Charging-Characteristics') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Characteristics'); +avp_header('3GPP-Charging-Id') -> + diameter_3gpp_base:avp_header('3GPP-Charging-Id'); +avp_header('3GPP-GGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-Address'); +avp_header('3GPP-GGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-IPv6-Address'); +avp_header('3GPP-GGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-GGSN-MCC-MNC'); +avp_header('3GPP-GPRS-Negotiated-QoS-Profile') -> + diameter_3gpp_base:avp_header('3GPP-GPRS-Negotiated-QoS-Profile'); +avp_header('3GPP-IMEISV') -> + diameter_3gpp_base:avp_header('3GPP-IMEISV'); +avp_header('3GPP-IMSI') -> + diameter_3gpp_base:avp_header('3GPP-IMSI'); +avp_header('3GPP-IMSI-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-IMSI-MCC-MNC'); +avp_header('3GPP-IPv6-DNS-Servers') -> + diameter_3gpp_base:avp_header('3GPP-IPv6-DNS-Servers'); +avp_header('3GPP-MS-TimeZone') -> + diameter_3gpp_base:avp_header('3GPP-MS-TimeZone'); +avp_header('3GPP-NSAPI') -> + diameter_3gpp_base:avp_header('3GPP-NSAPI'); +avp_header('3GPP-Negotiated-DSCP') -> + diameter_3gpp_base:avp_header('3GPP-Negotiated-DSCP'); +avp_header('3GPP-PDP-Type') -> + diameter_3gpp_base:avp_header('3GPP-PDP-Type'); +avp_header('3GPP-Packet-Filter') -> + diameter_3gpp_base:avp_header('3GPP-Packet-Filter'); +avp_header('3GPP-RAT-Type') -> + diameter_3gpp_base:avp_header('3GPP-RAT-Type'); +avp_header('3GPP-SGSN-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-Address'); +avp_header('3GPP-SGSN-IPv6-Address') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-IPv6-Address'); +avp_header('3GPP-SGSN-MCC-MNC') -> + diameter_3gpp_base:avp_header('3GPP-SGSN-MCC-MNC'); +avp_header('3GPP-Selection-Mode') -> + diameter_3gpp_base:avp_header('3GPP-Selection-Mode'); +avp_header('3GPP-Session-Stop-Indicator') -> + diameter_3gpp_base:avp_header('3GPP-Session-Stop-Indicator'); +avp_header('3GPP-User-Location-Info') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info'); +avp_header('3GPP-User-Location-Info-Time') -> + diameter_3gpp_base:avp_header('3GPP-User-Location-Info-Time'); +avp_header('TWAN-Identifier') -> + diameter_3gpp_base:avp_header('TWAN-Identifier'); +avp_header('Additional-MBMS-Trace-Info') -> + diameter_3gpp_ts29_061_gmb:avp_header('Additional-MBMS-Trace-Info'); +avp_header('Alternative-APN') -> + diameter_3gpp_ts29_061_gmb:avp_header('Alternative-APN'); +avp_header('CN-IP-Multicast-Distribution') -> + diameter_3gpp_ts29_061_gmb:avp_header('CN-IP-Multicast-Distribution'); +avp_header('MBMS-2G-3G-Indicator') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-2G-3G-Indicator'); +avp_header('MBMS-BMSC-SSM-IP-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-BMSC-SSM-IP-Address'); +avp_header('MBMS-BMSC-SSM-IPv6-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-BMSC-SSM-IPv6-Address'); +avp_header('MBMS-Counting-Information') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Counting-Information'); +avp_header('MBMS-Flow-Identifier') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Flow-Identifier'); +avp_header('MBMS-GGSN-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-GGSN-Address'); +avp_header('MBMS-GGSN-IPv6-Address') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-GGSN-IPv6-Address'); +avp_header('MBMS-HC-Indicator') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-HC-Indicator'); +avp_header('MBMS-Required-QoS') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Required-QoS'); +avp_header('MBMS-Service-Area') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Service-Area'); +avp_header('MBMS-Service-Type') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Service-Type'); +avp_header('MBMS-Session-Duration') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Session-Duration'); +avp_header('MBMS-Session-Identity') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Session-Identity'); +avp_header('MBMS-Session-Repetition-Number') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Session-Repetition-Number'); +avp_header('MBMS-StartStop-Indication') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-StartStop-Indication'); +avp_header('MBMS-Time-To-Data-Transfer') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-Time-To-Data-Transfer'); +avp_header('MBMS-User-Data-Mode-Indication') -> + diameter_3gpp_ts29_061_gmb:avp_header('MBMS-User-Data-Mode-Indication'); +avp_header('RAI') -> + diameter_3gpp_ts29_061_gmb:avp_header('RAI'); +avp_header('Required-MBMS-Bearer-Capabilities') -> + diameter_3gpp_ts29_061_gmb:avp_header('Required-MBMS-Bearer-Capabilities'); +avp_header('TMGI') -> + diameter_3gpp_ts29_061_gmb:avp_header('TMGI'); +avp_header('AN-GW-Address') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Address'); +avp_header('AN-GW-Status') -> + diameter_3gpp_ts29_212:avp_header('AN-GW-Status'); +avp_header('APN-Aggregate-Max-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-DL'); +avp_header('APN-Aggregate-Max-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('APN-Aggregate-Max-Bitrate-UL'); +avp_header('Access-Network-Charging-Identifier-Gx') -> + diameter_3gpp_ts29_212:avp_header('Access-Network-Charging-Identifier-Gx'); +avp_header('Allocation-Retention-Priority') -> + diameter_3gpp_ts29_212:avp_header('Allocation-Retention-Priority'); +avp_header('Application-Detection-Information') -> + diameter_3gpp_ts29_212:avp_header('Application-Detection-Information'); +avp_header('Bearer-Control-Mode') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Control-Mode'); +avp_header('Bearer-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Identifier'); +avp_header('Bearer-Operation') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Operation'); +avp_header('Bearer-Usage') -> + diameter_3gpp_ts29_212:avp_header('Bearer-Usage'); +avp_header('CSG-Information-Reporting') -> + diameter_3gpp_ts29_212:avp_header('CSG-Information-Reporting'); +avp_header('Charging-Correlation-Indicator') -> + diameter_3gpp_ts29_212:avp_header('Charging-Correlation-Indicator'); +avp_header('Charging-Rule-Base-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Base-Name'); +avp_header('Charging-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Definition'); +avp_header('Charging-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Install'); +avp_header('Charging-Rule-Name') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Name'); +avp_header('Charging-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Remove'); +avp_header('Charging-Rule-Report') -> + diameter_3gpp_ts29_212:avp_header('Charging-Rule-Report'); +avp_header('CoA-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('CoA-IP-Address'); +avp_header('CoA-Information') -> + diameter_3gpp_ts29_212:avp_header('CoA-Information'); +avp_header('Conditional-APN-Aggregate-Max-Bitrate') -> + diameter_3gpp_ts29_212:avp_header('Conditional-APN-Aggregate-Max-Bitrate'); +avp_header('Credit-Management-Status') -> + diameter_3gpp_ts29_212:avp_header('Credit-Management-Status'); +avp_header('Default-EPS-Bearer-QoS') -> + diameter_3gpp_ts29_212:avp_header('Default-EPS-Bearer-QoS'); +avp_header('Default-QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Information'); +avp_header('Default-QoS-Name') -> + diameter_3gpp_ts29_212:avp_header('Default-QoS-Name'); +avp_header('Event-Report-Indication') -> + diameter_3gpp_ts29_212:avp_header('Event-Report-Indication'); +avp_header('Event-Trigger') -> + diameter_3gpp_ts29_212:avp_header('Event-Trigger'); +avp_header('Fixed-User-Location-Info') -> + diameter_3gpp_ts29_212:avp_header('Fixed-User-Location-Info'); +avp_header('Flow-Direction') -> + diameter_3gpp_ts29_212:avp_header('Flow-Direction'); +avp_header('Flow-Information') -> + diameter_3gpp_ts29_212:avp_header('Flow-Information'); +avp_header('Flow-Label') -> + diameter_3gpp_ts29_212:avp_header('Flow-Label'); +avp_header('Guaranteed-Bitrate-DL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-DL'); +avp_header('Guaranteed-Bitrate-UL') -> + diameter_3gpp_ts29_212:avp_header('Guaranteed-Bitrate-UL'); +avp_header('HeNB-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('HeNB-Local-IP-Address'); +avp_header('IP-CAN-Session-Charging-Scope') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Session-Charging-Scope'); +avp_header('IP-CAN-Type') -> + diameter_3gpp_ts29_212:avp_header('IP-CAN-Type'); +avp_header('Metering-Method') -> + diameter_3gpp_ts29_212:avp_header('Metering-Method'); +avp_header('Monitoring-Key') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Key'); +avp_header('Monitoring-Time') -> + diameter_3gpp_ts29_212:avp_header('Monitoring-Time'); +avp_header('Mute-Notification') -> + diameter_3gpp_ts29_212:avp_header('Mute-Notification'); +avp_header('NetLoc-Access-Support') -> + diameter_3gpp_ts29_212:avp_header('NetLoc-Access-Support'); +avp_header('Network-Request-Support') -> + diameter_3gpp_ts29_212:avp_header('Network-Request-Support'); +avp_header('Offline') -> + diameter_3gpp_ts29_212:avp_header('Offline'); +avp_header('Online') -> + diameter_3gpp_ts29_212:avp_header('Online'); +avp_header('PCC-Rule-Status') -> + diameter_3gpp_ts29_212:avp_header('PCC-Rule-Status'); +avp_header('PCSCF-Restoration-Indication') -> + diameter_3gpp_ts29_212:avp_header('PCSCF-Restoration-Indication'); +avp_header('PDN-Connection-ID') -> + diameter_3gpp_ts29_212:avp_header('PDN-Connection-ID'); +avp_header('PS-to-CS-Session-Continuity') -> + diameter_3gpp_ts29_212:avp_header('PS-to-CS-Session-Continuity'); +avp_header('Packet-Filter-Content') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Content'); +avp_header('Packet-Filter-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Identifier'); +avp_header('Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Information'); +avp_header('Packet-Filter-Operation') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Operation'); +avp_header('Packet-Filter-Usage') -> + diameter_3gpp_ts29_212:avp_header('Packet-Filter-Usage'); +avp_header('Pre-emption-Capability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Capability'); +avp_header('Pre-emption-Vulnerability') -> + diameter_3gpp_ts29_212:avp_header('Pre-emption-Vulnerability'); +avp_header('Precedence') -> + diameter_3gpp_ts29_212:avp_header('Precedence'); +avp_header('Presence-Reporting-Area-Elements-List') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Elements-List'); +avp_header('Presence-Reporting-Area-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Identifier'); +avp_header('Presence-Reporting-Area-Information') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Information'); +avp_header('Presence-Reporting-Area-Status') -> + diameter_3gpp_ts29_212:avp_header('Presence-Reporting-Area-Status'); +avp_header('Priority-Level') -> + diameter_3gpp_ts29_212:avp_header('Priority-Level'); +avp_header('QoS-Class-Identifier') -> + diameter_3gpp_ts29_212:avp_header('QoS-Class-Identifier'); +avp_header('QoS-Information') -> + diameter_3gpp_ts29_212:avp_header('QoS-Information'); +avp_header('QoS-Negotiation') -> + diameter_3gpp_ts29_212:avp_header('QoS-Negotiation'); +avp_header('QoS-Upgrade') -> + diameter_3gpp_ts29_212:avp_header('QoS-Upgrade'); +avp_header('RAN-NAS-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('RAN-NAS-Release-Cause'); +avp_header('RAT-Type') -> + diameter_3gpp_ts29_212:avp_header('RAT-Type'); +avp_header('Redirect-Information') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Information'); +avp_header('Redirect-Support') -> + diameter_3gpp_ts29_212:avp_header('Redirect-Support'); +avp_header('Reporting-Level') -> + diameter_3gpp_ts29_212:avp_header('Reporting-Level'); +avp_header('Resource-Allocation-Notification') -> + diameter_3gpp_ts29_212:avp_header('Resource-Allocation-Notification'); +avp_header('Revalidation-Time') -> + diameter_3gpp_ts29_212:avp_header('Revalidation-Time'); +avp_header('Routing-Filter') -> + diameter_3gpp_ts29_212:avp_header('Routing-Filter'); +avp_header('Routing-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('Routing-IP-Address'); +avp_header('Routing-Rule-Definition') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Definition'); +avp_header('Routing-Rule-Identifier') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Identifier'); +avp_header('Routing-Rule-Install') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Install'); +avp_header('Routing-Rule-Remove') -> + diameter_3gpp_ts29_212:avp_header('Routing-Rule-Remove'); +avp_header('Rule-Activation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Activation-Time'); +avp_header('Rule-Deactivation-Time') -> + diameter_3gpp_ts29_212:avp_header('Rule-Deactivation-Time'); +avp_header('Rule-Failure-Code') -> + diameter_3gpp_ts29_212:avp_header('Rule-Failure-Code'); +avp_header('Security-Parameter-Index') -> + diameter_3gpp_ts29_212:avp_header('Security-Parameter-Index'); +avp_header('Session-Release-Cause') -> + diameter_3gpp_ts29_212:avp_header('Session-Release-Cause'); +avp_header('TDF-Application-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Identifier'); +avp_header('TDF-Application-Instance-Identifier') -> + diameter_3gpp_ts29_212:avp_header('TDF-Application-Instance-Identifier'); +avp_header('TDF-Destination-Host') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Host'); +avp_header('TDF-Destination-Realm') -> + diameter_3gpp_ts29_212:avp_header('TDF-Destination-Realm'); +avp_header('TDF-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('TDF-IP-Address'); +avp_header('TDF-Information') -> + diameter_3gpp_ts29_212:avp_header('TDF-Information'); +avp_header('TFT-Filter') -> + diameter_3gpp_ts29_212:avp_header('TFT-Filter'); +avp_header('TFT-Packet-Filter-Information') -> + diameter_3gpp_ts29_212:avp_header('TFT-Packet-Filter-Information'); +avp_header('ToS-Traffic-Class') -> + diameter_3gpp_ts29_212:avp_header('ToS-Traffic-Class'); +avp_header('Tunnel-Header-Filter') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Filter'); +avp_header('Tunnel-Header-Length') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Header-Length'); +avp_header('Tunnel-Information') -> + diameter_3gpp_ts29_212:avp_header('Tunnel-Information'); +avp_header('UDP-Source-Port') -> + diameter_3gpp_ts29_212:avp_header('UDP-Source-Port'); +avp_header('UE-Local-IP-Address') -> + diameter_3gpp_ts29_212:avp_header('UE-Local-IP-Address'); +avp_header('Usage-Monitoring-Information') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Information'); +avp_header('Usage-Monitoring-Level') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Level'); +avp_header('Usage-Monitoring-Report') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Report'); +avp_header('Usage-Monitoring-Support') -> + diameter_3gpp_ts29_212:avp_header('Usage-Monitoring-Support'); +avp_header('User-Location-Info-Time') -> + diameter_3gpp_ts29_212:avp_header('User-Location-Info-Time'); +avp_header('AF-Application-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Application-Identifier'); +avp_header('AF-Charging-Identifier') -> + diameter_3gpp_ts29_214:avp_header('AF-Charging-Identifier'); +avp_header('AF-Signalling-Protocol') -> + diameter_3gpp_ts29_214:avp_header('AF-Signalling-Protocol'); +avp_header('Abort-Cause') -> + diameter_3gpp_ts29_214:avp_header('Abort-Cause'); +avp_header('Access-Network-Charging-Address') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Address'); +avp_header('Access-Network-Charging-Identifier-Value') -> + diameter_3gpp_ts29_214:avp_header('Access-Network-Charging-Identifier-Value'); +avp_header('Application-Service-Provider-Identity') -> + diameter_3gpp_ts29_214:avp_header('Application-Service-Provider-Identity'); +avp_header('Codec-Data') -> + diameter_3gpp_ts29_214:avp_header('Codec-Data'); +avp_header('Flow-Description') -> + diameter_3gpp_ts29_214:avp_header('Flow-Description'); +avp_header('Flow-Number') -> + diameter_3gpp_ts29_214:avp_header('Flow-Number'); +avp_header('Flow-Status') -> + diameter_3gpp_ts29_214:avp_header('Flow-Status'); +avp_header('Flow-Usage') -> + diameter_3gpp_ts29_214:avp_header('Flow-Usage'); +avp_header('Flows') -> + diameter_3gpp_ts29_214:avp_header('Flows'); +avp_header('GCS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('GCS-Identifier'); +avp_header('IP-Domain-Id') -> + diameter_3gpp_ts29_214:avp_header('IP-Domain-Id'); +avp_header('MPS-Identifier') -> + diameter_3gpp_ts29_214:avp_header('MPS-Identifier'); +avp_header('Max-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-DL'); +avp_header('Max-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Max-Requested-Bandwidth-UL'); +avp_header('Media-Component-Number') -> + diameter_3gpp_ts29_214:avp_header('Media-Component-Number'); +avp_header('Media-Type') -> + diameter_3gpp_ts29_214:avp_header('Media-Type'); +avp_header('Min-Requested-Bandwidth-DL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-DL'); +avp_header('Min-Requested-Bandwidth-UL') -> + diameter_3gpp_ts29_214:avp_header('Min-Requested-Bandwidth-UL'); +avp_header('RR-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RR-Bandwidth'); +avp_header('RS-Bandwidth') -> + diameter_3gpp_ts29_214:avp_header('RS-Bandwidth'); +avp_header('Required-Access-Info') -> + diameter_3gpp_ts29_214:avp_header('Required-Access-Info'); +avp_header('Rx-Request-Type') -> + diameter_3gpp_ts29_214:avp_header('Rx-Request-Type'); +avp_header('SIP-Forking-Indication') -> + diameter_3gpp_ts29_214:avp_header('SIP-Forking-Indication'); +avp_header('Service-Info-Status') -> + diameter_3gpp_ts29_214:avp_header('Service-Info-Status'); +avp_header('Service-URN') -> + diameter_3gpp_ts29_214:avp_header('Service-URN'); +avp_header('Specific-Action') -> + diameter_3gpp_ts29_214:avp_header('Specific-Action'); +avp_header('Sponsor-Identity') -> + diameter_3gpp_ts29_214:avp_header('Sponsor-Identity'); +avp_header('Current-Location') -> + diameter_3gpp_ts29_329:avp_header('Current-Location'); +avp_header('DSAI-Tag') -> + diameter_3gpp_ts29_329:avp_header('DSAI-Tag'); +avp_header('Data-Reference') -> + diameter_3gpp_ts29_329:avp_header('Data-Reference'); +avp_header('Expiry-Time') -> + diameter_3gpp_ts29_329:avp_header('Expiry-Time'); +avp_header('Identity-Set') -> + diameter_3gpp_ts29_329:avp_header('Identity-Set'); +avp_header('MSISDN') -> + diameter_3gpp_ts29_329:avp_header('MSISDN'); +avp_header('One-Time-Notification') -> + diameter_3gpp_ts29_329:avp_header('One-Time-Notification'); +avp_header('Requested-Domain') -> + diameter_3gpp_ts29_329:avp_header('Requested-Domain'); +avp_header('Requested-Nodes') -> + diameter_3gpp_ts29_329:avp_header('Requested-Nodes'); +avp_header('Send-Data-Indication') -> + diameter_3gpp_ts29_329:avp_header('Send-Data-Indication'); +avp_header('Sequence-Number') -> + diameter_3gpp_ts29_329:avp_header('Sequence-Number'); +avp_header('Service-Indication') -> + diameter_3gpp_ts29_329:avp_header('Service-Indication'); +avp_header('Serving-Node-Indication') -> + diameter_3gpp_ts29_329:avp_header('Serving-Node-Indication'); +avp_header('Subs-Req-Type') -> + diameter_3gpp_ts29_329:avp_header('Subs-Req-Type'); +avp_header('Call-ID-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('Call-ID-SIP-Header'); +avp_header('Charging-Information') -> + diameter_3gpp_ts29_229:avp_header('Charging-Information'); +avp_header('Confidentiality-Key') -> + diameter_3gpp_ts29_229:avp_header('Confidentiality-Key'); +avp_header('Contact') -> + diameter_3gpp_ts29_229:avp_header('Contact'); +avp_header('Deregistration-Reason') -> + diameter_3gpp_ts29_229:avp_header('Deregistration-Reason'); +avp_header('Digest-Algorithm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Algorithm'); +avp_header('Digest-HA1') -> + diameter_3gpp_ts29_229:avp_header('Digest-HA1'); +avp_header('Digest-QoP') -> + diameter_3gpp_ts29_229:avp_header('Digest-QoP'); +avp_header('Digest-Realm') -> + diameter_3gpp_ts29_229:avp_header('Digest-Realm'); +avp_header('Feature-List') -> + diameter_3gpp_ts29_229:avp_header('Feature-List'); +avp_header('Feature-List-ID') -> + diameter_3gpp_ts29_229:avp_header('Feature-List-ID'); +avp_header('From-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('From-SIP-Header'); +avp_header('Initial-CSeq-Sequence-Number') -> + diameter_3gpp_ts29_229:avp_header('Initial-CSeq-Sequence-Number'); +avp_header('Integrity-Key') -> + diameter_3gpp_ts29_229:avp_header('Integrity-Key'); +avp_header('LIA-Flags') -> + diameter_3gpp_ts29_229:avp_header('LIA-Flags'); +avp_header('Loose-Route-Indication') -> + diameter_3gpp_ts29_229:avp_header('Loose-Route-Indication'); +avp_header('Mandatory-Capability') -> + diameter_3gpp_ts29_229:avp_header('Mandatory-Capability'); +avp_header('Multiple-Registration-Indication') -> + diameter_3gpp_ts29_229:avp_header('Multiple-Registration-Indication'); +avp_header('Optional-Capability') -> + diameter_3gpp_ts29_229:avp_header('Optional-Capability'); +avp_header('Originating-Request') -> + diameter_3gpp_ts29_229:avp_header('Originating-Request'); +avp_header('Path') -> + diameter_3gpp_ts29_229:avp_header('Path'); +avp_header('Primary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Charging-Collection-Function-Name'); +avp_header('Primary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Primary-Event-Charging-Function-Name'); +avp_header('Priviledged-Sender-Indication') -> + diameter_3gpp_ts29_229:avp_header('Priviledged-Sender-Indication'); +avp_header('Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Public-Identity'); +avp_header('Reason-Code') -> + diameter_3gpp_ts29_229:avp_header('Reason-Code'); +avp_header('Reason-Info') -> + diameter_3gpp_ts29_229:avp_header('Reason-Info'); +avp_header('Record-Route') -> + diameter_3gpp_ts29_229:avp_header('Record-Route'); +avp_header('SAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('SAR-Flags'); +avp_header('SIP-Auth-Data-Item') -> + diameter_3gpp_ts29_229:avp_header('SIP-Auth-Data-Item'); +avp_header('SIP-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authenticate'); +avp_header('SIP-Authentication-Context') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Context'); +avp_header('SIP-Authentication-Scheme') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authentication-Scheme'); +avp_header('SIP-Authorization') -> + diameter_3gpp_ts29_229:avp_header('SIP-Authorization'); +avp_header('SIP-Digest-Authenticate') -> + diameter_3gpp_ts29_229:avp_header('SIP-Digest-Authenticate'); +avp_header('SIP-Item-Number') -> + diameter_3gpp_ts29_229:avp_header('SIP-Item-Number'); +avp_header('SIP-Number-Auth-Items') -> + diameter_3gpp_ts29_229:avp_header('SIP-Number-Auth-Items'); +avp_header('Secondary-Charging-Collection-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Charging-Collection-Function-Name'); +avp_header('Secondary-Event-Charging-Function-Name') -> + diameter_3gpp_ts29_229:avp_header('Secondary-Event-Charging-Function-Name'); +avp_header('Server-Assignment-Type') -> + diameter_3gpp_ts29_229:avp_header('Server-Assignment-Type'); +avp_header('Server-Name') -> + diameter_3gpp_ts29_229:avp_header('Server-Name'); +avp_header('Session-Priority') -> + diameter_3gpp_ts29_229:avp_header('Session-Priority'); +avp_header('Supported-Applications') -> + diameter_3gpp_ts29_229:avp_header('Supported-Applications'); +avp_header('Supported-Features') -> + diameter_3gpp_ts29_229:avp_header('Supported-Features'); +avp_header('To-SIP-Header') -> + diameter_3gpp_ts29_229:avp_header('To-SIP-Header'); +avp_header('UAR-Flags') -> + diameter_3gpp_ts29_229:avp_header('UAR-Flags'); +avp_header('User-Authorization-Type') -> + diameter_3gpp_ts29_229:avp_header('User-Authorization-Type'); +avp_header('User-Data') -> + diameter_3gpp_ts29_229:avp_header('User-Data'); +avp_header('User-Data-Already-Available') -> + diameter_3gpp_ts29_229:avp_header('User-Data-Already-Available'); +avp_header('Visited-Network-Identifier') -> + diameter_3gpp_ts29_229:avp_header('Visited-Network-Identifier'); +avp_header('Wildcarded-Public-Identity') -> + diameter_3gpp_ts29_229:avp_header('Wildcarded-Public-Identity'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, '3GPP-PS-Data-Off-Status', _) -> + enumerated_avp(T, '3GPP-PS-Data-Off-Status', Data); +avp(T, Data, 'AF-Correlation-Information', Opts) -> + grouped_avp(T, + 'AF-Correlation-Information', + Data, + Opts); +avp(T, Data, 'APN-Rate-Control', Opts) -> + grouped_avp(T, 'APN-Rate-Control', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Downlink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Downlink', Data, Opts); +avp(T, Data, 'APN-Rate-Control-Uplink', Opts) -> + grouped_avp(T, 'APN-Rate-Control-Uplink', Data, Opts); +avp(T, Data, 'Access-Network-Info-Change', Opts) -> + grouped_avp(T, + 'Access-Network-Info-Change', + Data, + Opts); +avp(T, Data, 'Access-Network-Information', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Access-Transfer-Information', Opts) -> + grouped_avp(T, + 'Access-Transfer-Information', + Data, + Opts); +avp(T, Data, 'Access-Transfer-Type', _) -> + enumerated_avp(T, 'Access-Transfer-Type', Data); +avp(T, Data, 'Account-Expiration', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Accumulated-Cost', Opts) -> + grouped_avp(T, 'Accumulated-Cost', Data, Opts); +avp(T, Data, 'Adaptations', _) -> + enumerated_avp(T, 'Adaptations', Data); +avp(T, Data, 'Additional-Content-Information', Opts) -> + grouped_avp(T, + 'Additional-Content-Information', + Data, + Opts); +avp(T, Data, 'Additional-Exception-Reports', _) -> + enumerated_avp(T, 'Additional-Exception-Reports', Data); +avp(T, Data, 'Additional-Type-Information', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Address-Data', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Address-Domain', Opts) -> + grouped_avp(T, 'Address-Domain', Data, Opts); +avp(T, Data, 'Address-Type', _) -> + enumerated_avp(T, 'Address-Type', Data); +avp(T, Data, 'Addressee-Type', _) -> + enumerated_avp(T, 'Addressee-Type', Data); +avp(T, Data, 'Alternate-Charged-Party-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Announcement-Identifier', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Announcement-Information', Opts) -> + grouped_avp(T, 'Announcement-Information', Data, Opts); +avp(T, Data, 'Announcement-Order', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Announcing-PLMN-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Announcing-UE-HPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Announcing-UE-VPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'AoC-Cost-Information', Opts) -> + grouped_avp(T, 'AoC-Cost-Information', Data, Opts); +avp(T, Data, 'AoC-Format', _) -> + enumerated_avp(T, 'AoC-Format', Data); +avp(T, Data, 'AoC-Information', Opts) -> + grouped_avp(T, 'AoC-Information', Data, Opts); +avp(T, Data, 'AoC-Request-Type', _) -> + enumerated_avp(T, 'AoC-Request-Type', Data); +avp(T, Data, 'AoC-Service', Opts) -> + grouped_avp(T, 'AoC-Service', Data, Opts); +avp(T, Data, 'AoC-Service-Obligatory-Type', _) -> + enumerated_avp(T, 'AoC-Service-Obligatory-Type', Data); +avp(T, Data, 'AoC-Service-Type', _) -> + enumerated_avp(T, 'AoC-Service-Type', Data); +avp(T, Data, 'AoC-Subscription-Information', Opts) -> + grouped_avp(T, + 'AoC-Subscription-Information', + Data, + Opts); +avp(T, Data, 'Applic-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, + 'Application-Provided-Called-Party-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Application-Server', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Application-Server-Information', Opts) -> + grouped_avp(T, + 'Application-Server-Information', + Data, + Opts); +avp(T, Data, 'Application-Specific-Data', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Associated-Party-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Associated-URI', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Authorised-QoS', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Aux-Applic-Info', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'BSSID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Base-Time-Interval', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Basic-Service-Code', Opts) -> + grouped_avp(T, 'Basic-Service-Code', Data, Opts); +avp(T, Data, 'Bearer-Capability', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Bearer-Service', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'CG-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'CN-Operator-Selection-Entity', _) -> + enumerated_avp(T, 'CN-Operator-Selection-Entity', Data); +avp(T, Data, 'CP-CIoT-EPS-Optimisation-Indicator', _) -> + enumerated_avp(T, + 'CP-CIoT-EPS-Optimisation-Indicator', + Data); +avp(T, Data, 'CPDT-Information', Opts) -> + grouped_avp(T, 'CPDT-Information', Data, Opts); +avp(T, Data, 'CSG-Access-Mode', _) -> + enumerated_avp(T, 'CSG-Access-Mode', Data); +avp(T, Data, 'CSG-Membership-Indication', _) -> + enumerated_avp(T, 'CSG-Membership-Indication', Data); +avp(T, Data, 'CUG-Information', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Called-Asserted-Identity', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Called-Identity', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Called-Identity-Change', Opts) -> + grouped_avp(T, 'Called-Identity-Change', Data, Opts); +avp(T, Data, 'Called-Party-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Calling-Party-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Carrier-Select-Routing-Information', + Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Cause-Code', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Cellular-Network-Information', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Change-Condition', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Change-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Charge-Reason-Code', _) -> + enumerated_avp(T, 'Charge-Reason-Code', Data); +avp(T, Data, 'Charged-Party', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Charging-Characteristics-Selection-Mode', + _) -> + enumerated_avp(T, + 'Charging-Characteristics-Selection-Mode', + Data); +avp(T, Data, 'Charging-Per-IP-CAN-Session-Indicator', + _) -> + enumerated_avp(T, + 'Charging-Per-IP-CAN-Session-Indicator', + Data); +avp(T, Data, 'Class-Identifier', _) -> + enumerated_avp(T, 'Class-Identifier', Data); +avp(T, Data, 'Client-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Content-Class', _) -> + enumerated_avp(T, 'Content-Class', Data); +avp(T, Data, 'Content-Disposition', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Content-Length', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Content-Size', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Content-Type', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Coverage-Info', Opts) -> + grouped_avp(T, 'Coverage-Info', Data, Opts); +avp(T, Data, 'Coverage-Status', _) -> + enumerated_avp(T, 'Coverage-Status', Data); +avp(T, Data, 'Current-Tariff', Opts) -> + grouped_avp(T, 'Current-Tariff', Data, Opts); +avp(T, Data, 'DRM-Content', _) -> + enumerated_avp(T, 'DRM-Content', Data); +avp(T, Data, 'Data-Coding-Scheme', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Deferred-Location-Event-Type', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Delivery-Report-Requested', _) -> + enumerated_avp(T, 'Delivery-Report-Requested', Data); +avp(T, Data, 'Destination-Interface', Opts) -> + grouped_avp(T, 'Destination-Interface', Data, Opts); +avp(T, Data, 'Diagnostics', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Discoveree-UE-HPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Discoveree-UE-VPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Discoverer-UE-HPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Discoverer-UE-VPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Domain-Name', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Dynamic-Address-Flag', _) -> + enumerated_avp(T, 'Dynamic-Address-Flag', Data); +avp(T, Data, 'Dynamic-Address-Flag-Extension', _) -> + enumerated_avp(T, + 'Dynamic-Address-Flag-Extension', + Data); +avp(T, Data, 'EPDG-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Early-Media-Description', Opts) -> + grouped_avp(T, 'Early-Media-Description', Data, Opts); +avp(T, Data, 'Enhanced-Diagnostics', Opts) -> + grouped_avp(T, 'Enhanced-Diagnostics', Data, Opts); +avp(T, Data, 'Envelope', Opts) -> + grouped_avp(T, 'Envelope', Data, Opts); +avp(T, Data, 'Envelope-End-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Envelope-Reporting', _) -> + enumerated_avp(T, 'Envelope-Reporting', Data); +avp(T, Data, 'Envelope-Start-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Event', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Event-Charging-TimeStamp', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Event-Type', Opts) -> + grouped_avp(T, 'Event-Type', Data, Opts); +avp(T, Data, 'Expires', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'FE-Identifier-List', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'File-Repair-Supported', _) -> + enumerated_avp(T, 'File-Repair-Supported', Data); +avp(T, Data, 'Forwarding-Pending', _) -> + enumerated_avp(T, 'Forwarding-Pending', Data); +avp(T, Data, 'From-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'GGSN-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'IMS-Application-Reference-Identifier', + Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'IMS-Charging-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'IMS-Communication-Service-Identifier', + Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'IMS-Emergency-Indicator', _) -> + enumerated_avp(T, 'IMS-Emergency-Indicator', Data); +avp(T, Data, 'IMS-Information', Opts) -> + grouped_avp(T, 'IMS-Information', Data, Opts); +avp(T, Data, 'IMS-Visited-Network-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'IMSI-Unauthenticated-Flag', _) -> + enumerated_avp(T, 'IMSI-Unauthenticated-Flag', Data); +avp(T, Data, 'IP-Realm-Default-Indication', _) -> + enumerated_avp(T, 'IP-Realm-Default-Indication', Data); +avp(T, Data, 'ISUP-Cause', Opts) -> + grouped_avp(T, 'ISUP-Cause', Data, Opts); +avp(T, Data, 'ISUP-Cause-Diagnostics', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ISUP-Cause-Location', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'ISUP-Cause-Value', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'ISUP-Location-Number', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Incoming-Trunk-Group-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Incremental-Cost', Opts) -> + grouped_avp(T, 'Incremental-Cost', Data, Opts); +avp(T, Data, 'Initial-IMS-Charging-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Instance-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Inter-Operator-Identifier', Opts) -> + grouped_avp(T, 'Inter-Operator-Identifier', Data, Opts); +avp(T, Data, 'Inter-UE-Transfer', _) -> + enumerated_avp(T, 'Inter-UE-Transfer', Data); +avp(T, Data, 'Interface-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Interface-Port', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Interface-Text', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Interface-Type', _) -> + enumerated_avp(T, 'Interface-Type', Data); +avp(T, Data, 'LCS-APN', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'LCS-Client-Dialed-By-MS', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'LCS-Client-External-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'LCS-Client-ID', Opts) -> + grouped_avp(T, 'LCS-Client-ID', Data, Opts); +avp(T, Data, 'LCS-Client-Name', Opts) -> + grouped_avp(T, 'LCS-Client-Name', Data, Opts); +avp(T, Data, 'LCS-Client-Type', _) -> + enumerated_avp(T, 'LCS-Client-Type', Data); +avp(T, Data, 'LCS-Data-Coding-Scheme', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'LCS-Format-Indicator', _) -> + enumerated_avp(T, 'LCS-Format-Indicator', Data); +avp(T, Data, 'LCS-Information', Opts) -> + grouped_avp(T, 'LCS-Information', Data, Opts); +avp(T, Data, 'LCS-Name-String', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'LCS-Requestor-ID', Opts) -> + grouped_avp(T, 'LCS-Requestor-ID', Data, Opts); +avp(T, Data, 'LCS-Requestor-ID-String', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Language', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Layer-2-Group-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Local-GW-Inserted-Indication', _) -> + enumerated_avp(T, 'Local-GW-Inserted-Indication', Data); +avp(T, Data, 'Local-Sequence-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Location-Estimate', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Location-Estimate-Type', _) -> + enumerated_avp(T, 'Location-Estimate-Type', Data); +avp(T, Data, 'Location-Info', Opts) -> + grouped_avp(T, 'Location-Info', Data, Opts); +avp(T, Data, 'Location-Type', Opts) -> + grouped_avp(T, 'Location-Type', Data, Opts); +avp(T, Data, 'Low-Balance-Indication', _) -> + enumerated_avp(T, 'Low-Balance-Indication', Data); +avp(T, Data, 'Low-Priority-Indicator', _) -> + enumerated_avp(T, 'Low-Priority-Indicator', Data); +avp(T, Data, 'MBMS-Charged-Party', _) -> + enumerated_avp(T, 'MBMS-Charged-Party', Data); +avp(T, Data, 'MBMS-GW-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'MBMS-Information', Opts) -> + grouped_avp(T, 'MBMS-Information', Data, Opts); +avp(T, Data, 'MBMS-User-Service-Type', _) -> + enumerated_avp(T, 'MBMS-User-Service-Type', Data); +avp(T, Data, 'MM-Content-Type', Opts) -> + grouped_avp(T, 'MM-Content-Type', Data, Opts); +avp(T, Data, 'MMBox-Storage-Requested', _) -> + enumerated_avp(T, 'MMBox-Storage-Requested', Data); +avp(T, Data, 'MMS-Information', Opts) -> + grouped_avp(T, 'MMS-Information', Data, Opts); +avp(T, Data, 'MMTel-Information', Opts) -> + grouped_avp(T, 'MMTel-Information', Data, Opts); +avp(T, Data, 'MMTel-SService-Type', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MSC-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MTC-IWF-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Media-Initiator-Flag', _) -> + enumerated_avp(T, 'Media-Initiator-Flag', Data); +avp(T, Data, 'Media-Initiator-Party', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Message-Body', Opts) -> + grouped_avp(T, 'Message-Body', Data, Opts); +avp(T, Data, 'Message-Class', Opts) -> + grouped_avp(T, 'Message-Class', Data, Opts); +avp(T, Data, 'Message-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Message-Size', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Message-Type', _) -> + enumerated_avp(T, 'Message-Type', Data); +avp(T, Data, 'Monitored-PLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Monitoring-Event-Configuration-Activity', + Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Monitoring-Event-Functionality', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Monitoring-Event-Information', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Information', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Data', Opts) -> + grouped_avp(T, + 'Monitoring-Event-Report-Data', + Data, + Opts); +avp(T, Data, 'Monitoring-Event-Report-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Monitoring-UE-HPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Monitoring-UE-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Monitoring-UE-VPLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'NIDD-Submission', Opts) -> + grouped_avp(T, 'NIDD-Submission', Data, Opts); +avp(T, Data, 'NNI-Information', Opts) -> + grouped_avp(T, 'NNI-Information', Data, Opts); +avp(T, Data, 'NNI-Type', _) -> + enumerated_avp(T, 'NNI-Type', Data); +avp(T, Data, 'Neighbour-Node-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Network-Call-Reference-Number', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Next-Tariff', Opts) -> + grouped_avp(T, 'Next-Tariff', Data, Opts); +avp(T, Data, 'Node-Functionality', _) -> + enumerated_avp(T, 'Node-Functionality', Data); +avp(T, Data, 'Node-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Number-Of-Diversions', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Number-Of-Messages-Sent', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Number-Of-Participants', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Number-Of-Received-Talk-Bursts', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Number-Of-Talk-Bursts', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Number-Portability-Routing-Information', + Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Offline-Charging', Opts) -> + grouped_avp(T, 'Offline-Charging', Data, Opts); +avp(T, Data, 'Online-Charging-Flag', _) -> + enumerated_avp(T, 'Online-Charging-Flag', Data); +avp(T, Data, 'Originating-IOI', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Originator', _) -> + enumerated_avp(T, 'Originator', Data); +avp(T, Data, 'Originator-Address', Opts) -> + grouped_avp(T, 'Originator-Address', Data, Opts); +avp(T, Data, 'Originator-Interface', Opts) -> + grouped_avp(T, 'Originator-Interface', Data, Opts); +avp(T, Data, 'Originator-Received-Address', Opts) -> + grouped_avp(T, + 'Originator-Received-Address', + Data, + Opts); +avp(T, Data, 'Originator-SCCP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Outgoing-Session-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Outgoing-Trunk-Group-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'PC3-Control-Protocol-Cause', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'PC3-EPC-Control-Protocol-Cause', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'PC5-Radio-Technology', _) -> + enumerated_avp(T, 'PC5-Radio-Technology', Data); +avp(T, Data, 'PDN-Connection-Charging-ID', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'PDP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'PDP-Address-Prefix-Length', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'PDP-Context-Type', _) -> + enumerated_avp(T, 'PDP-Context-Type', Data); +avp(T, Data, 'PS-Append-Free-Format-Data', _) -> + enumerated_avp(T, 'PS-Append-Free-Format-Data', Data); +avp(T, Data, 'PS-Free-Format-Data', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'PS-Furnish-Charging-Information', Opts) -> + grouped_avp(T, + 'PS-Furnish-Charging-Information', + Data, + Opts); +avp(T, Data, 'PS-Information', Opts) -> + grouped_avp(T, 'PS-Information', Data, Opts); +avp(T, Data, 'Participant-Access-Priority', _) -> + enumerated_avp(T, 'Participant-Access-Priority', Data); +avp(T, Data, 'Participant-Action-Type', _) -> + enumerated_avp(T, 'Participant-Action-Type', Data); +avp(T, Data, 'Participant-Group', Opts) -> + grouped_avp(T, 'Participant-Group', Data, Opts); +avp(T, Data, 'Participants-Involved', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Play-Alternative', _) -> + enumerated_avp(T, 'Play-Alternative', Data); +avp(T, Data, 'PoC-Change-Condition', _) -> + enumerated_avp(T, 'PoC-Change-Condition', Data); +avp(T, Data, 'PoC-Change-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'PoC-Controlling-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'PoC-Event-Type', _) -> + enumerated_avp(T, 'PoC-Event-Type', Data); +avp(T, Data, 'PoC-Group-Name', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'PoC-Information', Opts) -> + grouped_avp(T, 'PoC-Information', Data, Opts); +avp(T, Data, 'PoC-Server-Role', _) -> + enumerated_avp(T, 'PoC-Server-Role', Data); +avp(T, Data, 'PoC-Session-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'PoC-Session-Initiation-Type', _) -> + enumerated_avp(T, 'PoC-Session-Initiation-Type', Data); +avp(T, Data, 'PoC-Session-Type', _) -> + enumerated_avp(T, 'PoC-Session-Type', Data); +avp(T, Data, 'PoC-User-Role', Opts) -> + grouped_avp(T, 'PoC-User-Role', Data, Opts); +avp(T, Data, 'PoC-User-Role-IDs', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'PoC-User-Role-Info-Units', _) -> + enumerated_avp(T, 'PoC-User-Role-Info-Units', Data); +avp(T, Data, 'Positioning-Data', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Preferred-AoC-Currency', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Priority', _) -> + enumerated_avp(T, 'Priority', Data); +avp(T, Data, 'Privacy-Indicator', _) -> + enumerated_avp(T, 'Privacy-Indicator', Data); +avp(T, Data, 'ProSe-3rd-Party-Application-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, + 'ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Reception-Data-Container', + Data, + Opts); +avp(T, Data, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + grouped_avp(T, + 'ProSe-Direct-Communication-Transmission-Data-Container', + Data, + Opts); +avp(T, Data, 'ProSe-Direct-Discovery-Model', _) -> + enumerated_avp(T, 'ProSe-Direct-Discovery-Model', Data); +avp(T, Data, 'ProSe-Event-Type', _) -> + enumerated_avp(T, 'ProSe-Event-Type', Data); +avp(T, Data, 'ProSe-Function-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'ProSe-Function-PLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'ProSe-Functionality', _) -> + enumerated_avp(T, 'ProSe-Functionality', Data); +avp(T, Data, 'ProSe-Group-IP-Multicast-Address', + Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'ProSe-Information', Opts) -> + grouped_avp(T, 'ProSe-Information', Data, Opts); +avp(T, Data, 'ProSe-Range-Class', _) -> + enumerated_avp(T, 'ProSe-Range-Class', Data); +avp(T, Data, 'ProSe-Reason-For-Cancellation', _) -> + enumerated_avp(T, + 'ProSe-Reason-For-Cancellation', + Data); +avp(T, Data, 'ProSe-Request-Timestamp', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'ProSe-Role-Of-UE', _) -> + enumerated_avp(T, 'ProSe-Role-Of-UE', Data); +avp(T, Data, 'ProSe-Source-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'ProSe-Target-Layer-2-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ProSe-UE-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ProSe-UE-to-Network-Relay-UE-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Proximity-Alert-Indication', _) -> + enumerated_avp(T, 'Proximity-Alert-Indication', Data); +avp(T, Data, 'Proximity-Alert-Timestamp', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Proximity-Cancellation-Timestamp', + Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Quota-Consumption-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Quota-Holding-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Quota-Indicator', _) -> + enumerated_avp(T, 'Quota-Indicator', Data); +avp(T, Data, 'RAN-End-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'RAN-Secondary-RAT-Usage-Report', Opts) -> + grouped_avp(T, + 'RAN-Secondary-RAT-Usage-Report', + Data, + Opts); +avp(T, Data, 'RAN-Start-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Radio-Frequency', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Radio-Parameter-Set-Info', Opts) -> + grouped_avp(T, 'Radio-Parameter-Set-Info', Data, Opts); +avp(T, Data, 'Radio-Parameter-Set-Values', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Radio-Resources-Indicator', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Rate-Control-Max-Message-Size', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Rate-Control-Max-Rate', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Rate-Control-Time-Unit', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Rate-Element', Opts) -> + grouped_avp(T, 'Rate-Element', Data, Opts); +avp(T, Data, 'Read-Reply-Report-Requested', _) -> + enumerated_avp(T, 'Read-Reply-Report-Requested', Data); +avp(T, Data, 'Real-Time-Tariff-Information', Opts) -> + grouped_avp(T, + 'Real-Time-Tariff-Information', + Data, + Opts); +avp(T, Data, 'Reason-Header', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Received-Talk-Burst-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Received-Talk-Burst-Volume', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Recipient-Address', Opts) -> + grouped_avp(T, 'Recipient-Address', Data, Opts); +avp(T, Data, 'Recipient-Info', Opts) -> + grouped_avp(T, 'Recipient-Info', Data, Opts); +avp(T, Data, 'Recipient-Received-Address', Opts) -> + grouped_avp(T, + 'Recipient-Received-Address', + Data, + Opts); +avp(T, Data, 'Recipient-SCCP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Refund-Information', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Related-Change-Condition-Information', + Opts) -> + grouped_avp(T, + 'Related-Change-Condition-Information', + Data, + Opts); +avp(T, Data, 'Related-IMS-Charging-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Related-IMS-Charging-Identifier-Node', + Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Related-Trigger', Opts) -> + grouped_avp(T, 'Related-Trigger', Data, Opts); +avp(T, Data, 'Relationship-Mode', _) -> + enumerated_avp(T, 'Relationship-Mode', Data); +avp(T, Data, 'Relay-IP-address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Remaining-Balance', Opts) -> + grouped_avp(T, 'Remaining-Balance', Data, Opts); +avp(T, Data, 'Reply-Applic-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Reply-Path-Requested', _) -> + enumerated_avp(T, 'Reply-Path-Requested', Data); +avp(T, Data, 'Reporting-Reason', _) -> + enumerated_avp(T, 'Reporting-Reason', Data); +avp(T, Data, 'Requested-PLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Requested-Party-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Requestor-PLMN-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Role-Of-Node', _) -> + enumerated_avp(T, 'Role-Of-Node', Data); +avp(T, Data, 'Role-Of-ProSe-Function', _) -> + enumerated_avp(T, 'Role-Of-ProSe-Function', Data); +avp(T, Data, 'Route-Header-Received', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Route-Header-Transmitted', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'SCS-AS-Address', Opts) -> + grouped_avp(T, 'SCS-AS-Address', Data, Opts); +avp(T, Data, 'SCS-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'SCS-Realm', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'SDP-Answer-Timestamp', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'SDP-Media-Component', Opts) -> + grouped_avp(T, 'SDP-Media-Component', Data, Opts); +avp(T, Data, 'SDP-Media-Description', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'SDP-Media-Name', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'SDP-Offer-Timestamp', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'SDP-Session-Description', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'SDP-TimeStamps', Opts) -> + grouped_avp(T, 'SDP-TimeStamps', Data, Opts); +avp(T, Data, 'SDP-Type', _) -> + enumerated_avp(T, 'SDP-Type', Data); +avp(T, Data, 'SGSN-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'SGW-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'SGW-Change', _) -> + enumerated_avp(T, 'SGW-Change', Data); +avp(T, Data, 'SGi-PtP-Tunnelling-Method', _) -> + enumerated_avp(T, 'SGi-PtP-Tunnelling-Method', Data); +avp(T, Data, 'SIP-Method', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'SIP-Request-Timestamp', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'SIP-Request-Timestamp-Fraction', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SIP-Response-Timestamp', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'SIP-Response-Timestamp-Fraction', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SM-Device-Trigger-Indicator', _) -> + enumerated_avp(T, 'SM-Device-Trigger-Indicator', Data); +avp(T, Data, 'SM-Device-Trigger-Information', Opts) -> + grouped_avp(T, + 'SM-Device-Trigger-Information', + Data, + Opts); +avp(T, Data, 'SM-Discharge-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'SM-Message-Type', _) -> + enumerated_avp(T, 'SM-Message-Type', Data); +avp(T, Data, 'SM-Protocol-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SM-Sequence-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SM-Service-Type', _) -> + enumerated_avp(T, 'SM-Service-Type', Data); +avp(T, Data, 'SM-Status', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SM-User-Data-Header', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'SMS-Information', Opts) -> + grouped_avp(T, 'SMS-Information', Data, Opts); +avp(T, Data, 'SMS-Node', _) -> + enumerated_avp(T, 'SMS-Node', Data); +avp(T, Data, 'SMS-Result', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'SMSC-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Scale-Factor', Opts) -> + grouped_avp(T, 'Scale-Factor', Data, Opts); +avp(T, Data, 'Secondary-RAT-Type', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Served-Party-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Service-Data-Container', Opts) -> + grouped_avp(T, 'Service-Data-Container', Data, Opts); +avp(T, Data, 'Service-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Service-Information', Opts) -> + grouped_avp(T, 'Service-Information', Data, Opts); +avp(T, Data, 'Service-Mode', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Service-Specific-Data', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Service-Specific-Info', Opts) -> + grouped_avp(T, 'Service-Specific-Info', Data, Opts); +avp(T, Data, 'Service-Specific-Type', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Serving-Node-Identity', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'Serving-Node-Type', _) -> + enumerated_avp(T, 'Serving-Node-Type', Data); +avp(T, Data, 'Session-Direction', _) -> + enumerated_avp(T, 'Session-Direction', Data); +avp(T, Data, 'Start-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Start-of-Charging', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Status-AS-Code', _) -> + enumerated_avp(T, 'Status-AS-Code', Data); +avp(T, Data, 'Stop-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Submission-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Subscriber-Role', _) -> + enumerated_avp(T, 'Subscriber-Role', Data); +avp(T, Data, 'Supplementary-Service', Opts) -> + grouped_avp(T, 'Supplementary-Service', Data, Opts); +avp(T, Data, 'TAD-Identifier', _) -> + enumerated_avp(T, 'TAD-Identifier', Data); +avp(T, Data, 'TWAG-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'TWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'TWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Talk-Burst-Exchange', Opts) -> + grouped_avp(T, 'Talk-Burst-Exchange', Data, Opts); +avp(T, Data, 'Talk-Burst-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Talk-Burst-Volume', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Target-IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'Tariff-Information', Opts) -> + grouped_avp(T, 'Tariff-Information', Data, Opts); +avp(T, Data, 'Tariff-XML', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Teleservice', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Terminating-IOI', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Time-First-Reception', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Time-First-Transmission', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Time-First-Usage', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Time-Indicator', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Time-Last-Usage', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Time-Quota-Mechanism', Opts) -> + grouped_avp(T, 'Time-Quota-Mechanism', Data, Opts); +avp(T, Data, 'Time-Quota-Threshold', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Time-Quota-Type', _) -> + enumerated_avp(T, 'Time-Quota-Type', Data); +avp(T, Data, 'Time-Stamps', Opts) -> + grouped_avp(T, 'Time-Stamps', Data, Opts); +avp(T, Data, 'Time-Usage', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Token-Text', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Traffic-Data-Volumes', Opts) -> + grouped_avp(T, 'Traffic-Data-Volumes', Data, Opts); +avp(T, Data, 'Transcoder-Inserted-Indication', _) -> + enumerated_avp(T, + 'Transcoder-Inserted-Indication', + Data); +avp(T, Data, 'Transit-IOI-List', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Transmitter-Info', Opts) -> + grouped_avp(T, 'Transmitter-Info', Data, Opts); +avp(T, Data, 'Trigger', Opts) -> + grouped_avp(T, 'Trigger', Data, Opts); +avp(T, Data, 'Trigger-Type', _) -> + enumerated_avp(T, 'Trigger-Type', Data); +avp(T, Data, 'Trunk-Group-Id', Opts) -> + grouped_avp(T, 'Trunk-Group-Id', Data, Opts); +avp(T, Data, 'Type-Number', _) -> + enumerated_avp(T, 'Type-Number', Data); +avp(T, Data, 'UNI-PDU-CP-Only-Flag', _) -> + enumerated_avp(T, 'UNI-PDU-CP-Only-Flag', Data); +avp(T, Data, 'UWAN-User-Location-Info', Opts) -> + grouped_avp(T, 'UWAN-User-Location-Info', Data, Opts); +avp(T, Data, 'Unit-Cost', Opts) -> + grouped_avp(T, 'Unit-Cost', Data, Opts); +avp(T, Data, 'Unit-Quota-Threshold', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Unused-Quota-Timer', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Usage-Information-Report-Sequence-Number', + Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'User-CSG-Information', Opts) -> + grouped_avp(T, 'User-CSG-Information', Data, Opts); +avp(T, Data, 'User-Participating-Type', _) -> + enumerated_avp(T, 'User-Participating-Type', Data); +avp(T, Data, 'User-Session-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'VCS-Information', Opts) -> + grouped_avp(T, 'VCS-Information', Data, Opts); +avp(T, Data, 'VLR-Number', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Variable-Part', Opts) -> + grouped_avp(T, 'Variable-Part', Data, Opts); +avp(T, Data, 'Variable-Part-Order', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Variable-Part-Type', _) -> + enumerated_avp(T, 'Variable-Part-Type', Data); +avp(T, Data, 'Variable-Part-Value', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Volume-Quota-Threshold', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'Accounting-Auth-Method', Opts) -> + avp(T, + Data, + 'Accounting-Auth-Method', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Accounting-Input-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Octets', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Accounting-Input-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Packets', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Accounting-Output-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Octets', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Accounting-Output-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Packets', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Acct-Authentic', Opts) -> + avp(T, + Data, + 'Acct-Authentic', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Acct-Delay-Time', Opts) -> + avp(T, + Data, + 'Acct-Delay-Time', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Acct-Link-Count', Opts) -> + avp(T, + Data, + 'Acct-Link-Count', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Acct-Session-Time', Opts) -> + avp(T, + Data, + 'Acct-Session-Time', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Acct-Tunnel-Connection', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Connection', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Acct-Tunnel-Packets-Lost', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Packets-Lost', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Callback-Id', Opts) -> + avp(T, + Data, + 'Callback-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Callback-Number', Opts) -> + avp(T, + Data, + 'Callback-Number', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Called-Station-Id', Opts) -> + avp(T, + Data, + 'Called-Station-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Calling-Station-Id', Opts) -> + avp(T, + Data, + 'Calling-Station-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Connect-Info', Opts) -> + avp(T, + Data, + 'Connect-Info', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Filter-Id', Opts) -> + avp(T, + Data, + 'Filter-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Idle-Timeout', Opts) -> + avp(T, + Data, + 'Idle-Timeout', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-IP-Host', Opts) -> + avp(T, + Data, + 'Login-IP-Host', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-IPv6-Host', Opts) -> + avp(T, + Data, + 'Login-IPv6-Host', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-LAT-Group', Opts) -> + avp(T, + Data, + 'Login-LAT-Group', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-LAT-Node', Opts) -> + avp(T, + Data, + 'Login-LAT-Node', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-LAT-Port', Opts) -> + avp(T, + Data, + 'Login-LAT-Port', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-LAT-Service', Opts) -> + avp(T, + Data, + 'Login-LAT-Service', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-Service', Opts) -> + avp(T, + Data, + 'Login-Service', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Login-TCP-Port', Opts) -> + avp(T, + Data, + 'Login-TCP-Port', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'NAS-Filter-Rule', Opts) -> + avp(T, + Data, + 'NAS-Filter-Rule', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'NAS-IP-Address', Opts) -> + avp(T, + Data, + 'NAS-IP-Address', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'NAS-IPv6-Address', Opts) -> + avp(T, + Data, + 'NAS-IPv6-Address', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'NAS-Identifier', Opts) -> + avp(T, + Data, + 'NAS-Identifier', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'NAS-Port', Opts) -> + avp(T, Data, 'NAS-Port', Opts, diameter_rfc7155_nasreq); +avp(T, Data, 'NAS-Port-Id', Opts) -> + avp(T, + Data, + 'NAS-Port-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'NAS-Port-Type', Opts) -> + avp(T, + Data, + 'NAS-Port-Type', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Origin-AAA-Protocol', Opts) -> + avp(T, + Data, + 'Origin-AAA-Protocol', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Originating-Line-Info', Opts) -> + avp(T, + Data, + 'Originating-Line-Info', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Port-Limit', Opts) -> + avp(T, + Data, + 'Port-Limit', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'QoS-Filter-Rule', Opts) -> + avp(T, + Data, + 'QoS-Filter-Rule', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Service-Type', Opts) -> + avp(T, + Data, + 'Service-Type', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Assignment-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Assignment-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Client-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Auth-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Client-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Endpoint', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Medium-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Medium-Type', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Password', Opts) -> + avp(T, + Data, + 'Tunnel-Password', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Preference', Opts) -> + avp(T, + Data, + 'Tunnel-Preference', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Private-Group-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Private-Group-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Server-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Auth-Id', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Server-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Endpoint', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunnel-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Type', + Opts, + diameter_rfc7155_nasreq); +avp(T, Data, 'Tunneling', Opts) -> + grouped_avp(T, 'Tunneling', Data, Opts); +avp(T, Data, 'CC-Correlation-Id', Opts) -> + avp(T, + Data, + 'CC-Correlation-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Input-Octets', Opts) -> + avp(T, + Data, + 'CC-Input-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Money', Opts) -> + grouped_avp(T, 'CC-Money', Data, Opts); +avp(T, Data, 'CC-Output-Octets', Opts) -> + avp(T, + Data, + 'CC-Output-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Number', Opts) -> + avp(T, + Data, + 'CC-Request-Number', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Request-Type', Opts) -> + avp(T, + Data, + 'CC-Request-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Service-Specific-Units', Opts) -> + avp(T, + Data, + 'CC-Service-Specific-Units', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Session-Failover', Opts) -> + avp(T, + Data, + 'CC-Session-Failover', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'CC-Sub-Session-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Time', Opts) -> + avp(T, Data, 'CC-Time', Opts, diameter_rfc4006_cc); +avp(T, Data, 'CC-Total-Octets', Opts) -> + avp(T, + Data, + 'CC-Total-Octets', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'CC-Unit-Type', Opts) -> + avp(T, Data, 'CC-Unit-Type', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Check-Balance-Result', Opts) -> + avp(T, + Data, + 'Check-Balance-Result', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Cost-Information', Opts) -> + grouped_avp(T, 'Cost-Information', Data, Opts); +avp(T, Data, 'Cost-Unit', Opts) -> + avp(T, Data, 'Cost-Unit', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control', Opts) -> + avp(T, + Data, + 'Credit-Control', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Credit-Control-Failure-Handling', Opts) -> + avp(T, + Data, + 'Credit-Control-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Currency-Code', Opts) -> + avp(T, + Data, + 'Currency-Code', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Direct-Debiting-Failure-Handling', + Opts) -> + avp(T, + Data, + 'Direct-Debiting-Failure-Handling', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Exponent', Opts) -> + avp(T, Data, 'Exponent', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Action', Opts) -> + avp(T, + Data, + 'Final-Unit-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Final-Unit-Indication', Opts) -> + grouped_avp(T, 'Final-Unit-Indication', Data, Opts); +avp(T, Data, 'G-S-U-Pool-Identifier', Opts) -> + avp(T, + Data, + 'G-S-U-Pool-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'G-S-U-Pool-Reference', Opts) -> + grouped_avp(T, 'G-S-U-Pool-Reference', Data, Opts); +avp(T, Data, 'Granted-Service-Unit', Opts) -> + grouped_avp(T, 'Granted-Service-Unit', Data, Opts); +avp(T, Data, 'Multiple-Services-Credit-Control', + Opts) -> + grouped_avp(T, + 'Multiple-Services-Credit-Control', + Data, + Opts); +avp(T, Data, 'Multiple-Services-Indicator', Opts) -> + avp(T, + Data, + 'Multiple-Services-Indicator', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Rating-Group', Opts) -> + avp(T, Data, 'Rating-Group', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Address-Type', Opts) -> + avp(T, + Data, + 'Redirect-Address-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Redirect-Server', Opts) -> + grouped_avp(T, 'Redirect-Server', Data, Opts); +avp(T, Data, 'Redirect-Server-Address', Opts) -> + avp(T, + Data, + 'Redirect-Server-Address', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Action', Opts) -> + avp(T, + Data, + 'Requested-Action', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Requested-Service-Unit', Opts) -> + grouped_avp(T, 'Requested-Service-Unit', Data, Opts); +avp(T, Data, 'Restriction-Filter-Rule', Opts) -> + avp(T, + Data, + 'Restriction-Filter-Rule', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Context-Id', Opts) -> + avp(T, + Data, + 'Service-Context-Id', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Identifier', Opts) -> + avp(T, + Data, + 'Service-Identifier', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Info', Opts) -> + grouped_avp(T, 'Service-Parameter-Info', Data, Opts); +avp(T, Data, 'Service-Parameter-Type', Opts) -> + avp(T, + Data, + 'Service-Parameter-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Service-Parameter-Value', Opts) -> + avp(T, + Data, + 'Service-Parameter-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id', Opts) -> + grouped_avp(T, 'Subscription-Id', Data, Opts); +avp(T, Data, 'Subscription-Id-Data', Opts) -> + avp(T, + Data, + 'Subscription-Id-Data', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Subscription-Id-Type', Opts) -> + avp(T, + Data, + 'Subscription-Id-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Change-Usage', Opts) -> + avp(T, + Data, + 'Tariff-Change-Usage', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Tariff-Time-Change', Opts) -> + avp(T, + Data, + 'Tariff-Time-Change', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Unit-Value', Opts) -> + grouped_avp(T, 'Unit-Value', Data, Opts); +avp(T, Data, 'Used-Service-Unit', Opts) -> + grouped_avp(T, 'Used-Service-Unit', Data, Opts); +avp(T, Data, 'User-Equipment-Info', Opts) -> + grouped_avp(T, 'User-Equipment-Info', Data, Opts); +avp(T, Data, 'User-Equipment-Info-Type', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Type', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'User-Equipment-Info-Value', Opts) -> + avp(T, + Data, + 'User-Equipment-Info-Value', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Validity-Time', Opts) -> + avp(T, + Data, + 'Validity-Time', + Opts, + diameter_rfc4006_cc); +avp(T, Data, 'Value-Digits', Opts) -> + avp(T, Data, 'Value-Digits', Opts, diameter_rfc4006_cc); +avp(T, Data, 'Address-Realm', Opts) -> + avp(T, + Data, + 'Address-Realm', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Aggregation-Network-Type', Opts) -> + avp(T, + Data, + 'Aggregation-Network-Type', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Application-Class-ID', Opts) -> + avp(T, + Data, + 'Application-Class-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'IP-Connectivity-Status', Opts) -> + avp(T, + Data, + 'IP-Connectivity-Status', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Initial-Gate-Setting-ID', Opts) -> + avp(T, + Data, + 'Initial-Gate-Setting-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Logical-Access-ID', Opts) -> + avp(T, + Data, + 'Logical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-DL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Maximum-Allowed-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Maximum-Allowed-Bandwidth-UL', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Physical-Access-ID', Opts) -> + avp(T, + Data, + 'Physical-Access-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'QoS-Profile-ID', Opts) -> + avp(T, + Data, + 'QoS-Profile-ID', + Opts, + diameter_etsi_es283_034); +avp(T, Data, 'Transport-Class', Opts) -> + avp(T, + Data, + 'Transport-Class', + Opts, + diameter_etsi_es283_034); +avp(T, Data, '3GPP-Allocate-IP-Type', Opts) -> + avp(T, + Data, + '3GPP-Allocate-IP-Type', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CAMEL-Charging-Info', Opts) -> + avp(T, + Data, + '3GPP-CAMEL-Charging-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-CG-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-CG-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Characteristics', Opts) -> + avp(T, + Data, + '3GPP-Charging-Characteristics', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Charging-Id', Opts) -> + avp(T, + Data, + '3GPP-Charging-Id', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-GGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-GGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-GPRS-Negotiated-QoS-Profile', + Opts) -> + avp(T, + Data, + '3GPP-GPRS-Negotiated-QoS-Profile', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IMEISV', Opts) -> + avp(T, Data, '3GPP-IMEISV', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI', Opts) -> + avp(T, Data, '3GPP-IMSI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-IMSI-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-IMSI-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-IPv6-DNS-Servers', Opts) -> + avp(T, + Data, + '3GPP-IPv6-DNS-Servers', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-MS-TimeZone', Opts) -> + avp(T, + Data, + '3GPP-MS-TimeZone', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-NSAPI', Opts) -> + avp(T, Data, '3GPP-NSAPI', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Negotiated-DSCP', Opts) -> + avp(T, + Data, + '3GPP-Negotiated-DSCP', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-PDP-Type', Opts) -> + avp(T, Data, '3GPP-PDP-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-Packet-Filter', Opts) -> + avp(T, + Data, + '3GPP-Packet-Filter', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-RAT-Type', Opts) -> + avp(T, Data, '3GPP-RAT-Type', Opts, diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-IPv6-Address', Opts) -> + avp(T, + Data, + '3GPP-SGSN-IPv6-Address', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-SGSN-MCC-MNC', Opts) -> + avp(T, + Data, + '3GPP-SGSN-MCC-MNC', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Selection-Mode', Opts) -> + avp(T, + Data, + '3GPP-Selection-Mode', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-Session-Stop-Indicator', Opts) -> + avp(T, + Data, + '3GPP-Session-Stop-Indicator', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info', + Opts, + diameter_3gpp_base); +avp(T, Data, '3GPP-User-Location-Info-Time', Opts) -> + avp(T, + Data, + '3GPP-User-Location-Info-Time', + Opts, + diameter_3gpp_base); +avp(T, Data, 'TWAN-Identifier', Opts) -> + avp(T, + Data, + 'TWAN-Identifier', + Opts, + diameter_3gpp_base); +avp(T, Data, 'Additional-MBMS-Trace-Info', Opts) -> + avp(T, + Data, + 'Additional-MBMS-Trace-Info', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'Alternative-APN', Opts) -> + avp(T, + Data, + 'Alternative-APN', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'CN-IP-Multicast-Distribution', Opts) -> + avp(T, + Data, + 'CN-IP-Multicast-Distribution', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-2G-3G-Indicator', Opts) -> + avp(T, + Data, + 'MBMS-2G-3G-Indicator', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-BMSC-SSM-IP-Address', Opts) -> + avp(T, + Data, + 'MBMS-BMSC-SSM-IP-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-BMSC-SSM-IPv6-Address', Opts) -> + avp(T, + Data, + 'MBMS-BMSC-SSM-IPv6-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Counting-Information', Opts) -> + avp(T, + Data, + 'MBMS-Counting-Information', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Flow-Identifier', Opts) -> + avp(T, + Data, + 'MBMS-Flow-Identifier', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-GGSN-Address', Opts) -> + avp(T, + Data, + 'MBMS-GGSN-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-GGSN-IPv6-Address', Opts) -> + avp(T, + Data, + 'MBMS-GGSN-IPv6-Address', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-HC-Indicator', Opts) -> + avp(T, + Data, + 'MBMS-HC-Indicator', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Required-QoS', Opts) -> + avp(T, + Data, + 'MBMS-Required-QoS', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Service-Area', Opts) -> + avp(T, + Data, + 'MBMS-Service-Area', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Service-Type', Opts) -> + avp(T, + Data, + 'MBMS-Service-Type', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Session-Duration', Opts) -> + avp(T, + Data, + 'MBMS-Session-Duration', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Session-Identity', Opts) -> + avp(T, + Data, + 'MBMS-Session-Identity', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Session-Repetition-Number', Opts) -> + avp(T, + Data, + 'MBMS-Session-Repetition-Number', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-StartStop-Indication', Opts) -> + avp(T, + Data, + 'MBMS-StartStop-Indication', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-Time-To-Data-Transfer', Opts) -> + avp(T, + Data, + 'MBMS-Time-To-Data-Transfer', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'MBMS-User-Data-Mode-Indication', Opts) -> + avp(T, + Data, + 'MBMS-User-Data-Mode-Indication', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'RAI', Opts) -> + avp(T, Data, 'RAI', Opts, diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'Required-MBMS-Bearer-Capabilities', + Opts) -> + avp(T, + Data, + 'Required-MBMS-Bearer-Capabilities', + Opts, + diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'TMGI', Opts) -> + avp(T, Data, 'TMGI', Opts, diameter_3gpp_ts29_061_gmb); +avp(T, Data, 'AN-GW-Address', Opts) -> + avp(T, + Data, + 'AN-GW-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AN-GW-Status', Opts) -> + avp(T, + Data, + 'AN-GW-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-DL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'APN-Aggregate-Max-Bitrate-UL', Opts) -> + avp(T, + Data, + 'APN-Aggregate-Max-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Access-Network-Charging-Identifier-Gx', + Opts) -> + grouped_avp(T, + 'Access-Network-Charging-Identifier-Gx', + Data, + Opts); +avp(T, Data, 'Allocation-Retention-Priority', Opts) -> + grouped_avp(T, + 'Allocation-Retention-Priority', + Data, + Opts); +avp(T, Data, 'Application-Detection-Information', + Opts) -> + grouped_avp(T, + 'Application-Detection-Information', + Data, + Opts); +avp(T, Data, 'Bearer-Control-Mode', Opts) -> + avp(T, + Data, + 'Bearer-Control-Mode', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Identifier', Opts) -> + avp(T, + Data, + 'Bearer-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Operation', Opts) -> + avp(T, + Data, + 'Bearer-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Bearer-Usage', Opts) -> + avp(T, + Data, + 'Bearer-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CSG-Information-Reporting', Opts) -> + avp(T, + Data, + 'CSG-Information-Reporting', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Correlation-Indicator', Opts) -> + avp(T, + Data, + 'Charging-Correlation-Indicator', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Base-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Base-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Definition', Opts) -> + grouped_avp(T, 'Charging-Rule-Definition', Data, Opts); +avp(T, Data, 'Charging-Rule-Install', Opts) -> + grouped_avp(T, 'Charging-Rule-Install', Data, Opts); +avp(T, Data, 'Charging-Rule-Name', Opts) -> + avp(T, + Data, + 'Charging-Rule-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Charging-Rule-Remove', Opts) -> + grouped_avp(T, 'Charging-Rule-Remove', Data, Opts); +avp(T, Data, 'Charging-Rule-Report', Opts) -> + grouped_avp(T, 'Charging-Rule-Report', Data, Opts); +avp(T, Data, 'CoA-IP-Address', Opts) -> + avp(T, + Data, + 'CoA-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'CoA-Information', Opts) -> + grouped_avp(T, 'CoA-Information', Data, Opts); +avp(T, Data, 'Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + grouped_avp(T, + 'Conditional-APN-Aggregate-Max-Bitrate', + Data, + Opts); +avp(T, Data, 'Credit-Management-Status', Opts) -> + avp(T, + Data, + 'Credit-Management-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Default-EPS-Bearer-QoS', Opts) -> + grouped_avp(T, 'Default-EPS-Bearer-QoS', Data, Opts); +avp(T, Data, 'Default-QoS-Information', Opts) -> + grouped_avp(T, 'Default-QoS-Information', Data, Opts); +avp(T, Data, 'Default-QoS-Name', Opts) -> + avp(T, + Data, + 'Default-QoS-Name', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Event-Report-Indication', Opts) -> + grouped_avp(T, 'Event-Report-Indication', Data, Opts); +avp(T, Data, 'Event-Trigger', Opts) -> + avp(T, + Data, + 'Event-Trigger', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Fixed-User-Location-Info', Opts) -> + grouped_avp(T, 'Fixed-User-Location-Info', Data, Opts); +avp(T, Data, 'Flow-Direction', Opts) -> + avp(T, + Data, + 'Flow-Direction', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Flow-Information', Opts) -> + grouped_avp(T, 'Flow-Information', Data, Opts); +avp(T, Data, 'Flow-Label', Opts) -> + avp(T, + Data, + 'Flow-Label', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-DL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-DL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Guaranteed-Bitrate-UL', Opts) -> + avp(T, + Data, + 'Guaranteed-Bitrate-UL', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'HeNB-Local-IP-Address', Opts) -> + avp(T, + Data, + 'HeNB-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Session-Charging-Scope', Opts) -> + avp(T, + Data, + 'IP-CAN-Session-Charging-Scope', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'IP-CAN-Type', Opts) -> + avp(T, + Data, + 'IP-CAN-Type', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Metering-Method', Opts) -> + avp(T, + Data, + 'Metering-Method', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Key', Opts) -> + avp(T, + Data, + 'Monitoring-Key', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Monitoring-Time', Opts) -> + avp(T, + Data, + 'Monitoring-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Mute-Notification', Opts) -> + avp(T, + Data, + 'Mute-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'NetLoc-Access-Support', Opts) -> + avp(T, + Data, + 'NetLoc-Access-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Network-Request-Support', Opts) -> + avp(T, + Data, + 'Network-Request-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Offline', Opts) -> + avp(T, Data, 'Offline', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Online', Opts) -> + avp(T, Data, 'Online', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'PCC-Rule-Status', Opts) -> + avp(T, + Data, + 'PCC-Rule-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PCSCF-Restoration-Indication', Opts) -> + avp(T, + Data, + 'PCSCF-Restoration-Indication', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PDN-Connection-ID', Opts) -> + avp(T, + Data, + 'PDN-Connection-ID', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'PS-to-CS-Session-Continuity', Opts) -> + avp(T, + Data, + 'PS-to-CS-Session-Continuity', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Content', Opts) -> + avp(T, + Data, + 'Packet-Filter-Content', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Identifier', Opts) -> + avp(T, + Data, + 'Packet-Filter-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Information', Opts) -> + grouped_avp(T, 'Packet-Filter-Information', Data, Opts); +avp(T, Data, 'Packet-Filter-Operation', Opts) -> + avp(T, + Data, + 'Packet-Filter-Operation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Packet-Filter-Usage', Opts) -> + avp(T, + Data, + 'Packet-Filter-Usage', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Capability', Opts) -> + avp(T, + Data, + 'Pre-emption-Capability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Pre-emption-Vulnerability', Opts) -> + avp(T, + Data, + 'Pre-emption-Vulnerability', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Precedence', Opts) -> + avp(T, + Data, + 'Precedence', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Elements-List', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Elements-List', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Identifier', + Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Presence-Reporting-Area-Information', + Opts) -> + grouped_avp(T, + 'Presence-Reporting-Area-Information', + Data, + Opts); +avp(T, Data, 'Presence-Reporting-Area-Status', Opts) -> + avp(T, + Data, + 'Presence-Reporting-Area-Status', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Priority-Level', Opts) -> + avp(T, + Data, + 'Priority-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Class-Identifier', Opts) -> + avp(T, + Data, + 'QoS-Class-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Information', Opts) -> + grouped_avp(T, 'QoS-Information', Data, Opts); +avp(T, Data, 'QoS-Negotiation', Opts) -> + avp(T, + Data, + 'QoS-Negotiation', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'QoS-Upgrade', Opts) -> + avp(T, + Data, + 'QoS-Upgrade', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAN-NAS-Release-Cause', Opts) -> + avp(T, + Data, + 'RAN-NAS-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'RAT-Type', Opts) -> + avp(T, Data, 'RAT-Type', Opts, diameter_3gpp_ts29_212); +avp(T, Data, 'Redirect-Information', Opts) -> + grouped_avp(T, 'Redirect-Information', Data, Opts); +avp(T, Data, 'Redirect-Support', Opts) -> + avp(T, + Data, + 'Redirect-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Reporting-Level', Opts) -> + avp(T, + Data, + 'Reporting-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Resource-Allocation-Notification', + Opts) -> + avp(T, + Data, + 'Resource-Allocation-Notification', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Revalidation-Time', Opts) -> + avp(T, + Data, + 'Revalidation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Filter', Opts) -> + grouped_avp(T, 'Routing-Filter', Data, Opts); +avp(T, Data, 'Routing-IP-Address', Opts) -> + avp(T, + Data, + 'Routing-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Definition', Opts) -> + grouped_avp(T, 'Routing-Rule-Definition', Data, Opts); +avp(T, Data, 'Routing-Rule-Identifier', Opts) -> + avp(T, + Data, + 'Routing-Rule-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Routing-Rule-Install', Opts) -> + grouped_avp(T, 'Routing-Rule-Install', Data, Opts); +avp(T, Data, 'Routing-Rule-Remove', Opts) -> + grouped_avp(T, 'Routing-Rule-Remove', Data, Opts); +avp(T, Data, 'Rule-Activation-Time', Opts) -> + avp(T, + Data, + 'Rule-Activation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Deactivation-Time', Opts) -> + avp(T, + Data, + 'Rule-Deactivation-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Rule-Failure-Code', Opts) -> + avp(T, + Data, + 'Rule-Failure-Code', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Security-Parameter-Index', Opts) -> + avp(T, + Data, + 'Security-Parameter-Index', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Session-Release-Cause', Opts) -> + avp(T, + Data, + 'Session-Release-Cause', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Identifier', Opts) -> + avp(T, + Data, + 'TDF-Application-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Application-Instance-Identifier', + Opts) -> + avp(T, + Data, + 'TDF-Application-Instance-Identifier', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Host', Opts) -> + avp(T, + Data, + 'TDF-Destination-Host', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Destination-Realm', Opts) -> + avp(T, + Data, + 'TDF-Destination-Realm', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-IP-Address', Opts) -> + avp(T, + Data, + 'TDF-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TDF-Information', Opts) -> + grouped_avp(T, 'TDF-Information', Data, Opts); +avp(T, Data, 'TFT-Filter', Opts) -> + avp(T, + Data, + 'TFT-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'TFT-Packet-Filter-Information', Opts) -> + grouped_avp(T, + 'TFT-Packet-Filter-Information', + Data, + Opts); +avp(T, Data, 'ToS-Traffic-Class', Opts) -> + avp(T, + Data, + 'ToS-Traffic-Class', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Filter', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Filter', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Header-Length', Opts) -> + avp(T, + Data, + 'Tunnel-Header-Length', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Tunnel-Information', Opts) -> + grouped_avp(T, 'Tunnel-Information', Data, Opts); +avp(T, Data, 'UDP-Source-Port', Opts) -> + avp(T, + Data, + 'UDP-Source-Port', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'UE-Local-IP-Address', Opts) -> + avp(T, + Data, + 'UE-Local-IP-Address', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Information', Opts) -> + grouped_avp(T, + 'Usage-Monitoring-Information', + Data, + Opts); +avp(T, Data, 'Usage-Monitoring-Level', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Level', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Report', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Report', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'Usage-Monitoring-Support', Opts) -> + avp(T, + Data, + 'Usage-Monitoring-Support', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'User-Location-Info-Time', Opts) -> + avp(T, + Data, + 'User-Location-Info-Time', + Opts, + diameter_3gpp_ts29_212); +avp(T, Data, 'AF-Application-Identifier', Opts) -> + avp(T, + Data, + 'AF-Application-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Charging-Identifier', Opts) -> + avp(T, + Data, + 'AF-Charging-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'AF-Signalling-Protocol', Opts) -> + avp(T, + Data, + 'AF-Signalling-Protocol', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Abort-Cause', Opts) -> + avp(T, + Data, + 'Abort-Cause', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Address', Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Address', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Access-Network-Charging-Identifier-Value', + Opts) -> + avp(T, + Data, + 'Access-Network-Charging-Identifier-Value', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Application-Service-Provider-Identity', + Opts) -> + avp(T, + Data, + 'Application-Service-Provider-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Codec-Data', Opts) -> + avp(T, + Data, + 'Codec-Data', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Description', Opts) -> + avp(T, + Data, + 'Flow-Description', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Number', Opts) -> + avp(T, + Data, + 'Flow-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Status', Opts) -> + avp(T, + Data, + 'Flow-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flow-Usage', Opts) -> + avp(T, + Data, + 'Flow-Usage', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Flows', Opts) -> + grouped_avp(T, 'Flows', Data, Opts); +avp(T, Data, 'GCS-Identifier', Opts) -> + avp(T, + Data, + 'GCS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'IP-Domain-Id', Opts) -> + avp(T, + Data, + 'IP-Domain-Id', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'MPS-Identifier', Opts) -> + avp(T, + Data, + 'MPS-Identifier', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Max-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Max-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Component-Number', Opts) -> + avp(T, + Data, + 'Media-Component-Number', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Media-Type', Opts) -> + avp(T, + Data, + 'Media-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-DL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-DL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Min-Requested-Bandwidth-UL', Opts) -> + avp(T, + Data, + 'Min-Requested-Bandwidth-UL', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RR-Bandwidth', Opts) -> + avp(T, + Data, + 'RR-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'RS-Bandwidth', Opts) -> + avp(T, + Data, + 'RS-Bandwidth', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Required-Access-Info', Opts) -> + avp(T, + Data, + 'Required-Access-Info', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Rx-Request-Type', Opts) -> + avp(T, + Data, + 'Rx-Request-Type', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'SIP-Forking-Indication', Opts) -> + avp(T, + Data, + 'SIP-Forking-Indication', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-Info-Status', Opts) -> + avp(T, + Data, + 'Service-Info-Status', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Service-URN', Opts) -> + avp(T, + Data, + 'Service-URN', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Specific-Action', Opts) -> + avp(T, + Data, + 'Specific-Action', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Sponsor-Identity', Opts) -> + avp(T, + Data, + 'Sponsor-Identity', + Opts, + diameter_3gpp_ts29_214); +avp(T, Data, 'Current-Location', Opts) -> + avp(T, + Data, + 'Current-Location', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'DSAI-Tag', Opts) -> + avp(T, Data, 'DSAI-Tag', Opts, diameter_3gpp_ts29_329); +avp(T, Data, 'Data-Reference', Opts) -> + avp(T, + Data, + 'Data-Reference', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Expiry-Time', Opts) -> + avp(T, + Data, + 'Expiry-Time', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Identity-Set', Opts) -> + avp(T, + Data, + 'Identity-Set', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'MSISDN', Opts) -> + avp(T, Data, 'MSISDN', Opts, diameter_3gpp_ts29_329); +avp(T, Data, 'One-Time-Notification', Opts) -> + avp(T, + Data, + 'One-Time-Notification', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Requested-Domain', Opts) -> + avp(T, + Data, + 'Requested-Domain', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Requested-Nodes', Opts) -> + avp(T, + Data, + 'Requested-Nodes', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Send-Data-Indication', Opts) -> + avp(T, + Data, + 'Send-Data-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Sequence-Number', Opts) -> + avp(T, + Data, + 'Sequence-Number', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Service-Indication', Opts) -> + avp(T, + Data, + 'Service-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Serving-Node-Indication', Opts) -> + avp(T, + Data, + 'Serving-Node-Indication', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Subs-Req-Type', Opts) -> + avp(T, + Data, + 'Subs-Req-Type', + Opts, + diameter_3gpp_ts29_329); +avp(T, Data, 'Call-ID-SIP-Header', Opts) -> + avp(T, + Data, + 'Call-ID-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Charging-Information', Opts) -> + grouped_avp(T, 'Charging-Information', Data, Opts); +avp(T, Data, 'Confidentiality-Key', Opts) -> + avp(T, + Data, + 'Confidentiality-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Contact', Opts) -> + avp(T, Data, 'Contact', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Deregistration-Reason', Opts) -> + grouped_avp(T, 'Deregistration-Reason', Data, Opts); +avp(T, Data, 'Digest-Algorithm', Opts) -> + avp(T, + Data, + 'Digest-Algorithm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-HA1', Opts) -> + avp(T, + Data, + 'Digest-HA1', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-QoP', Opts) -> + avp(T, + Data, + 'Digest-QoP', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Digest-Realm', Opts) -> + avp(T, + Data, + 'Digest-Realm', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List', Opts) -> + avp(T, + Data, + 'Feature-List', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Feature-List-ID', Opts) -> + avp(T, + Data, + 'Feature-List-ID', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'From-SIP-Header', Opts) -> + avp(T, + Data, + 'From-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Initial-CSeq-Sequence-Number', Opts) -> + avp(T, + Data, + 'Initial-CSeq-Sequence-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Integrity-Key', Opts) -> + avp(T, + Data, + 'Integrity-Key', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'LIA-Flags', Opts) -> + avp(T, Data, 'LIA-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'Loose-Route-Indication', Opts) -> + avp(T, + Data, + 'Loose-Route-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Mandatory-Capability', Opts) -> + avp(T, + Data, + 'Mandatory-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Multiple-Registration-Indication', + Opts) -> + avp(T, + Data, + 'Multiple-Registration-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Optional-Capability', Opts) -> + avp(T, + Data, + 'Optional-Capability', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Originating-Request', Opts) -> + avp(T, + Data, + 'Originating-Request', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Path', Opts) -> + avp(T, Data, 'Path', Opts, diameter_3gpp_ts29_229); +avp(T, Data, + 'Primary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Primary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Primary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Primary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Priviledged-Sender-Indication', Opts) -> + avp(T, + Data, + 'Priviledged-Sender-Indication', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Public-Identity', Opts) -> + avp(T, + Data, + 'Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Code', Opts) -> + avp(T, + Data, + 'Reason-Code', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Reason-Info', Opts) -> + avp(T, + Data, + 'Reason-Info', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Record-Route', Opts) -> + avp(T, + Data, + 'Record-Route', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SAR-Flags', Opts) -> + avp(T, Data, 'SAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Auth-Data-Item', Opts) -> + grouped_avp(T, 'SIP-Auth-Data-Item', Data, Opts); +avp(T, Data, 'SIP-Authenticate', Opts) -> + avp(T, + Data, + 'SIP-Authenticate', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Context', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Context', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authentication-Scheme', Opts) -> + avp(T, + Data, + 'SIP-Authentication-Scheme', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Authorization', Opts) -> + avp(T, + Data, + 'SIP-Authorization', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Digest-Authenticate', Opts) -> + grouped_avp(T, 'SIP-Digest-Authenticate', Data, Opts); +avp(T, Data, 'SIP-Item-Number', Opts) -> + avp(T, + Data, + 'SIP-Item-Number', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'SIP-Number-Auth-Items', Opts) -> + avp(T, + Data, + 'SIP-Number-Auth-Items', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, + 'Secondary-Charging-Collection-Function-Name', Opts) -> + avp(T, + Data, + 'Secondary-Charging-Collection-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Secondary-Event-Charging-Function-Name', + Opts) -> + avp(T, + Data, + 'Secondary-Event-Charging-Function-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Assignment-Type', Opts) -> + avp(T, + Data, + 'Server-Assignment-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Server-Name', Opts) -> + avp(T, + Data, + 'Server-Name', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Session-Priority', Opts) -> + avp(T, + Data, + 'Session-Priority', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Supported-Applications', Opts) -> + grouped_avp(T, 'Supported-Applications', Data, Opts); +avp(T, Data, 'Supported-Features', Opts) -> + grouped_avp(T, 'Supported-Features', Data, Opts); +avp(T, Data, 'To-SIP-Header', Opts) -> + avp(T, + Data, + 'To-SIP-Header', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'UAR-Flags', Opts) -> + avp(T, Data, 'UAR-Flags', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Authorization-Type', Opts) -> + avp(T, + Data, + 'User-Authorization-Type', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data', Opts) -> + avp(T, Data, 'User-Data', Opts, diameter_3gpp_ts29_229); +avp(T, Data, 'User-Data-Already-Available', Opts) -> + avp(T, + Data, + 'User-Data-Already-Available', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Visited-Network-Identifier', Opts) -> + avp(T, + Data, + 'Visited-Network-Identifier', + Opts, + diameter_3gpp_ts29_229); +avp(T, Data, 'Wildcarded-Public-Identity', Opts) -> + avp(T, + Data, + 'Wildcarded-Public-Identity', + Opts, + diameter_3gpp_ts29_229); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, '3GPP-PS-Data-Off-Status', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, '3GPP-PS-Data-Off-Status', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, '3GPP-PS-Data-Off-Status', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, '3GPP-PS-Data-Off-Status', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Access-Transfer-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Access-Transfer-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Access-Transfer-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Access-Transfer-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Access-Transfer-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Access-Transfer-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Access-Transfer-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Access-Transfer-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Adaptations', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Adaptations', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Adaptations', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Adaptations', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Additional-Exception-Reports', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Additional-Exception-Reports', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Additional-Exception-Reports', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Additional-Exception-Reports', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Address-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Address-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Address-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Address-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Address-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Address-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Address-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Address-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Address-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Addressee-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Addressee-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Addressee-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Addressee-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Addressee-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Addressee-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'AoC-Format', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'AoC-Format', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'AoC-Format', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'AoC-Format', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'AoC-Format', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'AoC-Format', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'AoC-Request-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'AoC-Request-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'AoC-Request-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'AoC-Request-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'AoC-Request-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'AoC-Request-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'AoC-Request-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'AoC-Request-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'AoC-Service-Obligatory-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'AoC-Service-Obligatory-Type', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'AoC-Service-Obligatory-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'AoC-Service-Obligatory-Type', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'AoC-Service-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'AoC-Service-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'AoC-Service-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'AoC-Service-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'AoC-Service-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'AoC-Service-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'AoC-Service-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'AoC-Service-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Charge-Reason-Code', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Charge-Reason-Code', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Charge-Reason-Code', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Charge-Reason-Code', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Charge-Reason-Code', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Charge-Reason-Code', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Charge-Reason-Code', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Charge-Reason-Code', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Charge-Reason-Code', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Charge-Reason-Code', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, + 'Charging-Characteristics-Selection-Mode', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Charging-Characteristics-Selection-Mode', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'Charging-Characteristics-Selection-Mode', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'Charging-Characteristics-Selection-Mode', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'Charging-Characteristics-Selection-Mode', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, + 'Charging-Characteristics-Selection-Mode', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, + 'Charging-Characteristics-Selection-Mode', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, + 'Charging-Characteristics-Selection-Mode', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, + 'Charging-Characteristics-Selection-Mode', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, + 'Charging-Characteristics-Selection-Mode', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, + 'Charging-Characteristics-Selection-Mode', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, + 'Charging-Characteristics-Selection-Mode', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, + 'Charging-Per-IP-CAN-Session-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Charging-Per-IP-CAN-Session-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'Charging-Per-IP-CAN-Session-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'Charging-Per-IP-CAN-Session-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Class-Identifier', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Class-Identifier', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Class-Identifier', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Class-Identifier', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Class-Identifier', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Class-Identifier', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Class-Identifier', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Class-Identifier', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'CN-Operator-Selection-Entity', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'CN-Operator-Selection-Entity', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'CN-Operator-Selection-Entity', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'CN-Operator-Selection-Entity', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Content-Class', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Content-Class', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Content-Class', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Content-Class', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Content-Class', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Content-Class', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Content-Class', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Content-Class', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Content-Class', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Coverage-Status', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Coverage-Status', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Coverage-Status', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Coverage-Status', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'CP-CIoT-EPS-Optimisation-Indicator', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'CP-CIoT-EPS-Optimisation-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'CP-CIoT-EPS-Optimisation-Indicator', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'CP-CIoT-EPS-Optimisation-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'CSG-Access-Mode', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'CSG-Access-Mode', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'CSG-Access-Mode', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'CSG-Access-Mode', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'CSG-Membership-Indication', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'CSG-Membership-Indication', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'CSG-Membership-Indication', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'CSG-Membership-Indication', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Delivery-Report-Requested', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Delivery-Report-Requested', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Delivery-Report-Requested', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Delivery-Report-Requested', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'DRM-Content', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'DRM-Content', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'DRM-Content', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'DRM-Content', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Dynamic-Address-Flag', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Dynamic-Address-Flag', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Dynamic-Address-Flag', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Dynamic-Address-Flag', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Dynamic-Address-Flag-Extension', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Dynamic-Address-Flag-Extension', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Dynamic-Address-Flag-Extension', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Dynamic-Address-Flag-Extension', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Envelope-Reporting', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Envelope-Reporting', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Envelope-Reporting', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Envelope-Reporting', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Envelope-Reporting', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Envelope-Reporting', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Envelope-Reporting', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Envelope-Reporting', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Envelope-Reporting', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Envelope-Reporting', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'File-Repair-Supported', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'File-Repair-Supported', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'File-Repair-Supported', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'File-Repair-Supported', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Forwarding-Pending', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Forwarding-Pending', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Forwarding-Pending', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Forwarding-Pending', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Interface-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Interface-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Interface-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Interface-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Interface-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Interface-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Interface-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Interface-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Interface-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Interface-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Inter-UE-Transfer', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Inter-UE-Transfer', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Inter-UE-Transfer', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Inter-UE-Transfer', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'IMS-Emergency-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'IMS-Emergency-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'IMS-Emergency-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'IMS-Emergency-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'IMSI-Unauthenticated-Flag', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'IMSI-Unauthenticated-Flag', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'IMSI-Unauthenticated-Flag', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'IMSI-Unauthenticated-Flag', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'IP-Realm-Default-Indication', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'IP-Realm-Default-Indication', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'IP-Realm-Default-Indication', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'IP-Realm-Default-Indication', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'LCS-Client-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'LCS-Client-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'LCS-Client-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'LCS-Client-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'LCS-Client-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'LCS-Client-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'LCS-Client-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'LCS-Client-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'LCS-Format-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'LCS-Format-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'LCS-Format-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'LCS-Format-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'LCS-Format-Indicator', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'LCS-Format-Indicator', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'LCS-Format-Indicator', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'LCS-Format-Indicator', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'LCS-Format-Indicator', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'LCS-Format-Indicator', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Local-GW-Inserted-Indication', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Local-GW-Inserted-Indication', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Local-GW-Inserted-Indication', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Local-GW-Inserted-Indication', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Location-Estimate-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Location-Estimate-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Location-Estimate-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Location-Estimate-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Location-Estimate-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Location-Estimate-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Location-Estimate-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Location-Estimate-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Location-Estimate-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Location-Estimate-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Low-Balance-Indication', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Low-Balance-Indication', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Low-Balance-Indication', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Low-Balance-Indication', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Low-Priority-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Low-Priority-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Low-Priority-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Low-Priority-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'MBMS-Charged-Party', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'MBMS-Charged-Party', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'MBMS-Charged-Party', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'MBMS-Charged-Party', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'MBMS-User-Service-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'MBMS-User-Service-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'MBMS-User-Service-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'MBMS-User-Service-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Media-Initiator-Flag', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Media-Initiator-Flag', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Media-Initiator-Flag', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Media-Initiator-Flag', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Media-Initiator-Flag', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Media-Initiator-Flag', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Message-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Message-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Message-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Message-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Message-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Message-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Message-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Message-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Message-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Message-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Message-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Message-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Message-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Message-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Message-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Message-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'MMBox-Storage-Requested', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'MMBox-Storage-Requested', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'MMBox-Storage-Requested', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'MMBox-Storage-Requested', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'NNI-Type', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'NNI-Type', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'NNI-Type', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'NNI-Type', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'NNI-Type', <<0, 0, 0, 2>>) -> 2; +enumerated_avp(encode, 'NNI-Type', 2) -> <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Node-Functionality', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Node-Functionality', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Node-Functionality', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Node-Functionality', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Node-Functionality', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Node-Functionality', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Node-Functionality', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Node-Functionality', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Node-Functionality', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Node-Functionality', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Node-Functionality', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Node-Functionality', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Node-Functionality', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Node-Functionality', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Node-Functionality', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Node-Functionality', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'Node-Functionality', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'Node-Functionality', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'Node-Functionality', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 19>>) -> + 19; +enumerated_avp(encode, 'Node-Functionality', 19) -> + <<0, 0, 0, 19>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 20>>) -> + 20; +enumerated_avp(encode, 'Node-Functionality', 20) -> + <<0, 0, 0, 20>>; +enumerated_avp(decode, 'Node-Functionality', + <<0, 0, 0, 21>>) -> + 21; +enumerated_avp(encode, 'Node-Functionality', 21) -> + <<0, 0, 0, 21>>; +enumerated_avp(decode, 'Online-Charging-Flag', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Online-Charging-Flag', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Online-Charging-Flag', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Online-Charging-Flag', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Originator', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Originator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Originator', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Originator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Participant-Access-Priority', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Participant-Access-Priority', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Participant-Access-Priority', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Participant-Access-Priority', + 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Participant-Access-Priority', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Participant-Access-Priority', + 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Participant-Access-Priority', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Participant-Access-Priority', + 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Participant-Action-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Participant-Action-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Participant-Action-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Participant-Action-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Participant-Action-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Participant-Action-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Participant-Action-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Participant-Action-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'PC5-Radio-Technology', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PC5-Radio-Technology', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PC5-Radio-Technology', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PC5-Radio-Technology', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PC5-Radio-Technology', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PC5-Radio-Technology', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PDP-Context-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PDP-Context-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PDP-Context-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PDP-Context-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Play-Alternative', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Play-Alternative', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Play-Alternative', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Play-Alternative', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PoC-Change-Condition', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PoC-Change-Condition', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PoC-Change-Condition', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PoC-Change-Condition', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PoC-Change-Condition', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PoC-Change-Condition', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PoC-Change-Condition', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'PoC-Change-Condition', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'PoC-Change-Condition', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'PoC-Change-Condition', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'PoC-Change-Condition', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'PoC-Change-Condition', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'PoC-Event-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PoC-Event-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PoC-Event-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PoC-Event-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PoC-Event-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PoC-Event-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PoC-Event-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'PoC-Event-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'PoC-Event-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'PoC-Event-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'PoC-Server-Role', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PoC-Server-Role', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PoC-Server-Role', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PoC-Server-Role', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PoC-Server-Role', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PoC-Server-Role', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PoC-Server-Role', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'PoC-Server-Role', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'PoC-Session-Initiation-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PoC-Session-Initiation-Type', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PoC-Session-Initiation-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PoC-Session-Initiation-Type', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PoC-Session-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PoC-Session-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PoC-Session-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PoC-Session-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PoC-Session-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PoC-Session-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PoC-Session-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'PoC-Session-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'PoC-User-Role-Info-Units', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PoC-User-Role-Info-Units', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PoC-User-Role-Info-Units', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'PoC-User-Role-Info-Units', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'PoC-User-Role-Info-Units', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'PoC-User-Role-Info-Units', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'PoC-User-Role-Info-Units', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'PoC-User-Role-Info-Units', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Priority', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'Priority', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Priority', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'Priority', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Priority', <<0, 0, 0, 2>>) -> 2; +enumerated_avp(encode, 'Priority', 2) -> <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Privacy-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Privacy-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Privacy-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Privacy-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ProSe-Direct-Discovery-Model', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ProSe-Direct-Discovery-Model', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ProSe-Direct-Discovery-Model', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ProSe-Direct-Discovery-Model', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ProSe-Event-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ProSe-Event-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ProSe-Event-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ProSe-Event-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ProSe-Event-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'ProSe-Event-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'ProSe-Functionality', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ProSe-Functionality', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ProSe-Functionality', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ProSe-Functionality', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ProSe-Functionality', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'ProSe-Functionality', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'ProSe-Range-Class', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ProSe-Range-Class', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ProSe-Range-Class', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ProSe-Range-Class', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ProSe-Range-Class', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'ProSe-Range-Class', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'ProSe-Range-Class', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'ProSe-Range-Class', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'ProSe-Range-Class', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'ProSe-Range-Class', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'ProSe-Range-Class', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'ProSe-Range-Class', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'ProSe-Reason-For-Cancellation', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ProSe-Reason-For-Cancellation', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ProSe-Reason-For-Cancellation', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ProSe-Reason-For-Cancellation', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ProSe-Reason-For-Cancellation', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'ProSe-Reason-For-Cancellation', + 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'ProSe-Role-Of-UE', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ProSe-Role-Of-UE', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ProSe-Role-Of-UE', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ProSe-Role-Of-UE', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ProSe-Role-Of-UE', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'ProSe-Role-Of-UE', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'ProSe-Role-Of-UE', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'ProSe-Role-Of-UE', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Proximity-Alert-Indication', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Proximity-Alert-Indication', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Proximity-Alert-Indication', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Proximity-Alert-Indication', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'PS-Append-Free-Format-Data', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'PS-Append-Free-Format-Data', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'PS-Append-Free-Format-Data', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'PS-Append-Free-Format-Data', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Quota-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Quota-Indicator', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Quota-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Quota-Indicator', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Read-Reply-Report-Requested', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Read-Reply-Report-Requested', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Read-Reply-Report-Requested', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Read-Reply-Report-Requested', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Relationship-Mode', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Relationship-Mode', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Relationship-Mode', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Relationship-Mode', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Reply-Path-Requested', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Reply-Path-Requested', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Reply-Path-Requested', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Reply-Path-Requested', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Reporting-Reason', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Reporting-Reason', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Reporting-Reason', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Reporting-Reason', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Reporting-Reason', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Reporting-Reason', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Reporting-Reason', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Reporting-Reason', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Reporting-Reason', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Reporting-Reason', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Reporting-Reason', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Role-Of-Node', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Role-Of-Node', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Role-Of-Node', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Role-Of-Node', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Role-Of-Node', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Role-Of-Node', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Role-Of-ProSe-Function', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Role-Of-ProSe-Function', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Role-Of-ProSe-Function', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Role-Of-ProSe-Function', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Role-Of-ProSe-Function', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Role-Of-ProSe-Function', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'SDP-Type', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'SDP-Type', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SDP-Type', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'SDP-Type', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Session-Direction', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Session-Direction', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Session-Direction', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Session-Direction', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Serving-Node-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Serving-Node-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Serving-Node-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Serving-Node-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Serving-Node-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Serving-Node-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Serving-Node-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Serving-Node-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Serving-Node-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Serving-Node-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Serving-Node-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Serving-Node-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Serving-Node-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Serving-Node-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'SGi-PtP-Tunnelling-Method', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'SGi-PtP-Tunnelling-Method', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SGi-PtP-Tunnelling-Method', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'SGi-PtP-Tunnelling-Method', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'SGW-Change', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'SGW-Change', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SGW-Change', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'SGW-Change', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'SM-Device-Trigger-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'SM-Device-Trigger-Indicator', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SM-Device-Trigger-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'SM-Device-Trigger-Indicator', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'SM-Device-Trigger-Indicator', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'SM-Device-Trigger-Indicator', + 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'SM-Device-Trigger-Indicator', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'SM-Device-Trigger-Indicator', + 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'SM-Message-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'SM-Message-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SM-Message-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'SM-Message-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'SM-Message-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'SM-Message-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'SM-Message-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'SM-Message-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'SM-Message-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'SM-Message-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'SM-Message-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'SM-Message-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'SMS-Node', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'SMS-Node', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SMS-Node', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'SMS-Node', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'SMS-Node', <<0, 0, 0, 2>>) -> 2; +enumerated_avp(encode, 'SMS-Node', 2) -> <<0, 0, 0, 2>>; +enumerated_avp(decode, 'SMS-Node', <<0, 0, 0, 3>>) -> 3; +enumerated_avp(encode, 'SMS-Node', 3) -> <<0, 0, 0, 3>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'SM-Service-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'SM-Service-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'SM-Service-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'SM-Service-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'SM-Service-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'SM-Service-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'SM-Service-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'SM-Service-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'SM-Service-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'SM-Service-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'SM-Service-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'SM-Service-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Status-AS-Code', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Status-AS-Code', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Status-AS-Code', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Status-AS-Code', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Status-AS-Code', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Status-AS-Code', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Subscriber-Role', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Subscriber-Role', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Subscriber-Role', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Subscriber-Role', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'TAD-Identifier', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'TAD-Identifier', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'TAD-Identifier', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'TAD-Identifier', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Time-Quota-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Time-Quota-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Time-Quota-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Time-Quota-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Transcoder-Inserted-Indication', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Transcoder-Inserted-Indication', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Transcoder-Inserted-Indication', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Transcoder-Inserted-Indication', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Trigger-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Trigger-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Trigger-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Trigger-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Trigger-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Trigger-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Trigger-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Trigger-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Trigger-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Trigger-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Trigger-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'Trigger-Type', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'Trigger-Type', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'Trigger-Type', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 19>>) -> + 19; +enumerated_avp(encode, 'Trigger-Type', 19) -> + <<0, 0, 0, 19>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 20>>) -> + 20; +enumerated_avp(encode, 'Trigger-Type', 20) -> + <<0, 0, 0, 20>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 21>>) -> + 21; +enumerated_avp(encode, 'Trigger-Type', 21) -> + <<0, 0, 0, 21>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 22>>) -> + 22; +enumerated_avp(encode, 'Trigger-Type', 22) -> + <<0, 0, 0, 22>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 23>>) -> + 23; +enumerated_avp(encode, 'Trigger-Type', 23) -> + <<0, 0, 0, 23>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 24>>) -> + 24; +enumerated_avp(encode, 'Trigger-Type', 24) -> + <<0, 0, 0, 24>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 30>>) -> + 30; +enumerated_avp(encode, 'Trigger-Type', 30) -> + <<0, 0, 0, 30>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 31>>) -> + 31; +enumerated_avp(encode, 'Trigger-Type', 31) -> + <<0, 0, 0, 31>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 32>>) -> + 32; +enumerated_avp(encode, 'Trigger-Type', 32) -> + <<0, 0, 0, 32>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 33>>) -> + 33; +enumerated_avp(encode, 'Trigger-Type', 33) -> + <<0, 0, 0, 33>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 34>>) -> + 34; +enumerated_avp(encode, 'Trigger-Type', 34) -> + <<0, 0, 0, 34>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 35>>) -> + 35; +enumerated_avp(encode, 'Trigger-Type', 35) -> + <<0, 0, 0, 35>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 36>>) -> + 36; +enumerated_avp(encode, 'Trigger-Type', 36) -> + <<0, 0, 0, 36>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 40>>) -> + 40; +enumerated_avp(encode, 'Trigger-Type', 40) -> + <<0, 0, 0, 40>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 50>>) -> + 50; +enumerated_avp(encode, 'Trigger-Type', 50) -> + <<0, 0, 0, 50>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 51>>) -> + 51; +enumerated_avp(encode, 'Trigger-Type', 51) -> + <<0, 0, 0, 51>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 52>>) -> + 52; +enumerated_avp(encode, 'Trigger-Type', 52) -> + <<0, 0, 0, 52>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 60>>) -> + 60; +enumerated_avp(encode, 'Trigger-Type', 60) -> + <<0, 0, 0, 60>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 61>>) -> + 61; +enumerated_avp(encode, 'Trigger-Type', 61) -> + <<0, 0, 0, 61>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 62>>) -> + 62; +enumerated_avp(encode, 'Trigger-Type', 62) -> + <<0, 0, 0, 62>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 70>>) -> + 70; +enumerated_avp(encode, 'Trigger-Type', 70) -> + <<0, 0, 0, 70>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 71>>) -> + 71; +enumerated_avp(encode, 'Trigger-Type', 71) -> + <<0, 0, 0, 71>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 72>>) -> + 72; +enumerated_avp(encode, 'Trigger-Type', 72) -> + <<0, 0, 0, 72>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 73>>) -> + 73; +enumerated_avp(encode, 'Trigger-Type', 73) -> + <<0, 0, 0, 73>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 75>>) -> + 75; +enumerated_avp(encode, 'Trigger-Type', 75) -> + <<0, 0, 0, 75>>; +enumerated_avp(decode, 'Trigger-Type', + <<0, 0, 0, 76>>) -> + 76; +enumerated_avp(encode, 'Trigger-Type', 76) -> + <<0, 0, 0, 76>>; +enumerated_avp(decode, 'UNI-PDU-CP-Only-Flag', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'UNI-PDU-CP-Only-Flag', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'UNI-PDU-CP-Only-Flag', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'UNI-PDU-CP-Only-Flag', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'User-Participating-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'User-Participating-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'User-Participating-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'User-Participating-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'User-Participating-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'User-Participating-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Variable-Part-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Variable-Part-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Variable-Part-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Variable-Part-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Variable-Part-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Variable-Part-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Variable-Part-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Variable-Part-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Variable-Part-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Variable-Part-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Access-Network-Info-Change', Opts) -> + empty_group('Access-Network-Info-Change', Opts); +empty_value('Access-Transfer-Information', Opts) -> + empty_group('Access-Transfer-Information', Opts); +empty_value('Accumulated-Cost', Opts) -> + empty_group('Accumulated-Cost', Opts); +empty_value('Additional-Content-Information', Opts) -> + empty_group('Additional-Content-Information', Opts); +empty_value('Address-Domain', Opts) -> + empty_group('Address-Domain', Opts); +empty_value('AF-Correlation-Information', Opts) -> + empty_group('AF-Correlation-Information', Opts); +empty_value('Announcement-Information', Opts) -> + empty_group('Announcement-Information', Opts); +empty_value('AoC-Cost-Information', Opts) -> + empty_group('AoC-Cost-Information', Opts); +empty_value('AoC-Information', Opts) -> + empty_group('AoC-Information', Opts); +empty_value('AoC-Service', Opts) -> + empty_group('AoC-Service', Opts); +empty_value('AoC-Subscription-Information', Opts) -> + empty_group('AoC-Subscription-Information', Opts); +empty_value('APN-Rate-Control', Opts) -> + empty_group('APN-Rate-Control', Opts); +empty_value('APN-Rate-Control-Downlink', Opts) -> + empty_group('APN-Rate-Control-Downlink', Opts); +empty_value('APN-Rate-Control-Uplink', Opts) -> + empty_group('APN-Rate-Control-Uplink', Opts); +empty_value('Application-Server-Information', Opts) -> + empty_group('Application-Server-Information', Opts); +empty_value('Basic-Service-Code', Opts) -> + empty_group('Basic-Service-Code', Opts); +empty_value('Called-Identity-Change', Opts) -> + empty_group('Called-Identity-Change', Opts); +empty_value('Coverage-Info', Opts) -> + empty_group('Coverage-Info', Opts); +empty_value('CPDT-Information', Opts) -> + empty_group('CPDT-Information', Opts); +empty_value('Current-Tariff', Opts) -> + empty_group('Current-Tariff', Opts); +empty_value('Destination-Interface', Opts) -> + empty_group('Destination-Interface', Opts); +empty_value('Early-Media-Description', Opts) -> + empty_group('Early-Media-Description', Opts); +empty_value('Enhanced-Diagnostics', Opts) -> + empty_group('Enhanced-Diagnostics', Opts); +empty_value('Envelope', Opts) -> + empty_group('Envelope', Opts); +empty_value('Event-Type', Opts) -> + empty_group('Event-Type', Opts); +empty_value('Incremental-Cost', Opts) -> + empty_group('Incremental-Cost', Opts); +empty_value('IMS-Information', Opts) -> + empty_group('IMS-Information', Opts); +empty_value('Inter-Operator-Identifier', Opts) -> + empty_group('Inter-Operator-Identifier', Opts); +empty_value('ISUP-Cause', Opts) -> + empty_group('ISUP-Cause', Opts); +empty_value('LCS-Client-ID', Opts) -> + empty_group('LCS-Client-ID', Opts); +empty_value('LCS-Client-Name', Opts) -> + empty_group('LCS-Client-Name', Opts); +empty_value('LCS-Information', Opts) -> + empty_group('LCS-Information', Opts); +empty_value('LCS-Requestor-ID', Opts) -> + empty_group('LCS-Requestor-ID', Opts); +empty_value('Location-Info', Opts) -> + empty_group('Location-Info', Opts); +empty_value('Location-Type', Opts) -> + empty_group('Location-Type', Opts); +empty_value('MBMS-Information', Opts) -> + empty_group('MBMS-Information', Opts); +empty_value('Message-Body', Opts) -> + empty_group('Message-Body', Opts); +empty_value('Message-Class', Opts) -> + empty_group('Message-Class', Opts); +empty_value('MM-Content-Type', Opts) -> + empty_group('MM-Content-Type', Opts); +empty_value('MMS-Information', Opts) -> + empty_group('MMS-Information', Opts); +empty_value('MMTel-Information', Opts) -> + empty_group('MMTel-Information', Opts); +empty_value('Monitoring-Event-Information', Opts) -> + empty_group('Monitoring-Event-Information', Opts); +empty_value('Monitoring-Event-Report-Data', Opts) -> + empty_group('Monitoring-Event-Report-Data', Opts); +empty_value('Next-Tariff', Opts) -> + empty_group('Next-Tariff', Opts); +empty_value('NIDD-Submission', Opts) -> + empty_group('NIDD-Submission', Opts); +empty_value('NNI-Information', Opts) -> + empty_group('NNI-Information', Opts); +empty_value('Offline-Charging', Opts) -> + empty_group('Offline-Charging', Opts); +empty_value('Originator-Address', Opts) -> + empty_group('Originator-Address', Opts); +empty_value('Originator-Interface', Opts) -> + empty_group('Originator-Interface', Opts); +empty_value('Originator-Received-Address', Opts) -> + empty_group('Originator-Received-Address', Opts); +empty_value('Participant-Group', Opts) -> + empty_group('Participant-Group', Opts); +empty_value('PoC-Information', Opts) -> + empty_group('PoC-Information', Opts); +empty_value('PoC-User-Role', Opts) -> + empty_group('PoC-User-Role', Opts); +empty_value('ProSe-Direct-Communication-Reception-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Reception-Data-Container', + Opts); +empty_value('ProSe-Direct-Communication-Transmission-Data-Container', + Opts) -> + empty_group('ProSe-Direct-Communication-Transmission-Data-Container', + Opts); +empty_value('ProSe-Information', Opts) -> + empty_group('ProSe-Information', Opts); +empty_value('PS-Furnish-Charging-Information', Opts) -> + empty_group('PS-Furnish-Charging-Information', Opts); +empty_value('PS-Information', Opts) -> + empty_group('PS-Information', Opts); +empty_value('Radio-Parameter-Set-Info', Opts) -> + empty_group('Radio-Parameter-Set-Info', Opts); +empty_value('RAN-Secondary-RAT-Usage-Report', Opts) -> + empty_group('RAN-Secondary-RAT-Usage-Report', Opts); +empty_value('Rate-Element', Opts) -> + empty_group('Rate-Element', Opts); +empty_value('Real-Time-Tariff-Information', Opts) -> + empty_group('Real-Time-Tariff-Information', Opts); +empty_value('Recipient-Address', Opts) -> + empty_group('Recipient-Address', Opts); +empty_value('Recipient-Info', Opts) -> + empty_group('Recipient-Info', Opts); +empty_value('Recipient-Received-Address', Opts) -> + empty_group('Recipient-Received-Address', Opts); +empty_value('Related-Change-Condition-Information', + Opts) -> + empty_group('Related-Change-Condition-Information', + Opts); +empty_value('Related-Trigger', Opts) -> + empty_group('Related-Trigger', Opts); +empty_value('Remaining-Balance', Opts) -> + empty_group('Remaining-Balance', Opts); +empty_value('Scale-Factor', Opts) -> + empty_group('Scale-Factor', Opts); +empty_value('SCS-AS-Address', Opts) -> + empty_group('SCS-AS-Address', Opts); +empty_value('SDP-Media-Component', Opts) -> + empty_group('SDP-Media-Component', Opts); +empty_value('SDP-TimeStamps', Opts) -> + empty_group('SDP-TimeStamps', Opts); +empty_value('Service-Data-Container', Opts) -> + empty_group('Service-Data-Container', Opts); +empty_value('Service-Information', Opts) -> + empty_group('Service-Information', Opts); +empty_value('Service-Specific-Info', Opts) -> + empty_group('Service-Specific-Info', Opts); +empty_value('SM-Device-Trigger-Information', Opts) -> + empty_group('SM-Device-Trigger-Information', Opts); +empty_value('SMS-Information', Opts) -> + empty_group('SMS-Information', Opts); +empty_value('Supplementary-Service', Opts) -> + empty_group('Supplementary-Service', Opts); +empty_value('Talk-Burst-Exchange', Opts) -> + empty_group('Talk-Burst-Exchange', Opts); +empty_value('Tariff-Information', Opts) -> + empty_group('Tariff-Information', Opts); +empty_value('Time-Quota-Mechanism', Opts) -> + empty_group('Time-Quota-Mechanism', Opts); +empty_value('Time-Stamps', Opts) -> + empty_group('Time-Stamps', Opts); +empty_value('Traffic-Data-Volumes', Opts) -> + empty_group('Traffic-Data-Volumes', Opts); +empty_value('Transmitter-Info', Opts) -> + empty_group('Transmitter-Info', Opts); +empty_value('Trigger', Opts) -> + empty_group('Trigger', Opts); +empty_value('Trunk-Group-Id', Opts) -> + empty_group('Trunk-Group-Id', Opts); +empty_value('TWAN-User-Location-Info', Opts) -> + empty_group('TWAN-User-Location-Info', Opts); +empty_value('Unit-Cost', Opts) -> + empty_group('Unit-Cost', Opts); +empty_value('User-CSG-Information', Opts) -> + empty_group('User-CSG-Information', Opts); +empty_value('UWAN-User-Location-Info', Opts) -> + empty_group('UWAN-User-Location-Info', Opts); +empty_value('Variable-Part', Opts) -> + empty_group('Variable-Part', Opts); +empty_value('VCS-Information', Opts) -> + empty_group('VCS-Information', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Tunneling', Opts) -> + empty_group('Tunneling', Opts); +empty_value('Cost-Information', Opts) -> + empty_group('Cost-Information', Opts); +empty_value('Unit-Value', Opts) -> + empty_group('Unit-Value', Opts); +empty_value('Multiple-Services-Credit-Control', Opts) -> + empty_group('Multiple-Services-Credit-Control', Opts); +empty_value('Granted-Service-Unit', Opts) -> + empty_group('Granted-Service-Unit', Opts); +empty_value('Requested-Service-Unit', Opts) -> + empty_group('Requested-Service-Unit', Opts); +empty_value('Used-Service-Unit', Opts) -> + empty_group('Used-Service-Unit', Opts); +empty_value('CC-Money', Opts) -> + empty_group('CC-Money', Opts); +empty_value('G-S-U-Pool-Reference', Opts) -> + empty_group('G-S-U-Pool-Reference', Opts); +empty_value('Final-Unit-Indication', Opts) -> + empty_group('Final-Unit-Indication', Opts); +empty_value('Redirect-Server', Opts) -> + empty_group('Redirect-Server', Opts); +empty_value('Service-Parameter-Info', Opts) -> + empty_group('Service-Parameter-Info', Opts); +empty_value('Subscription-Id', Opts) -> + empty_group('Subscription-Id', Opts); +empty_value('User-Equipment-Info', Opts) -> + empty_group('User-Equipment-Info', Opts); +empty_value('Access-Network-Charging-Identifier-Gx', + Opts) -> + empty_group('Access-Network-Charging-Identifier-Gx', + Opts); +empty_value('Allocation-Retention-Priority', Opts) -> + empty_group('Allocation-Retention-Priority', Opts); +empty_value('Application-Detection-Information', + Opts) -> + empty_group('Application-Detection-Information', Opts); +empty_value('Charging-Rule-Definition', Opts) -> + empty_group('Charging-Rule-Definition', Opts); +empty_value('Charging-Rule-Install', Opts) -> + empty_group('Charging-Rule-Install', Opts); +empty_value('Charging-Rule-Remove', Opts) -> + empty_group('Charging-Rule-Remove', Opts); +empty_value('Charging-Rule-Report', Opts) -> + empty_group('Charging-Rule-Report', Opts); +empty_value('CoA-Information', Opts) -> + empty_group('CoA-Information', Opts); +empty_value('Conditional-APN-Aggregate-Max-Bitrate', + Opts) -> + empty_group('Conditional-APN-Aggregate-Max-Bitrate', + Opts); +empty_value('Default-EPS-Bearer-QoS', Opts) -> + empty_group('Default-EPS-Bearer-QoS', Opts); +empty_value('Default-QoS-Information', Opts) -> + empty_group('Default-QoS-Information', Opts); +empty_value('Event-Report-Indication', Opts) -> + empty_group('Event-Report-Indication', Opts); +empty_value('Fixed-User-Location-Info', Opts) -> + empty_group('Fixed-User-Location-Info', Opts); +empty_value('Flow-Information', Opts) -> + empty_group('Flow-Information', Opts); +empty_value('Packet-Filter-Information', Opts) -> + empty_group('Packet-Filter-Information', Opts); +empty_value('Presence-Reporting-Area-Information', + Opts) -> + empty_group('Presence-Reporting-Area-Information', + Opts); +empty_value('QoS-Information', Opts) -> + empty_group('QoS-Information', Opts); +empty_value('Redirect-Information', Opts) -> + empty_group('Redirect-Information', Opts); +empty_value('Routing-Filter', Opts) -> + empty_group('Routing-Filter', Opts); +empty_value('Routing-Rule-Definition', Opts) -> + empty_group('Routing-Rule-Definition', Opts); +empty_value('Routing-Rule-Install', Opts) -> + empty_group('Routing-Rule-Install', Opts); +empty_value('Routing-Rule-Remove', Opts) -> + empty_group('Routing-Rule-Remove', Opts); +empty_value('TDF-Information', Opts) -> + empty_group('TDF-Information', Opts); +empty_value('Tunnel-Information', Opts) -> + empty_group('Tunnel-Information', Opts); +empty_value('TFT-Packet-Filter-Information', Opts) -> + empty_group('TFT-Packet-Filter-Information', Opts); +empty_value('Usage-Monitoring-Information', Opts) -> + empty_group('Usage-Monitoring-Information', Opts); +empty_value('Flows', Opts) -> + empty_group('Flows', Opts); +empty_value('Charging-Information', Opts) -> + empty_group('Charging-Information', Opts); +empty_value('Supported-Features', Opts) -> + empty_group('Supported-Features', Opts); +empty_value('Supported-Applications', Opts) -> + empty_group('Supported-Applications', Opts); +empty_value('SIP-Auth-Data-Item', Opts) -> + empty_group('SIP-Auth-Data-Item', Opts); +empty_value('Deregistration-Reason', Opts) -> + empty_group('Deregistration-Reason', Opts); +empty_value('SIP-Digest-Authenticate', Opts) -> + empty_group('SIP-Digest-Authenticate', Opts); +empty_value('3GPP-PS-Data-Off-Status', _) -> + <<0, 0, 0, 0>>; +empty_value('Access-Transfer-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Adaptations', _) -> <<0, 0, 0, 0>>; +empty_value('Additional-Exception-Reports', _) -> + <<0, 0, 0, 0>>; +empty_value('Address-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Addressee-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Format', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AoC-Service-Obligatory-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('AoC-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Charge-Reason-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Characteristics-Selection-Mode', + _) -> + <<0, 0, 0, 0>>; +empty_value('Charging-Per-IP-CAN-Session-Indicator', + _) -> + <<0, 0, 0, 0>>; +empty_value('Class-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('CN-Operator-Selection-Entity', _) -> + <<0, 0, 0, 0>>; +empty_value('Content-Class', _) -> <<0, 0, 0, 0>>; +empty_value('Coverage-Status', _) -> <<0, 0, 0, 0>>; +empty_value('CP-CIoT-EPS-Optimisation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Access-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('CSG-Membership-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Delivery-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('DRM-Content', _) -> <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Dynamic-Address-Flag-Extension', _) -> + <<0, 0, 0, 0>>; +empty_value('Envelope-Reporting', _) -> <<0, 0, 0, 0>>; +empty_value('File-Repair-Supported', _) -> + <<0, 0, 0, 0>>; +empty_value('Forwarding-Pending', _) -> <<0, 0, 0, 0>>; +empty_value('Interface-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Inter-UE-Transfer', _) -> <<0, 0, 0, 0>>; +empty_value('IMS-Emergency-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('IMSI-Unauthenticated-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-Realm-Default-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('LCS-Client-Type', _) -> <<0, 0, 0, 0>>; +empty_value('LCS-Format-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Local-GW-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Location-Estimate-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Balance-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Low-Priority-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('MBMS-Charged-Party', _) -> <<0, 0, 0, 0>>; +empty_value('MBMS-User-Service-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Media-Initiator-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('MMBox-Storage-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('NNI-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Node-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('Online-Charging-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('Originator', _) -> <<0, 0, 0, 0>>; +empty_value('Participant-Access-Priority', _) -> + <<0, 0, 0, 0>>; +empty_value('Participant-Action-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PC5-Radio-Technology', _) -> + <<0, 0, 0, 0>>; +empty_value('PDP-Context-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Play-Alternative', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Change-Condition', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Server-Role', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-Session-Initiation-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('PoC-Session-Type', _) -> <<0, 0, 0, 0>>; +empty_value('PoC-User-Role-Info-Units', _) -> + <<0, 0, 0, 0>>; +empty_value('Priority', _) -> <<0, 0, 0, 0>>; +empty_value('Privacy-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Direct-Discovery-Model', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Functionality', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Range-Class', _) -> <<0, 0, 0, 0>>; +empty_value('ProSe-Reason-For-Cancellation', _) -> + <<0, 0, 0, 0>>; +empty_value('ProSe-Role-Of-UE', _) -> <<0, 0, 0, 0>>; +empty_value('Proximity-Alert-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-Append-Free-Format-Data', _) -> + <<0, 0, 0, 0>>; +empty_value('Quota-Indicator', _) -> <<0, 0, 0, 0>>; +empty_value('Read-Reply-Report-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Relationship-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Reply-Path-Requested', _) -> + <<0, 0, 0, 0>>; +empty_value('Reporting-Reason', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-Node', _) -> <<0, 0, 0, 0>>; +empty_value('Role-Of-ProSe-Function', _) -> + <<0, 0, 0, 0>>; +empty_value('SDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('Serving-Node-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SGi-PtP-Tunnelling-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('SGW-Change', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Device-Trigger-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('SM-Message-Type', _) -> <<0, 0, 0, 0>>; +empty_value('SMS-Node', _) -> <<0, 0, 0, 0>>; +empty_value('SM-Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Status-AS-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Subscriber-Role', _) -> <<0, 0, 0, 0>>; +empty_value('TAD-Identifier', _) -> <<0, 0, 0, 0>>; +empty_value('Time-Quota-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Transcoder-Inserted-Indication', _) -> + <<0, 0, 0, 0>>; +empty_value('Trigger-Type', _) -> <<0, 0, 0, 0>>; +empty_value('UNI-PDU-CP-Only-Flag', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Participating-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Variable-Part-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Login-Service', _) -> <<0, 0, 0, 0>>; +empty_value('Acct-Authentic', _) -> <<0, 0, 0, 0>>; +empty_value('NAS-Port-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Medium-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Accounting-Auth-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('Origin-AAA-Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Session-Failover', _) -> <<0, 0, 0, 0>>; +empty_value('Check-Balance-Result', _) -> + <<0, 0, 0, 0>>; +empty_value('Credit-Control', _) -> <<0, 0, 0, 0>>; +empty_value('Credit-Control-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Direct-Debiting-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Tariff-Change-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Unit-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Final-Unit-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Address-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Multiple-Services-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Subscription-Id-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Equipment-Info-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('3GPP-PDP-Type', _) -> <<0, 0, 0, 0>>; +empty_value('AN-GW-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Control-Mode', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Operation', _) -> <<0, 0, 0, 0>>; +empty_value('Bearer-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Charging-Correlation-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('CSG-Information-Reporting', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Trigger', _) -> <<0, 0, 0, 0>>; +empty_value('Flow-Direction', _) -> <<0, 0, 0, 0>>; +empty_value('IP-CAN-Session-Charging-Scope', _) -> + <<0, 0, 0, 0>>; +empty_value('IP-CAN-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Metering-Method', _) -> <<0, 0, 0, 0>>; +empty_value('Mute-Notification', _) -> <<0, 0, 0, 0>>; +empty_value('Network-Request-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Offline', _) -> <<0, 0, 0, 0>>; +empty_value('Online', _) -> <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Operation', _) -> + <<0, 0, 0, 0>>; +empty_value('Packet-Filter-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('PCC-Rule-Status', _) -> <<0, 0, 0, 0>>; +empty_value('Pre-emption-Capability', _) -> + <<0, 0, 0, 0>>; +empty_value('Pre-emption-Vulnerability', _) -> + <<0, 0, 0, 0>>; +empty_value('PS-to-CS-Session-Continuity', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Class-Identifier', _) -> + <<0, 0, 0, 0>>; +empty_value('QoS-Negotiation', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Upgrade', _) -> <<0, 0, 0, 0>>; +empty_value('RAT-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Support', _) -> <<0, 0, 0, 0>>; +empty_value('Reporting-Level', _) -> <<0, 0, 0, 0>>; +empty_value('Resource-Allocation-Notification', _) -> + <<0, 0, 0, 0>>; +empty_value('Rule-Failure-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Release-Cause', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Level', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Report', _) -> + <<0, 0, 0, 0>>; +empty_value('Usage-Monitoring-Support', _) -> + <<0, 0, 0, 0>>; +empty_value('Server-Assignment-Type', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"3GPP-PS-Data-Off-Status", 4406, "Enumerated", "MV"}, + {"AF-Correlation-Information", 1276, "Grouped", "MV"}, + {"APN-Rate-Control", 3933, "Grouped", "MV"}, + {"APN-Rate-Control-Downlink", 3934, "Grouped", "MV"}, + {"APN-Rate-Control-Uplink", 3935, "Grouped", "MV"}, + {"Access-Network-Info-Change", 4401, "Grouped", "MV"}, + {"Access-Network-Information", + 1263, + "OctetString", + "MV"}, + {"Access-Transfer-Information", 2709, "Grouped", "MV"}, + {"Access-Transfer-Type", 2710, "Enumerated", "MV"}, + {"Account-Expiration", 2309, "Time", "MV"}, + {"Accumulated-Cost", 2052, "Grouped", "MV"}, + {"Adaptations", 1217, "Enumerated", "MV"}, + {"Additional-Content-Information", + 1207, + "Grouped", + "MV"}, + {"Additional-Exception-Reports", + 3936, + "Enumerated", + "MV"}, + {"Additional-Type-Information", + 1205, + "UTF8String", + "MV"}, + {"Address-Data", 897, "UTF8String", "MV"}, + {"Address-Domain", 898, "Grouped", "MV"}, + {"Address-Type", 899, "Enumerated", "MV"}, + {"Addressee-Type", 1208, "Enumerated", "MV"}, + {"Alternate-Charged-Party-Address", + 1280, + "UTF8String", + "MV"}, + {"Announcement-Identifier", 3905, "Unsigned32", "MV"}, + {"Announcement-Information", 3904, "Grouped", "MV"}, + {"Announcement-Order", 3906, "Unsigned32", "MV"}, + {"Announcing-PLMN-ID", 4408, "UTF8String", "MV"}, + {"Announcing-UE-HPLMN-Identifier", + 3426, + "UTF8String", + "MV"}, + {"Announcing-UE-VPLMN-Identifier", + 3427, + "UTF8String", + "MV"}, + {"AoC-Cost-Information", 2053, "Grouped", "MV"}, + {"AoC-Format", 2310, "Enumerated", "MV"}, + {"AoC-Information", 2054, "Grouped", "MV"}, + {"AoC-Request-Type", 2055, "Enumerated", "MV"}, + {"AoC-Service", 2311, "Grouped", "MV"}, + {"AoC-Service-Obligatory-Type", + 2312, + "Enumerated", + "MV"}, + {"AoC-Service-Type", 2313, "Enumerated", "MV"}, + {"AoC-Subscription-Information", 2314, "Grouped", "MV"}, + {"Applic-ID", 1218, "UTF8String", "MV"}, + {"Application-Provided-Called-Party-Address", + 837, + "UTF8String", + "MV"}, + {"Application-Server", 836, "UTF8String", "MV"}, + {"Application-Server-Information", + 850, + "Grouped", + "MV"}, + {"Application-Specific-Data", + 3458, + "OctetString", + "MV"}, + {"Associated-Party-Address", 2035, "UTF8String", "MV"}, + {"Associated-URI", 856, "UTF8String", "MV"}, + {"Authorised-QoS", 849, "UTF8String", "MV"}, + {"Aux-Applic-Info", 1219, "UTF8String", "MV"}, + {"BSSID", 2716, "UTF8String", "MV"}, + {"Base-Time-Interval", 1265, "Unsigned32", "MV"}, + {"Basic-Service-Code", 3411, "Grouped", "MV"}, + {"Bearer-Capability", 3412, "OctetString", "MV"}, + {"Bearer-Service", 854, "OctetString", "MV"}, + {"CG-Address", 846, "Address", "MV"}, + {"CN-Operator-Selection-Entity", + 3421, + "Enumerated", + "MV"}, + {"CP-CIoT-EPS-Optimisation-Indicator", + 3930, + "Enumerated", + "MV"}, + {"CPDT-Information", 3927, "Grouped", "MV"}, + {"CSG-Access-Mode", 2317, "Enumerated", "MV"}, + {"CSG-Membership-Indication", 2318, "Enumerated", "MV"}, + {"CUG-Information", 2304, "OctetString", "MV"}, + {"Called-Asserted-Identity", 1250, "UTF8String", "MV"}, + {"Called-Identity", 3916, "UTF8String", "MV"}, + {"Called-Identity-Change", 3917, "Grouped", "MV"}, + {"Called-Party-Address", 832, "UTF8String", "MV"}, + {"Calling-Party-Address", 831, "UTF8String", "MV"}, + {"Carrier-Select-Routing-Information", + 2023, + "UTF8String", + "MV"}, + {"Cause-Code", 861, "Integer32", "MV"}, + {"Cellular-Network-Information", + 3924, + "OctetString", + "MV"}, + {"Change-Condition", 2037, "Integer32", "MV"}, + {"Change-Time", 2038, "Time", "MV"}, + {"Charge-Reason-Code", 2118, "Enumerated", "MV"}, + {"Charged-Party", 857, "UTF8String", "MV"}, + {"Charging-Characteristics-Selection-Mode", + 2066, + "Enumerated", + "MV"}, + {"Charging-Per-IP-CAN-Session-Indicator", + 4400, + "Enumerated", + "MV"}, + {"Class-Identifier", 1214, "Enumerated", "MV"}, + {"Client-Address", 2018, "Address", "MV"}, + {"Content-Class", 1220, "Enumerated", "MV"}, + {"Content-Disposition", 828, "UTF8String", "MV"}, + {"Content-Length", 827, "Unsigned32", "MV"}, + {"Content-Size", 1206, "Unsigned32", "MV"}, + {"Content-Type", 826, "UTF8String", "MV"}, + {"Coverage-Info", 3459, "Grouped", "MV"}, + {"Coverage-Status", 3428, "Enumerated", "MV"}, + {"Current-Tariff", 2056, "Grouped", "MV"}, + {"DRM-Content", 1221, "Enumerated", "MV"}, + {"Data-Coding-Scheme", 2001, "Integer32", "MV"}, + {"Deferred-Location-Event-Type", + 1230, + "UTF8String", + "MV"}, + {"Delivery-Report-Requested", 1216, "Enumerated", "MV"}, + {"Destination-Interface", 2002, "Grouped", "MV"}, + {"Diagnostics", 2039, "Integer32", "MV"}, + {"Discoveree-UE-HPLMN-Identifier", + 4402, + "UTF8String", + "MV"}, + {"Discoveree-UE-VPLMN-Identifier", + 4403, + "UTF8String", + "MV"}, + {"Discoverer-UE-HPLMN-Identifier", + 4404, + "UTF8String", + "MV"}, + {"Discoverer-UE-VPLMN-Identifier", + 4405, + "UTF8String", + "MV"}, + {"Domain-Name", 1200, "UTF8String", "MV"}, + {"Dynamic-Address-Flag", 2051, "Enumerated", "MV"}, + {"Dynamic-Address-Flag-Extension", + 2068, + "Enumerated", + "MV"}, + {"EPDG-Address", 3425, "Address", "MV"}, + {"Early-Media-Description", 1272, "Grouped", "MV"}, + {"Enhanced-Diagnostics", 3901, "Grouped", "MV"}, + {"Envelope", 1266, "Grouped", "MV"}, + {"Envelope-End-Time", 1267, "Time", "MV"}, + {"Envelope-Reporting", 1268, "Enumerated", "MV"}, + {"Envelope-Start-Time", 1269, "Time", "MV"}, + {"Event", 825, "UTF8String", "MV"}, + {"Event-Charging-TimeStamp", 1258, "Time", "MV"}, + {"Event-Type", 823, "Grouped", "MV"}, + {"Expires", 888, "Unsigned32", "MV"}, + {"FE-Identifier-List", 4413, "UTF8String", "MV"}, + {"File-Repair-Supported", 1224, "Enumerated", "MV"}, + {"Forwarding-Pending", 3415, "Enumerated", "MV"}, + {"From-Address", 2708, "UTF8String", "MV"}, + {"GGSN-Address", 847, "Address", "MV"}, + {"IMS-Application-Reference-Identifier", + 2601, + "UTF8String", + "MV"}, + {"IMS-Charging-Identifier", 841, "UTF8String", "MV"}, + {"IMS-Communication-Service-Identifier", + 1281, + "UTF8String", + "MV"}, + {"IMS-Emergency-Indicator", 2322, "Enumerated", "MV"}, + {"IMS-Information", 876, "Grouped", "MV"}, + {"IMS-Visited-Network-Identifier", + 2713, + "UTF8String", + "MV"}, + {"IMSI-Unauthenticated-Flag", 2308, "Enumerated", "MV"}, + {"IP-Realm-Default-Indication", + 2603, + "Enumerated", + "MV"}, + {"ISUP-Cause", 3416, "Grouped", "MV"}, + {"ISUP-Cause-Diagnostics", 3422, "OctetString", "MV"}, + {"ISUP-Cause-Location", 3423, "Unsigned32", "MV"}, + {"ISUP-Cause-Value", 3424, "Unsigned32", "MV"}, + {"ISUP-Location-Number", 3414, "OctetString", "MV"}, + {"Incoming-Trunk-Group-Id", 852, "UTF8String", "MV"}, + {"Incremental-Cost", 2062, "Grouped", "MV"}, + {"Initial-IMS-Charging-Identifier", + 2321, + "UTF8String", + "MV"}, + {"Instance-Id", 3402, "UTF8String", "MV"}, + {"Inter-Operator-Identifier", 838, "Grouped", "MV"}, + {"Inter-UE-Transfer", 3902, "Enumerated", "MV"}, + {"Interface-Id", 2003, "UTF8String", "MV"}, + {"Interface-Port", 2004, "UTF8String", "MV"}, + {"Interface-Text", 2005, "UTF8String", "MV"}, + {"Interface-Type", 2006, "Enumerated", "MV"}, + {"LCS-APN", 1231, "UTF8String", "MV"}, + {"LCS-Client-Dialed-By-MS", 1233, "UTF8String", "MV"}, + {"LCS-Client-External-ID", 1234, "UTF8String", "MV"}, + {"LCS-Client-ID", 1232, "Grouped", "MV"}, + {"LCS-Client-Name", 1235, "Grouped", "MV"}, + {"LCS-Client-Type", 1241, "Enumerated", "MV"}, + {"LCS-Data-Coding-Scheme", 1236, "UTF8String", "MV"}, + {"LCS-Format-Indicator", 1237, "Enumerated", "MV"}, + {"LCS-Information", 878, "Grouped", "MV"}, + {"LCS-Name-String", 1238, "UTF8String", "MV"}, + {"LCS-Requestor-ID", 1239, "Grouped", "MV"}, + {"LCS-Requestor-ID-String", 1240, "UTF8String", "MV"}, + {"Language", 3914, "UTF8String", "MV"}, + {"Layer-2-Group-ID", 3429, "OctetString", "MV"}, + {"Local-GW-Inserted-Indication", + 2604, + "Enumerated", + "MV"}, + {"Local-Sequence-Number", 2063, "Unsigned32", "MV"}, + {"Location-Estimate", 1242, "OctetString", "MV"}, + {"Location-Estimate-Type", 1243, "Enumerated", "MV"}, + {"Location-Info", 3460, "Grouped", "MV"}, + {"Location-Type", 1244, "Grouped", "MV"}, + {"Low-Balance-Indication", 2020, "Enumerated", "MV"}, + {"Low-Priority-Indicator", 2602, "Enumerated", "MV"}, + {"MBMS-Charged-Party", 2323, "Enumerated", "MV"}, + {"MBMS-GW-Address", 2307, "Address", "MV"}, + {"MBMS-Information", 880, "Grouped", "MV"}, + {"MBMS-User-Service-Type", 1225, "Enumerated", "MV"}, + {"MM-Content-Type", 1203, "Grouped", "MV"}, + {"MMBox-Storage-Requested", 1248, "Enumerated", "MV"}, + {"MMS-Information", 877, "Grouped", "MV"}, + {"MMTel-Information", 2030, "Grouped", "MV"}, + {"MMTel-SService-Type", 2031, "Unsigned32", "MV"}, + {"MSC-Address", 3417, "OctetString", "MV"}, + {"MTC-IWF-Address", 3406, "Address", "MV"}, + {"Media-Initiator-Flag", 882, "Enumerated", "MV"}, + {"Media-Initiator-Party", 1288, "UTF8String", "MV"}, + {"Message-Body", 889, "Grouped", "MV"}, + {"Message-Class", 1213, "Grouped", "MV"}, + {"Message-ID", 1210, "UTF8String", "MV"}, + {"Message-Size", 1212, "Unsigned32", "MV"}, + {"Message-Type", 1211, "Enumerated", "MV"}, + {"Monitored-PLMN-Identifier", 3430, "UTF8String", "MV"}, + {"Monitoring-Event-Configuration-Activity", + 3919, + "Integer32", + "MV"}, + {"Monitoring-Event-Functionality", + 3922, + "Integer32", + "MV"}, + {"Monitoring-Event-Information", 3921, "Grouped", "MV"}, + {"Monitoring-Event-Report-Data", 3920, "Grouped", "MV"}, + {"Monitoring-Event-Report-Number", + 3923, + "Unsigned32", + "MV"}, + {"Monitoring-UE-HPLMN-Identifier", + 3431, + "UTF8String", + "MV"}, + {"Monitoring-UE-Identifier", 3432, "UTF8String", "MV"}, + {"Monitoring-UE-VPLMN-Identifier", + 3433, + "UTF8String", + "MV"}, + {"NIDD-Submission", 3928, "Grouped", "VM"}, + {"NNI-Information", 2703, "Grouped", "MV"}, + {"NNI-Type", 2704, "Enumerated", "MV"}, + {"Neighbour-Node-Address", 2705, "Address", "MV"}, + {"Network-Call-Reference-Number", + 3418, + "OctetString", + "MV"}, + {"Next-Tariff", 2057, "Grouped", "VM"}, + {"Node-Functionality", 862, "Enumerated", "MV"}, + {"Node-Id", 2064, "UTF8String", "MV"}, + {"Number-Of-Diversions", 2034, "Unsigned32", "MV"}, + {"Number-Of-Messages-Sent", 2019, "Unsigned32", "MV"}, + {"Number-Of-Participants", 885, "Unsigned32", "MV"}, + {"Number-Of-Received-Talk-Bursts", + 1282, + "Unsigned32", + "MV"}, + {"Number-Of-Talk-Bursts", 1283, "Unsigned32", "MV"}, + {"Number-Portability-Routing-Information", + 2024, + "UTF8String", + "MV"}, + {"Offline-Charging", 1278, "Grouped", "MV"}, + {"Online-Charging-Flag", 2303, "Enumerated", "MV"}, + {"Originating-IOI", 839, "UTF8String", "MV"}, + {"Originator", 864, "Enumerated", "MV"}, + {"Originator-Address", 886, "Grouped", "MV"}, + {"Originator-Interface", 2009, "Grouped", "MV"}, + {"Originator-Received-Address", 2027, "Grouped", "MV"}, + {"Originator-SCCP-Address", 2008, "Address", "MV"}, + {"Outgoing-Session-Id", 2320, "UTF8String", "MV"}, + {"Outgoing-Trunk-Group-Id", 853, "UTF8String", "MV"}, + {"PC3-Control-Protocol-Cause", 3434, "Integer32", "MV"}, + {"PC3-EPC-Control-Protocol-Cause", + 3435, + "Integer32", + "MV"}, + {"PC5-Radio-Technology", 1300, "Enumerated", "V"}, + {"PDN-Connection-Charging-ID", + 2050, + "Unsigned32", + "MV"}, + {"PDP-Address", 1227, "Address", "MV"}, + {"PDP-Address-Prefix-Length", 2606, "Unsigned32", "MV"}, + {"PDP-Context-Type", 1247, "Enumerated", "MV"}, + {"PS-Append-Free-Format-Data", 867, "Enumerated", "MV"}, + {"PS-Free-Format-Data", 866, "OctetString", "MV"}, + {"PS-Furnish-Charging-Information", + 865, + "Grouped", + "MV"}, + {"PS-Information", 874, "Grouped", "MV"}, + {"Participant-Access-Priority", + 1259, + "Enumerated", + "MV"}, + {"Participant-Action-Type", 2049, "Enumerated", "MV"}, + {"Participant-Group", 1260, "Grouped", "MV"}, + {"Participants-Involved", 887, "UTF8String", "MV"}, + {"Play-Alternative", 3913, "Enumerated", "MV"}, + {"PoC-Change-Condition", 1261, "Enumerated", "MV"}, + {"PoC-Change-Time", 1262, "Time", "MV"}, + {"PoC-Controlling-Address", 858, "UTF8String", "MV"}, + {"PoC-Event-Type", 2025, "Enumerated", "MV"}, + {"PoC-Group-Name", 859, "UTF8String", "MV"}, + {"PoC-Information", 879, "Grouped", "MV"}, + {"PoC-Server-Role", 883, "Enumerated", "MV"}, + {"PoC-Session-Id", 1229, "UTF8String", "MV"}, + {"PoC-Session-Initiation-Type", + 1277, + "Enumerated", + "MV"}, + {"PoC-Session-Type", 884, "Enumerated", "MV"}, + {"PoC-User-Role", 1252, "Grouped", "MV"}, + {"PoC-User-Role-IDs", 1253, "UTF8String", "MV"}, + {"PoC-User-Role-Info-Units", 1254, "Enumerated", "MV"}, + {"Positioning-Data", 1245, "UTF8String", "MV"}, + {"Preferred-AoC-Currency", 2315, "Unsigned32", "MV"}, + {"Priority", 1209, "Enumerated", "MV"}, + {"Privacy-Indicator", 3915, "Enumerated", "MV"}, + {"ProSe-3rd-Party-Application-ID", + 3440, + "UTF8String", + "MV"}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + "Grouped", + "MV"}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + "Grouped", + "MV"}, + {"ProSe-Direct-Discovery-Model", + 3442, + "Enumerated", + "MV"}, + {"ProSe-Event-Type", 3443, "Enumerated", "MV"}, + {"ProSe-Function-IP-Address", 3444, "Address", "MV"}, + {"ProSe-Function-PLMN-Identifier", + 3457, + "UTF8String", + "MV"}, + {"ProSe-Functionality", 3445, "Enumerated", "MV"}, + {"ProSe-Group-IP-Multicast-Address", + 3446, + "Address", + "MV"}, + {"ProSe-Information", 3447, "Grouped", "MV"}, + {"ProSe-Range-Class", 3448, "Enumerated", "MV"}, + {"ProSe-Reason-For-Cancellation", + 3449, + "Enumerated", + "MV"}, + {"ProSe-Request-Timestamp", 3450, "Time", "MV"}, + {"ProSe-Role-Of-UE", 3451, "Enumerated", "MV"}, + {"ProSe-Source-IP-Address", 3452, "Address", "MV"}, + {"ProSe-Target-Layer-2-ID", 4410, "OctetString", "MV"}, + {"ProSe-UE-ID", 3453, "OctetString", "MV"}, + {"ProSe-UE-to-Network-Relay-UE-ID", + 4409, + "OctetString", + "MV"}, + {"Proximity-Alert-Indication", + 3454, + "Enumerated", + "MV"}, + {"Proximity-Alert-Timestamp", 3455, "Time", "MV"}, + {"Proximity-Cancellation-Timestamp", + 3456, + "Time", + "MV"}, + {"Quota-Consumption-Time", 881, "Unsigned32", "MV"}, + {"Quota-Holding-Time", 871, "Unsigned32", "MV"}, + {"Quota-Indicator", 3912, "Enumerated", "MV"}, + {"RAN-End-Time", 1301, "Time", "V"}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + "Grouped", + "V"}, + {"RAN-Start-Time", 1303, "Time", "V"}, + {"Radio-Frequency", 3462, "OctetString", "MV"}, + {"Radio-Parameter-Set-Info", 3463, "Grouped", "MV"}, + {"Radio-Parameter-Set-Values", + 3464, + "OctetString", + "MV"}, + {"Radio-Resources-Indicator", 3465, "Integer32", "MV"}, + {"Rate-Control-Max-Message-Size", + 3937, + "Unsigned32", + "MV"}, + {"Rate-Control-Max-Rate", 3938, "Unsigned32", "MV"}, + {"Rate-Control-Time-Unit", 3939, "Unsigned32", "MV"}, + {"Rate-Element", 2058, "Grouped", "MV"}, + {"Read-Reply-Report-Requested", + 1222, + "Enumerated", + "MV"}, + {"Real-Time-Tariff-Information", 2305, "Grouped", "MV"}, + {"Reason-Header", 3401, "UTF8String", "MV"}, + {"Received-Talk-Burst-Time", 1284, "Unsigned32", "MV"}, + {"Received-Talk-Burst-Volume", + 1285, + "Unsigned32", + "MV"}, + {"Recipient-Address", 1201, "Grouped", "MV"}, + {"Recipient-Info", 2026, "Grouped", "MV"}, + {"Recipient-Received-Address", 2028, "Grouped", "MV"}, + {"Recipient-SCCP-Address", 2010, "Address", "MV"}, + {"Refund-Information", 2022, "OctetString", "MV"}, + {"Related-Change-Condition-Information", + 3925, + "Grouped", + "MV"}, + {"Related-IMS-Charging-Identifier", + 2711, + "UTF8String", + "MV"}, + {"Related-IMS-Charging-Identifier-Node", + 2712, + "Address", + "MV"}, + {"Related-Trigger", 3926, "Grouped", "MV"}, + {"Relationship-Mode", 2706, "Enumerated", "MV"}, + {"Relay-IP-address", 4411, "Address", "MV"}, + {"Remaining-Balance", 2021, "Grouped", "MV"}, + {"Reply-Applic-ID", 1223, "UTF8String", "MV"}, + {"Reply-Path-Requested", 2011, "Enumerated", "MV"}, + {"Reporting-Reason", 872, "Enumerated", "MV"}, + {"Requested-PLMN-Identifier", 3436, "UTF8String", "MV"}, + {"Requested-Party-Address", 1251, "UTF8String", "MV"}, + {"Requestor-PLMN-Identifier", 3437, "UTF8String", "MV"}, + {"Role-Of-Node", 829, "Enumerated", "MV"}, + {"Role-Of-ProSe-Function", 3438, "Enumerated", "MV"}, + {"Route-Header-Received", 3403, "UTF8String", "MV"}, + {"Route-Header-Transmitted", 3404, "UTF8String", "MV"}, + {"SCS-AS-Address", 3940, "Grouped", "MV"}, + {"SCS-Address", 3941, "Address", "MV"}, + {"SCS-Realm", 3942, "DiameterIdentity", "MV"}, + {"SDP-Answer-Timestamp", 1275, "Time", "MV"}, + {"SDP-Media-Component", 843, "Grouped", "MV"}, + {"SDP-Media-Description", 845, "UTF8String", "MV"}, + {"SDP-Media-Name", 844, "UTF8String", "MV"}, + {"SDP-Offer-Timestamp", 1274, "Time", "MV"}, + {"SDP-Session-Description", 842, "UTF8String", "MV"}, + {"SDP-TimeStamps", 1273, "Grouped", "MV"}, + {"SDP-Type", 2036, "Enumerated", "MV"}, + {"SGSN-Address", 1228, "Address", "MV"}, + {"SGW-Address", 2067, "Address", "MV"}, + {"SGW-Change", 2065, "Enumerated", "MV"}, + {"SGi-PtP-Tunnelling-Method", 3931, "Enumerated", "MV"}, + {"SIP-Method", 824, "UTF8String", "MV"}, + {"SIP-Request-Timestamp", 834, "Time", "MV"}, + {"SIP-Request-Timestamp-Fraction", + 2301, + "Unsigned32", + "MV"}, + {"SIP-Response-Timestamp", 835, "Time", "MV"}, + {"SIP-Response-Timestamp-Fraction", + 2302, + "Unsigned32", + "MV"}, + {"SM-Device-Trigger-Indicator", + 3407, + "Enumerated", + "MV"}, + {"SM-Device-Trigger-Information", + 3405, + "Grouped", + "MV"}, + {"SM-Discharge-Time", 2012, "Time", "MV"}, + {"SM-Message-Type", 2007, "Enumerated", "MV"}, + {"SM-Protocol-ID", 2013, "OctetString", "MV"}, + {"SM-Sequence-Number", 3408, "Unsigned32", "MV"}, + {"SM-Service-Type", 2029, "Enumerated", "MV"}, + {"SM-Status", 2014, "OctetString", "MV"}, + {"SM-User-Data-Header", 2015, "OctetString", "MV"}, + {"SMS-Information", 2000, "Grouped", "MV"}, + {"SMS-Node", 2016, "Enumerated", "MV"}, + {"SMS-Result", 3409, "Unsigned32", "MV"}, + {"SMSC-Address", 2017, "Address", "MV"}, + {"Scale-Factor", 2059, "Grouped", "MV"}, + {"Secondary-RAT-Type", 1304, "OctetString", "V"}, + {"Served-Party-IP-Address", 848, "Address", "MV"}, + {"Service-Data-Container", 2040, "Grouped", "MV"}, + {"Service-Id", 855, "UTF8String", "MV"}, + {"Service-Information", 873, "Grouped", "MV"}, + {"Service-Mode", 2032, "Unsigned32", "MV"}, + {"Service-Specific-Data", 863, "UTF8String", "MV"}, + {"Service-Specific-Info", 1249, "Grouped", "MV"}, + {"Service-Specific-Type", 1257, "Unsigned32", "MV"}, + {"Serving-Node-Identity", + 3929, + "DiameterIdentity", + "MV"}, + {"Serving-Node-Type", 2047, "Enumerated", "MV"}, + {"Session-Direction", 2707, "Enumerated", "MV"}, + {"Start-Time", 2041, "Time", "MV"}, + {"Start-of-Charging", 3419, "Time", "MV"}, + {"Status-AS-Code", 2702, "Enumerated", "MV"}, + {"Stop-Time", 2042, "Time", "MV"}, + {"Submission-Time", 1202, "Time", "MV"}, + {"Subscriber-Role", 2033, "Enumerated", "MV"}, + {"Supplementary-Service", 2048, "Grouped", "MV"}, + {"TAD-Identifier", 2717, "Enumerated", "MV"}, + {"TWAG-Address", 3903, "Address", "MV"}, + {"TWAN-User-Location-Info", 2714, "Grouped", "MV"}, + {"Talk-Burst-Exchange", 1255, "Grouped", "MV"}, + {"Talk-Burst-Time", 1286, "Unsigned32", "MV"}, + {"Talk-Burst-Volume", 1287, "Unsigned32", "MV"}, + {"Target-IP-Address", 4412, "Address", "MV"}, + {"Tariff-Information", 2060, "Grouped", "MV"}, + {"Tariff-XML", 2306, "UTF8String", "MV"}, + {"Teleservice", 3413, "OctetString", "MV"}, + {"Terminating-IOI", 840, "UTF8String", "MV"}, + {"Time-First-Reception", 3466, "Time", "MV"}, + {"Time-First-Transmission", 3467, "Time", "MV"}, + {"Time-First-Usage", 2043, "Time", "MV"}, + {"Time-Indicator", 3911, "Unsigned32", "MV"}, + {"Time-Last-Usage", 2044, "Time", "MV"}, + {"Time-Quota-Mechanism", 1270, "Grouped", "MV"}, + {"Time-Quota-Threshold", 868, "Unsigned32", "MV"}, + {"Time-Quota-Type", 1271, "Enumerated", "MV"}, + {"Time-Stamps", 833, "Grouped", "MV"}, + {"Time-Usage", 2045, "Unsigned32", "MV"}, + {"Token-Text", 1215, "UTF8String", "MV"}, + {"Traffic-Data-Volumes", 2046, "Grouped", "MV"}, + {"Transcoder-Inserted-Indication", + 2605, + "Enumerated", + "MV"}, + {"Transit-IOI-List", 2701, "UTF8String", "MV"}, + {"Transmitter-Info", 3468, "Grouped", "MV"}, + {"Trigger", 1264, "Grouped", "MV"}, + {"Trigger-Type", 870, "Enumerated", "MV"}, + {"Trunk-Group-Id", 851, "Grouped", "MV"}, + {"Type-Number", 1204, "Enumerated", "MV"}, + {"UNI-PDU-CP-Only-Flag", 3932, "Enumerated", "MV"}, + {"UWAN-User-Location-Info", 3918, "Grouped", "MV"}, + {"Unit-Cost", 2061, "Grouped", "MV"}, + {"Unit-Quota-Threshold", 1226, "Unsigned32", "MV"}, + {"Unused-Quota-Timer", 4407, "Unsigned32", "MV"}, + {"Usage-Information-Report-Sequence-Number", + 3439, + "Integer32", + "MV"}, + {"User-CSG-Information", 2319, "Grouped", "MV"}, + {"User-Participating-Type", 1279, "Enumerated", "MV"}, + {"User-Session-Id", 830, "UTF8String", "MV"}, + {"VCS-Information", 3410, "Grouped", "MV"}, + {"VLR-Number", 3420, "OctetString", "MV"}, + {"Variable-Part", 3907, "Grouped", "MV"}, + {"Variable-Part-Order", 3908, "Unsigned32", "MV"}, + {"Variable-Part-Type", 3909, "Enumerated", "MV"}, + {"Variable-Part-Value", 3910, "UTF8String", "MV"}, + {"Volume-Quota-Threshold", 869, "Unsigned32", "MV"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"3GPP-PS-Data-Off-Status", + [{"Active", 0}, {"Inactive", 1}]}, + {"Access-Transfer-Type", + [{"PS-to-CS-Transfer", 0}, + {"CS-to-PS-Transfer", 1}, + {"PS-to-PS-Transfer", 2}, + {"CS-to-CS-Transfer", 3}]}, + {"Adaptations", [{"Yes", 0}, {"No", 1}]}, + {"Additional-Exception-Reports", + [{"Not-allowed", 0}, {"Allowed", 1}]}, + {"Address-Type", + [{"e-mail-address", 0}, + {"MSISDN", 1}, + {"IPv4-Address", 2}, + {"IPv6-Address", 3}, + {"Numeric-Shortcode", 4}, + {"Alphanumeric-Shortcode", 5}, + {"Other", 6}, + {"IMSI", 7}]}, + {"Addressee-Type", [{"TO", 0}, {"CC", 1}, {"BCC", 2}]}, + {"AoC-Format", + [{"MONETARY", 0}, {"NON_MONETARY", 1}, {"CAI", 2}]}, + {"AoC-Request-Type", + [{"AoC_NOT_REQUESTED", 0}, + {"AoC_FULL", 1}, + {"AoC_COST_ONLY", 2}, + {"AoC_TARIFF_ONLY", 3}]}, + {"AoC-Service-Obligatory-Type", + [{"NON_BINDING", 0}, {"BINDING", 1}]}, + {"AoC-Service-Type", + [{"NONE", 0}, + {"AOC-S", 1}, + {"AOC-D", 2}, + {"AOC-E", 3}]}, + {"Charge-Reason-Code", + [{"UNKNOWN", 0}, + {"USAGE", 1}, + {"COMMUNICATION-ATTEMPT-CHARGE", 2}, + {"SETUP-CHARGE", 3}, + {"ADD-ON-CHARGE", 4}]}, + {"Charging-Characteristics-Selection-Mode", + [{"Serving-Node-Supplied", 0}, + {"Subscription-specific", 1}, + {"APN-specific", 2}, + {"Home-Default", 3}, + {"Roaming-Default", 4}, + {"Visiting-Default", 5}]}, + {"Charging-Per-IP-CAN-Session-Indicator", + [{"Inactive", 0}, {"Active", 1}]}, + {"Class-Identifier", + [{"Personal", 0}, + {"Advertisement", 1}, + {"Informational", 2}, + {"Auto", 3}]}, + {"CN-Operator-Selection-Entity", + [{"The-Serving-Network-has-been-selected-by-the-UE", 0}, + {"The-Serving-Network-has-been-selected-by-the-" + "network", + 1}]}, + {"Content-Class", + [{"text", 0}, + {"image-basic", 1}, + {"image-rich", 2}, + {"video-basic", 3}, + {"video-rich", 4}, + {"megapixel", 5}, + {"content-basic", 6}, + {"content-rich", 7}]}, + {"Coverage-Status", + [{"Out-of-coverage", 0}, {"In-coverage", 1}]}, + {"CP-CIoT-EPS-Optimisation-Indicator", + [{"Not-Apply", 0}, {"Apply", 1}]}, + {"CSG-Access-Mode", + [{"Closed-mode", 0}, {"Hybrid-Mode", 1}]}, + {"CSG-Membership-Indication", + [{"Not-CSG-member", 0}, {"CSG-Member", 1}]}, + {"Delivery-Report-Requested", [{"No", 0}, {"Yes", 1}]}, + {"DRM-Content", [{"No", 0}, {"Yes", 1}]}, + {"Dynamic-Address-Flag", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Dynamic-Address-Flag-Extension", + [{"Static", 0}, {"Dynamic", 1}]}, + {"Envelope-Reporting", + [{"DO_NOT_REPORT_ENVELOPES", 0}, + {"REPORT_ENVELOPES", 1}, + {"REPORT_ENVELOPES_WITH_VOLUME", 2}, + {"REPORT_ENVELOPES_WITH_EVENTS", 3}, + {"REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", 4}]}, + {"File-Repair-Supported", + [{"SUPPORTED", 1}, {"NOT_SUPPORTED", 2}]}, + {"Forwarding-Pending", + [{"Forwarding-not-pending", 0}, + {"Forwarding-pending", 1}]}, + {"Interface-Type", + [{"Unknown", 0}, + {"MOBILE_ORIGINATING", 1}, + {"MOBILE_TERMINATING", 2}, + {"APPLICATION_ORIGINATING", 3}, + {"APPLICATION_TERMINATION", 4}]}, + {"Inter-UE-Transfer", + [{"Intra-UE-transfer", 0}, {"Inter-UE-transfer", 1}]}, + {"IMS-Emergency-Indicator", + [{"Non-Emergency", 0}, {"Emergency", 1}]}, + {"IMSI-Unauthenticated-Flag", + [{"Authenticated", 0}, {"Unauthenticated", 1}]}, + {"IP-Realm-Default-Indication", + [{"Default-IP-Realm-Not-used", 0}, + {"Default-IP-realm-used", 1}]}, + {"LCS-Client-Type", + [{"EMERGENCY_SERVICES", 0}, + {"VALUE_ADDED_SERVICES", 1}, + {"PLMN_OPERATOR_SERVICES", 2}, + {"LAWFUL_INTERCEPT_SERVICES", 3}]}, + {"LCS-Format-Indicator", + [{"LOGICAL_NAME", 0}, + {"EMAIL_ADDRESS", 1}, + {"MSISDN", 2}, + {"URL", 3}, + {"SIP_URL", 4}]}, + {"Local-GW-Inserted-Indication", + [{"Local-GW-Not-Inserted", 0}, + {"Local-GW-Inserted", 1}]}, + {"Location-Estimate-Type", + [{"CURRENT_LOCATION", 0}, + {"CURRENT_LAST_KNOWN_LOCATION", 1}, + {"INITIAL_LOCATION", 2}, + {"ACTIVATE_DEFERRED_LOCATION", 3}, + {"CANCEL_DEFERRED_LOCATION", 4}]}, + {"Low-Balance-Indication", + [{"NOT-APPLICABLE", 0}, {"YES", 1}]}, + {"Low-Priority-Indicator", [{"NO", 0}, {"YES", 1}]}, + {"MBMS-Charged-Party", + [{"Content-Provider", 0}, {"Subscriber", 1}]}, + {"MBMS-User-Service-Type", + [{"DOWNLOAD", 1}, {"STREAMING", 2}]}, + {"Media-Initiator-Flag", + [{"called-party", 0}, + {"calling-party", 1}, + {"unknown", 2}]}, + {"Message-Type", + [{"m-send-req", 1}, + {"m-send-conf", 2}, + {"m-notification-ind", 3}, + {"m-notifyresp-ind", 4}, + {"m-retrieve-conf", 5}, + {"m-acknowledge-ind", 6}, + {"m-delivery-ind", 7}, + {"m-read-rec-ind", 8}, + {"m-read-orig-ind", 9}, + {"m-forward-req", 10}, + {"m-forward-conf", 11}, + {"m-mbox-store-conf", 12}, + {"m-mbox-view-conf", 13}, + {"m-mbox-upload-conf", 14}, + {"m-mbox-delete-conf", 15}]}, + {"MMBox-Storage-Requested", [{"No", 0}, {"Yes", 1}]}, + {"NNI-Type", + [{"non-roaming", 0}, + {"roaming-without-loopback", 1}, + {"roaming-with-loopback", 2}]}, + {"Node-Functionality", + [{"S-CSCF", 0}, + {"P-CSCF", 1}, + {"I-CSCF", 2}, + {"MRFC", 3}, + {"MGCF", 4}, + {"BGCF", 5}, + {"AS", 6}, + {"IBCF", 7}, + {"S-GW", 8}, + {"P-GW", 9}, + {"HSGW", 10}, + {"E-CSCF", 11}, + {"MME", 12}, + {"TRF", 13}, + {"TF", 14}, + {"ATCF", 15}, + {"Proxy-Function", 16}, + {"ePDG", 17}, + {"TDF", 18}, + {"TWAG", 19}, + {"SCEF", 20}, + {"IWK-SCEF", 21}]}, + {"Online-Charging-Flag", + [{"ECF-address-not-provided", 0}, + {"ECF-address-provided", 1}]}, + {"Originator", + [{"Calling-Party", 0}, {"Called-Party", 1}]}, + {"Participant-Access-Priority", + [{"Pre-emptive-priority", 1}, + {"High-priority", 2}, + {"Normal-priority", 3}, + {"Low-priority", 4}]}, + {"Participant-Action-Type", + [{"CREATE_CONF", 0}, + {"JOIN_CONF", 1}, + {"INVITE_INTO_CONF", 2}, + {"QUIT_CONF", 3}]}, + {"PC5-Radio-Technology", + [{"EUTRA", 0}, + {"WLAN", 1}, + {"Both-EUTRA-and-WLAN", 2}]}, + {"PDP-Context-Type", + [{"Primary", 0}, {"Secondary", 1}]}, + {"Play-Alternative", + [{"served-party", 0}, {"remote-party", 1}]}, + {"PoC-Change-Condition", + [{"ServiceChange", 0}, + {"VolumeLimit", 1}, + {"TimeLimit", 2}, + {"NumberofTalkBurstLimit", 3}, + {"NumberofActiveParticipants", 4}, + {"TariffTime", 5}]}, + {"PoC-Event-Type", + [{"Normal", 0}, + {"Instant-Personal-Alert-event", 1}, + {"PoC-Group-Advertisement-event", 2}, + {"Early-Ssession-Setting-up-event", 3}, + {"PoC-Talk-Burst", 4}]}, + {"PoC-Server-Role", + [{"Participating-PoC-Server", 0}, + {"Controlling-PoC-Server", 1}, + {"Interworking-function", 2}, + {"Interworking-selection-function", 3}]}, + {"PoC-Session-Initiation-Type", + [{"Pre-established", 0}, {"On-demand", 1}]}, + {"PoC-Session-Type", + [{"1-to-1-PoC-session", 0}, + {"Chat-PoC-group-session", 1}, + {"Pre-arranged-PoC-group-session", 2}, + {"Ad-hoc-PoC-group-session", 3}]}, + {"PoC-User-Role-Info-Units", + [{"Moderator", 1}, + {"Dispatcher", 2}, + {"Session-Owner", 3}, + {"Session-Participant", 4}]}, + {"Priority", [{"Low", 0}, {"Normal", 1}, {"High", 2}]}, + {"Privacy-Indicator", + [{"NOT_PRIVATE", 0}, {"PRIVATE", 1}]}, + {"ProSe-Direct-Discovery-Model", + [{"Model-A", 0}, {"Model-B", 1}]}, + {"ProSe-Event-Type", + [{"Annoucing", 0}, + {"Monitoring", 1}, + {"Match-Report", 2}]}, + {"ProSe-Functionality", + [{"Direct-discovery", 0}, + {"EPC-level-discovery", 1}, + {"Direct-communication", 2}]}, + {"ProSe-Range-Class", + [{"Reserved", 0}, + {"50m", 1}, + {"100m", 2}, + {"200m", 3}, + {"500m", 4}, + {"1000m", 5}]}, + {"ProSe-Reason-For-Cancellation", + [{"Proximity-Alert-sent", 0}, + {"Time-expired-with-no-renewal", 1}, + {"Requestor-cancellation", 2}]}, + {"ProSe-Role-Of-UE", + [{"Announcing-UE", 0}, + {"Monitoring-UE", 1}, + {"Requestor-UE", 2}, + {"Requested-UE", 3}]}, + {"Proximity-Alert-Indication", + [{"Alert", 0}, {"No-Alert", 1}]}, + {"PS-Append-Free-Format-Data", + [{"Append", 0}, {"Overwrite", 1}]}, + {"Quota-Indicator", + [{"QUOTA_IS_NOT_USED_DURING_PLAYBACK", 0}, + {"QUOTA_IS_USED_DURING_PLAYBACK", 1}]}, + {"Read-Reply-Report-Requested", + [{"No", 0}, {"Yes", 1}]}, + {"Relationship-Mode", + [{"trusted", 0}, {"non-trusted", 1}]}, + {"Reply-Path-Requested", + [{"No-Reply-Path-Set", 0}, {"Reply-path-Set", 1}]}, + {"Reporting-Reason", + [{"THRESHOLD", 0}, + {"QHT", 1}, + {"FINAL", 2}, + {"QUOTA_EXHAUSTED", 3}, + {"VALIDITY_TIME", 4}, + {"OTHER_QUOTA_TYPE", 5}, + {"RATING_CONDITION_CHANGE", 6}, + {"FORCED_REAUTHORISATION", 7}, + {"POOL_EXHAUSTED", 8}, + {"UNUSED_QUOTA_TIMER", 9}]}, + {"Role-Of-Node", + [{"ORIGINATING_ROLE", 0}, + {"TERMINATING_ROLE", 1}, + {"FORWARDING_ROLE", 2}]}, + {"Role-Of-ProSe-Function", + [{"HPLMN", 0}, {"VPLMN", 1}, {"Local-PLMN", 2}]}, + {"SDP-Type", [{"SDP-Offer", 0}, {"SDP-Answer", 1}]}, + {"Session-Direction", + [{"inbound", 0}, {"outbound", 1}]}, + {"Serving-Node-Type", + [{"SGSN", 0}, + {"PMIPSGW", 1}, + {"GTPSGW", 2}, + {"ePDG", 3}, + {"hSGW", 4}, + {"MME", 5}, + {"TWAN", 6}]}, + {"SGi-PtP-Tunnelling-Method", + [{"UDP_IP_based", 0}, {"Others", 1}]}, + {"SGW-Change", + [{"ACR_Start_NOT_due_to_SGW_Change", 0}, + {"ACR_Start_due_to_SGW_Change", 1}]}, + {"SM-Device-Trigger-Indicator", + [{"Not-DeviceTrigger", 0}, + {"Device-Trigger-request", 1}, + {"Device-Trigger-replace", 2}, + {"Device-Trigger-recall", 3}]}, + {"SM-Message-Type", + [{"SUBMISSION", 0}, + {"DELIVERY_REPORT", 1}, + {"SM-Service-Request", 2}, + {"T4-Device-Trigger", 3}, + {"SM-Device-Trigger", 4}, + {"MO-SMS-T4-submission", 5}]}, + {"SMS-Node", + [{"SMS-Router", 0}, + {"IP-SM-GW", 1}, + {"SMS-Router-and-IP-SM-GW", 2}, + {"SMS-SC", 3}]}, + {"SM-Service-Type", + [{"VAS4SMS-Short-Message-content-processing", 0}, + {"VAS4SMS-Short-Message-forwarding", 1}, + {"VAS4SMS-Short-Message-Forwarding-multiple-sub" + "scriptions", + 2}, + {"VAS4SMS-Short-Message-filtering", 3}, + {"VAS4SMS-Short-Message-receipt", 4}, + {"VAS4SMS-Short-Message-Network-Storage", 5}, + {"VAS4SMS-Short-Message-to-multiple-destinations", 6}, + {"VAS4SMS-Short-Message-Virtual-Private-Network", 7}, + {"VAS4SMS-Short-Message-Auto-Reply", 8}, + {"VAS4SMS-Short-Message-Personal-Signature", 9}, + {"VAS4SMS-Short-Message-Deferred-Delivery", 10}]}, + {"Status-AS-Code", + [{"4xx", 0}, {"5xx", 1}, {"Timeout", 2}]}, + {"Subscriber-Role", + [{"Originating", 0}, {"Terminating", 1}]}, + {"TAD-Identifier", [{"CS", 0}, {"PS", 1}]}, + {"Time-Quota-Type", + [{"DISCRETE_TIME_PERIOD", 0}, + {"CONTINUOUS_TIME_PERIOD", 1}]}, + {"Transcoder-Inserted-Indication", + [{"Transcoder-Not-Inserted", 0}, + {"Transcoder-Inserted", 1}]}, + {"Trigger-Type", + [{"CHANGE_IN_SGSN_IP_ADDRESS", 1}, + {"CHANGE_IN_QOS", 2}, + {"CHANGE_IN_LOCATION", 3}, + {"CHANGE_IN_RAT", 4}, + {"CHANGE_IN_UE_TIMEZONE", 5}, + {"CHANGEINQOS_TRAFFIC_CLASS", 10}, + {"CHANGEINQOS_RELIABILITY_CLASS", 11}, + {"CHANGEINQOS_DELAY_CLASS", 12}, + {"CHANGEINQOS_PEAK_THROUGHPUT", 13}, + {"CHANGEINQOS_PRECEDENCE_CLASS", 14}, + {"CHANGEINQOS_MEAN_THROUGHPUT", 15}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", 16}, + {"CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", 17}, + {"CHANGEINQOS_RESIDUAL_BER", 18}, + {"CHANGEINQOS_SDU_ERROR_RATIO", 19}, + {"CHANGEINQOS_TRANSFER_DELAY", 20}, + {"CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", 21}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", 22}, + {"CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", 23}, + {"CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", 24}, + {"CHANGEINLOCATION_MCC", 30}, + {"CHANGEINLOCATION_MNC", 31}, + {"CHANGEINLOCATION_RAC", 32}, + {"CHANGEINLOCATION_LAC", 33}, + {"CHANGEINLOCATION_CellId", 34}, + {"CHANGEINLOCATION_TAC", 35}, + {"CHANGEINLOCATION_ECGI", 36}, + {"CHANGE_IN_MEDIA_COMPOSITION", 40}, + {"CHANGE_IN_PARTICIPANTS_NMB", 50}, + {"CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB", 51}, + {"CHANGE_IN_USER_PARTICIPATING_TYPE", 52}, + {"CHANGE_IN_SERVICE_CONDITION", 60}, + {"CHANGE_IN_SERVING_NODE", 61}, + {"CHANGE_IN_ACCESS_FOR_A_SERVICE_DATA_FLOW", 62}, + {"CHANGE_IN_USER_CSG_INFORMATION", 70}, + {"CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", + 71}, + {"CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORM" + "ATION", + 72}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", + 73}, + {"CHANGE_IN_APN_RATE_CONTROL", 75}, + {"CHANGE_IN_3GPP_PS_DATA_OFF", 76}]}, + {"UNI-PDU-CP-Only-Flag", + [{"UNI-PDU-both-UP-CP", 0}, {"UNI-PDU-CP-Only", 1}]}, + {"User-Participating-Type", + [{"Normal", 0}, {"NW-PoC-Box", 1}, {"UE-PoC-Box", 2}]}, + {"Variable-Part-Type", + [{"Integer", 0}, + {"Number", 1}, + {"Time", 2}, + {"Date", 3}, + {"Currency", 4}]}]}, + {grouped, + [{"Access-Network-Info-Change", + 4401, + [], + [{'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Change-Time"]]}, + {"Access-Transfer-Information", + 2709, + [], + [["Access-Transfer-Type"], + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + ["Inter-UE-Transfer"], + ["User-Equipment-Info"], + ["Instance-Id"], + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Change-Time"]]}, + {"Accumulated-Cost", + 2052, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Additional-Content-Information", + 1207, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"]]}, + {"Address-Domain", + 898, + [], + [["Domain-Name"], ["3GPP-IMSI-MCC-MNC"]]}, + {"AF-Correlation-Information", + 1276, + [], + [{"AF-Charging-Identifier"}, {'*', ["Flows"]}]}, + {"Announcement-Information", + 3904, + [], + [{"Announcement-Identifier"}, + {'*', ["Variable-Part"]}, + ["Time-Indicator"], + ["Quota-Indicator"], + ["Announcement-Order"], + ["Play-Alternative"], + ["Privacy-Indicator"], + ["Language"]]}, + {"AoC-Cost-Information", + 2053, + [], + [["Accumulated-Cost"], + {'*', ["Incremental-Cost"]}, + ["Currency-Code"]]}, + {"AoC-Information", + 2054, + [], + [["AoC-Cost-Information"], + ["Tariff-Information"], + ["AoC-Subscription-Information"]]}, + {"AoC-Service", + 2311, + [], + [["AoC-Service-Obligatory-Type"], + ["AoC-Service-Type"]]}, + {"AoC-Subscription-Information", + 2314, + [], + [{'*', ["AoC-Service"]}, + ["AoC-Format"], + ["Preferred-AoC-Currency"]]}, + {"APN-Rate-Control", + 3933, + [], + [["APN-Rate-Control-Uplink"], + ["APN-Rate-Control-Downlink"]]}, + {"APN-Rate-Control-Downlink", + 3934, + [], + [["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"], + ["Rate-Control-Max-Message-Size"]]}, + {"APN-Rate-Control-Uplink", + 3935, + [], + [["Additional-Exception-Reports"], + ["Rate-Control-Time-Unit"], + ["Rate-Control-Max-Rate"]]}, + {"Application-Server-Information", + 850, + [], + [["Application-Server"], + {'*', ["Application-Provided-Called-Party-Address"]}, + ["Status-AS-Code"]]}, + {"Basic-Service-Code", + 3411, + [], + [["Bearer-Service"], ["Teleservice"]]}, + {"Called-Identity-Change", + 3917, + [], + [["Called-Identity"], ["Change-Time"]]}, + {"Coverage-Info", + 3459, + [], + [["Coverage-Status"], + ["Change-Time"], + {'*', ["Location-Info"]}]}, + {"CPDT-Information", + 3927, + [], + [["Serving-Node-Identity"], + ["SGW-Change"], + ["NIDD-Submission"]]}, + {"Current-Tariff", + 2056, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"Destination-Interface", + 2002, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Early-Media-Description", + 1272, + [], + [["SDP-TimeStamps"], + {'*', ["SDP-Media-Component"]}, + {'*', ["SDP-Session-Description"]}]}, + {"Enhanced-Diagnostics", + 3901, + [], + [{'*', ["RAN-NAS-Release-Cause"]}]}, + {"Envelope", + 1266, + [], + [{"Envelope-Start-Time"}, + ["Envelope-End-Time"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"]]}, + {"Event-Type", + 823, + [], + [["SIP-Method"], ["Event"], ["Expires"]]}, + {"Incremental-Cost", + 2062, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"IMS-Information", + 876, + [], + [{"Node-Functionality"}, + ["Event-Type"], + ["Role-Of-Node"], + ["User-Session-Id"], + ["Outgoing-Session-Id"], + ["Session-Priority"], + {'*', ["Calling-Party-Address"]}, + ["Called-Party-Address"], + {'*', ["Called-Asserted-Identity"]}, + ["Called-Identity-Change"], + ["Number-Portability-Routing-Information"], + ["Carrier-Select-Routing-Information"], + ["Alternate-Charged-Party-Address"], + {'*', ["Requested-Party-Address"]}, + {'*', ["Associated-URI"]}, + ["Time-Stamps"], + {'*', ["Application-Server-Information"]}, + {'*', ["Inter-Operator-Identifier"]}, + {'*', ["Transit-IOI-List"]}, + ["IMS-Charging-Identifier"], + {'*', ["SDP-Session-Description"]}, + {'*', ["SDP-Media-Component"]}, + ["Served-Party-IP-Address"], + ["Trunk-Group-Id"], + ["Bearer-Service"], + ["Service-Id"], + {'*', ["Service-Specific-Info"]}, + {'*', ["Message-Body"]}, + ["Cause-Code"], + {'*', ["Reason-Header"]}, + {'*', ["Access-Network-Information"]}, + ["Cellular-Network-Information"], + {'*', ["Early-Media-Description"]}, + ["IMS-Communication-Service-Identifier"], + ["IMS-Application-Reference-Identifier"], + ["Online-Charging-Flag"], + ["Real-Time-Tariff-Information"], + ["Account-Expiration"], + ["Initial-IMS-Charging-Identifier"], + {'*', ["NNI-Information"]}, + ["From-Address"], + ["IMS-Emergency-Indicator"], + ["IMS-Visited-Network-Identifier"], + {'*', ["Access-Network-Info-Change"]}, + {'*', ["Access-Transfer-Information"]}, + ["Related-IMS-Charging-Identifier"], + ["Related-IMS-Charging-Identifier-Node"], + ["Route-Header-Received"], + ["Route-Header-Transmitted"], + ["Instance-Id"], + ["TAD-Identifier"], + ["FE-Identifier-List"]]}, + {"Inter-Operator-Identifier", + 838, + [], + [["Originating-IOI"], ["Terminating-IOI"]]}, + {"ISUP-Cause", + 3416, + [], + [["ISUP-Cause-Location"], + ["ISUP-Cause-Value"], + ["ISUP-Cause-Diagnostics"]]}, + {"LCS-Client-ID", + 1232, + [], + [["LCS-Client-Type"], + ["LCS-Client-External-ID"], + ["LCS-Client-Dialed-By-MS"], + ["LCS-Client-Name"], + ["LCS-APN"], + ["LCS-Requestor-ID"]]}, + {"LCS-Client-Name", + 1235, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Name-String"], + ["LCS-Format-Indicator"]]}, + {"LCS-Information", + 878, + [], + [["LCS-Client-ID"], + ["Location-Type"], + ["Location-Estimate"], + ["Positioning-Data"], + ["3GPP-IMSI"], + ["MSISDN"]]}, + {"LCS-Requestor-ID", + 1239, + [], + [["LCS-Data-Coding-Scheme"], + ["LCS-Requestor-ID-String"]]}, + {"Location-Info", + 3460, + [], + [["3GPP-User-Location-Info"], ["Change-Time"]]}, + {"Location-Type", + 1244, + [], + [["Location-Estimate-Type"], + ["Deferred-Location-Event-Type"]]}, + {"MBMS-Information", + 880, + [], + [["TMGI"], + ["MBMS-User-Service-Type"], + ["File-Repair-Supported"], + ["MBMS-2G-3G-Indicator"], + {'*', ["MBMS-Service-Area"]}, + ["MBMS-Session-Identity"], + ["CN-IP-Multicast-Distribution"], + ["MBMS-GW-Address"], + ["MBMS-Charged-Party"], + {'*', ["MSISDN"]}]}, + {"Message-Body", + 889, + [], + [{"Content-Type"}, + {"Content-Length"}, + ["Content-Disposition"], + ["Originator"]]}, + {"Message-Class", + 1213, + [], + [["Class-Identifier"], ["Token-Text"]]}, + {"MM-Content-Type", + 1203, + [], + [["Type-Number"], + ["Additional-Type-Information"], + ["Content-Size"], + {'*', ["Additional-Content-Information"]}]}, + {"MMS-Information", + 877, + [], + [["Originator-Address"], + {'*', ["Recipient-Address"]}, + ["Submission-Time"], + ["MM-Content-Type"], + ["Priority"], + ["Message-ID"], + ["Message-Type"], + ["Message-Size"], + ["Message-Class"], + ["Delivery-Report-Requested"], + ["Read-Reply-Report-Requested"], + ["MMBox-Storage-Requested"], + ["Applic-ID"], + ["Reply-Applic-ID"], + ["Aux-Applic-Info"], + ["Content-Class"], + ["DRM-Content"], + ["Adaptations"]]}, + {"MMTel-Information", + 2030, + [], + [{'*', ["Supplementary-Service"]}]}, + {"Monitoring-Event-Information", + 3921, + [], + [["Monitoring-Event-Functionality"], + ["Event-Timestamp"], + ["Monitoring-Event-Configuration-Activity"], + ["Charged-Party"], + {'*', ["Monitoring-Event-Report-Data"]}]}, + {"Monitoring-Event-Report-Data", + 3920, + [], + [["Event-Timestamp"], + ["Monitoring-Event-Report-Number"], + ["Charged-Party"], + ["Subscription-Id"]]}, + {"Next-Tariff", + 2057, + [], + [["Currency-Code"], + ["Scale-Factor"], + {'*', ["Rate-Element"]}]}, + {"NIDD-Submission", + 3928, + [], + [["Submission-Time"], + ["Event-Timestamp"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"]]}, + {"NNI-Information", + 2703, + [], + [["Session-Direction"], + ["NNI-Type"], + ["Relationship-Mode"], + ["Neighbour-Node-Address"]]}, + {"Offline-Charging", + 1278, + [], + [["Quota-Consumption-Time"], + ["Time-Quota-Mechanism"], + ["Envelope-Reporting"], + {'*', ["Multiple-Services-Credit-Control"]}, + {'*', ["AVP"]}]}, + {"Originator-Address", + 886, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Originator-Interface", + 2009, + [], + [["Interface-Id"], + ["Interface-Text"], + ["Interface-Port"], + ["Interface-Type"]]}, + {"Originator-Received-Address", + 2027, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Participant-Group", + 1260, + [], + [["Called-Party-Address"], + ["Participant-Access-Priority"], + ["User-Participating-Type"]]}, + {"PoC-Information", + 879, + [], + [["PoC-Server-Role"], + ["PoC-Session-Type"], + ["PoC-User-Role"], + ["PoC-Session-Initiation-Type"], + ["PoC-Event-Type"], + ["Number-Of-Participants"], + {'*', ["Participants-Involved"]}, + {'*', ["Participant-Group"]}, + {'*', ["Talk-Burst-Exchange"]}, + ["PoC-Controlling-Address"], + ["PoC-Group-Name"], + ["PoC-Session-Id"], + ["Charged-Party"]]}, + {"PoC-User-Role", + 1252, + [], + [["PoC-User-Role-IDs"], ["PoC-User-Role-Info-Units"]]}, + {"ProSe-Direct-Communication-Reception-Data-Con" + "tainer", + 3461, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Input-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Direct-Communication-Transmission-Data-" + "Container", + 3441, + [], + [["Local-Sequence-Number"], + ["Coverage-Status"], + ["3GPP-User-Location-Info"], + ["Accounting-Output-Octets"], + ["Change-Time"], + ["Change-Condition"], + ["Usage-Information-Report-Sequence-Number"], + ["Radio-Resources-Indicator"], + ["Radio-Frequency"]]}, + {"ProSe-Information", + 3447, + [], + [["Announcing-UE-HPLMN-Identifier"], + ["Announcing-UE-VPLMN-Identifier"], + ["Monitoring-UE-HPLMN-Identifier"], + ["Monitoring-UE-VPLMN-Identifier"], + ["Role-Of-ProSe-Function"], + ["ProSe-3rd-Party-Application-ID"], + ["Application-Specific-Data"], + ["ProSe-Event-Type"], + ["ProSe-Direct-Discovery-Model"], + ["ProSe-Function-IP-Address"], + ["ProSe-Role-Of-UE"], + ["ProSe-Request-Timestamp"], + ["PC3-Control-Protocol-Cause"], + ["Monitoring-UE-Identifier"], + ["Requestor-PLMN-Identifier"], + ["Requested-PLMN-Identifier"], + ["ProSe-Range-Class"], + ["Proximity-Alert-Indication"], + ["Proximity-Alert-Timestamp"], + ["Proximity-Cancellation-Timestamp"], + ["ProSe-Reason-For-Cancellation"], + ["PC3-EPC-Control-Protocol-Cause"], + ["ProSe-UE-ID"], + ["ProSe-Source-IP-Address"], + ["Layer-2-Group-ID"], + ["ProSe-Group-IP-Multicast-Address"], + {'*', ["Coverage-Info"]}, + {'*', ["Radio-Parameter-Set-Info"]}, + {'*', ["Transmitter-Info"]}, + ["Time-First-Transmission"], + ["Time-First-Reception"], + {'*', + ["ProSe-Direct-Communication-Transmission-Data-" + "Container"]}, + {'*', + ["ProSe-Direct-Communication-Reception-Data-Con" + "tainer"]}, + ["Announcing-PLMN-ID"], + ["ProSe-Target-Layer-2-ID"], + ["Relay-IP-address"], + ["ProSe-UE-to-Network-Relay-UE-ID"], + ["Target-IP-Address"], + ["PC5-Radio-Technology"]]}, + {"PS-Furnish-Charging-Information", + 865, + [], + [{"3GPP-Charging-Id"}, + {"PS-Free-Format-Data"}, + ["PS-Append-Free-Format-Data"]]}, + {"PS-Information", + 874, + [], + [["3GPP-Charging-Id"], + ["PDN-Connection-Charging-ID"], + ["Node-Id"], + ["3GPP-PDP-Type"], + {'*', ["PDP-Address"]}, + ["PDP-Address-Prefix-Length"], + ["Dynamic-Address-Flag"], + ["Dynamic-Address-Flag-Extension"], + ["QoS-Information"], + {'*', ["SGSN-Address"]}, + {'*', ["GGSN-Address"]}, + {'*', ["TDF-IP-Address"]}, + {'*', ["SGW-Address"]}, + {'*', ["TWAG-Address"]}, + ["CG-Address"], + ["Serving-Node-Type"], + ["SGW-Change"], + ["3GPP-IMSI-MCC-MNC"], + ["IMSI-Unauthenticated-Flag"], + ["3GPP-GGSN-MCC-MNC"], + ["3GPP-NSAPI"], + ["Called-Station-Id"], + ["3GPP-Session-Stop-Indicator"], + ["3GPP-Selection-Mode"], + ["3GPP-Charging-Characteristics"], + ["Charging-Characteristics-Selection-Mode"], + ["3GPP-SGSN-MCC-MNC"], + ["3GPP-MS-TimeZone"], + ["Charging-Rule-Base-Name"], + ["3GPP-User-Location-Info"], + ["User-Location-Info-Time"], + ["User-CSG-Information"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["TWAN-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-RAT-Type"], + ["PS-Furnish-Charging-Information"], + ["PDP-Context-Type"], + ["Offline-Charging"], + {'*', ["Traffic-Data-Volumes"]}, + {'*', ["Service-Data-Container"]}, + ["User-Equipment-Info"], + ["Start-Time"], + ["Stop-Time"], + ["Change-Condition"], + ["Diagnostics"], + ["Low-Priority-Indicator"], + ["Logical-Access-ID"], + ["Physical-Access-ID"], + ["Fixed-User-Location-Info"], + ["CN-Operator-Selection-Entity"], + ["Enhanced-Diagnostics"], + ["SGi-PtP-Tunnelling-Method"], + ["CP-CIoT-EPS-Optimisation-Indicator"], + ["UNI-PDU-CP-Only-Flag"], + ["APN-Rate-Control"], + ["Charging-Per-IP-CAN-Session-Indicator"], + ["3GPP-PS-Data-Off-Status"], + ["SCS-AS-Address"], + ["Unused-Quota-Timer"], + {'*', ["RAN-Secondary-RAT-Usage-Report"]}, + {'*', ["AVP"]}]}, + {"Radio-Parameter-Set-Info", + 3463, + [], + [["Radio-Parameter-Set-Values"], ["Change-Time"]]}, + {"RAN-Secondary-RAT-Usage-Report", + 1302, + [], + [["Secondary-RAT-Type"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"]]}, + {"Rate-Element", + 2058, + [], + [{"CC-Unit-Type"}, + ["Charge-Reason-Code"], + ["Unit-Value"], + ["Unit-Cost"], + ["Unit-Quota-Threshold"]]}, + {"Real-Time-Tariff-Information", + 2305, + [], + [["Tariff-Information"], ["Tariff-XML"]]}, + {"Recipient-Address", + 1201, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"], + ["Addressee-Type"]]}, + {"Recipient-Info", + 2026, + [], + [["Destination-Interface"], + {'*', ["Recipient-Address"]}, + {'*', ["Recipient-Received-Address"]}, + ["Recipient-SCCP-Address"], + ["SM-Protocol-ID"]]}, + {"Recipient-Received-Address", + 2028, + [], + [["Address-Type"], + ["Address-Data"], + ["Address-Domain"]]}, + {"Related-Change-Condition-Information", + 3925, + [], + [["SGSN-Address"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"]]}, + {"Related-Trigger", + 3926, + [], + [{'*', ["Trigger-Type"]}]}, + {"Remaining-Balance", + 2021, + [], + [{"Unit-Value"}, {"Currency-Code"}]}, + {"Scale-Factor", + 2059, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"SCS-AS-Address", + 3940, + [], + [["SCS-Realm"], ["SCS-Address"]]}, + {"SDP-Media-Component", + 843, + [], + [["SDP-Media-Name"], + {'*', ["SDP-Media-Description"]}, + ["Local-GW-Inserted-Indication"], + ["IP-Realm-Default-Indication"], + ["Transcoder-Inserted-Indication"], + ["Media-Initiator-Flag"], + ["Media-Initiator-Party"], + ["3GPP-Charging-Id"], + ["Access-Network-Charging-Identifier-Value"], + ["SDP-Type"]]}, + {"SDP-TimeStamps", + 1273, + [], + [["SDP-Offer-Timestamp"], ["SDP-Answer-Timestamp"]]}, + {"Service-Data-Container", + 2040, + [], + [["AF-Correlation-Information"], + ["Charging-Rule-Base-Name"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Local-Sequence-Number"], + ["QoS-Information"], + ["Rating-Group"], + ["Change-Time"], + ["Service-Identifier"], + ["Service-Specific-Info"], + ["SGSN-Address"], + ["Time-First-Usage"], + ["Time-Last-Usage"], + ["Time-Usage"], + {'*', ["Change-Condition"]}, + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Presence-Reporting-Area-Information"]}, + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["APN-Rate-Control"], + ["3GPP-PS-Data-Off-Status"]]}, + {"Service-Information", + 873, + [], + [{'*', ["Subscription-Id"]}, + ["AoC-Information"], + ["PS-Information"], + ["IMS-Information"], + ["MMS-Information"], + ["LCS-Information"], + ["PoC-Information"], + ["MBMS-Information"], + ["SMS-Information"], + ["VCS-Information"], + ["MMTel-Information"], + ["ProSe-Information"], + ["CPDT-Information"]]}, + {"Service-Specific-Info", + 1249, + [], + [["Service-Specific-Data"], ["Service-Specific-Type"]]}, + {"SM-Device-Trigger-Information", + 3405, + [], + [["MTC-IWF-Address"], ["Validity-Time"]]}, + {"SMS-Information", + 2000, + [], + [["SMS-Node"], + ["Client-Address"], + ["Originator-SCCP-Address"], + ["SMSC-Address"], + ["Data-Coding-Scheme"], + ["SM-Discharge-Time"], + ["SM-Message-Type"], + ["Originator-Interface"], + ["SM-Protocol-ID"], + ["Reply-Path-Requested"], + ["SM-Status"], + ["SM-User-Data-Header"], + ["Number-Of-Messages-Sent"], + ["SM-Sequence-Number"], + {'*', ["Recipient-Info"]}, + ["Originator-Received-Address"], + ["SM-Service-Type"], + ["SMS-Result"], + ["SM-Device-Trigger-Indicator"], + ["SM-Device-Trigger-Information"], + ["MTC-IWF-Address"]]}, + {"Supplementary-Service", + 2048, + [], + [["MMTel-SService-Type"], + ["Service-Mode"], + ["Number-Of-Diversions"], + ["Associated-Party-Address"], + ["Service-Id"], + ["Change-Time"], + ["Number-Of-Participants"], + ["Participant-Action-Type"], + ["CUG-Information"], + ["AoC-Information"]]}, + {"Talk-Burst-Exchange", + 1255, + [], + [{"PoC-Change-Time"}, + ["Number-Of-Talk-Bursts"], + ["Talk-Burst-Volume"], + ["Talk-Burst-Time"], + ["Number-Of-Received-Talk-Bursts"], + ["Received-Talk-Burst-Volume"], + ["Received-Talk-Burst-Time"], + ["Number-Of-Participants"], + ["PoC-Change-Condition"]]}, + {"Tariff-Information", + 2060, + [], + [{"Current-Tariff"}, + ["Tariff-Time-Change"], + ["Next-Tariff"]]}, + {"Time-Quota-Mechanism", + 1270, + [], + [{"Time-Quota-Type"}, {"Base-Time-Interval"}]}, + {"Time-Stamps", + 833, + [], + [["SIP-Request-Timestamp"], + ["SIP-Response-Timestamp"], + ["SIP-Request-Timestamp-Fraction"], + ["SIP-Response-Timestamp-Fraction"]]}, + {"Traffic-Data-Volumes", + 2046, + [], + [["QoS-Information"], + ["Accounting-Input-Octets"], + ["Accounting-Output-Octets"], + ["Change-Condition"], + ["Change-Time"], + ["3GPP-User-Location-Info"], + ["UWAN-User-Location-Info"], + ["3GPP-Charging-Id"], + ["Presence-Reporting-Area-Status"], + ["User-CSG-Information"], + ["3GPP-RAT-Type"], + ["Related-Change-Condition-Information"], + ["Diagnostics"], + ["Enhanced-Diagnostics"], + ["CP-CIoT-EPS-Optimisation-Indicator"]]}, + {"Transmitter-Info", + 3468, + [], + [["ProSe-Source-IP-Address"], ["ProSe-UE-ID"]]}, + {"Trigger", 1264, [], [{'*', ["Trigger-Type"]}]}, + {"Trunk-Group-Id", + 851, + [], + [["Incoming-Trunk-Group-Id"], + ["Outgoing-Trunk-Group-Id"]]}, + {"TWAN-User-Location-Info", 2714, [], [["BSSID"]]}, + {"Unit-Cost", + 2061, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"User-CSG-Information", + 2319, + [], + [{"CSG-Access-Mode"}, ["CSG-Membership-Indication"]]}, + {"UWAN-User-Location-Info", + 3918, + [], + [{"UE-Local-IP-Address"}, + ["UDP-Source-Port"], + ["BSSID"]]}, + {"Variable-Part", + 3907, + [], + [{"Variable-Part-Type"}, + {"Variable-Part-Value"}, + ["Variable-Part-Order"]]}, + {"VCS-Information", + 3410, + [], + [["Bearer-Capability"], + ["Network-Call-Reference-Number"], + ["MSC-Address"], + ["Basic-Service-Code"], + ["ISUP-Location-Number"], + ["VLR-Number"], + ["Forwarding-Pending"], + ["ISUP-Cause"], + ["Start-Time"], + ["Start-of-Charging"], + ["Stop-Time"], + ["PS-Free-Format-Data"]]}]}, + {id, 0}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_gen_acct_rfc6733, []}, + {diameter_rfc7155_nasreq, + [{"Accounting-Auth-Method", 406, "Enumerated", "M"}, + {"Accounting-Input-Octets", 363, "Unsigned64", "M"}, + {"Accounting-Input-Packets", 365, "Unsigned64", "M"}, + {"Accounting-Output-Octets", 364, "Unsigned64", "M"}, + {"Accounting-Output-Packets", 366, "Unsigned64", "M"}, + {"Acct-Authentic", 45, "Enumerated", "M"}, + {"Acct-Delay-Time", 41, "Unsigned32", "M"}, + {"Acct-Link-Count", 51, "Unsigned32", "M"}, + {"Acct-Session-Time", 46, "Unsigned32", "M"}, + {"Acct-Tunnel-Connection", 68, "OctetString", "M"}, + {"Acct-Tunnel-Packets-Lost", 86, "Unsigned32", "M"}, + {"Callback-Id", 20, "UTF8String", "M"}, + {"Callback-Number", 19, "UTF8String", "M"}, + {"Called-Station-Id", 30, "UTF8String", "M"}, + {"Calling-Station-Id", 31, "UTF8String", "M"}, + {"Connect-Info", 77, "UTF8String", "M"}, + {"Filter-Id", 11, "UTF8String", "M"}, + {"Idle-Timeout", 28, "Unsigned32", "M"}, + {"Login-IP-Host", 14, "OctetString", "M"}, + {"Login-IPv6-Host", 98, "OctetString", "M"}, + {"Login-LAT-Group", 36, "OctetString", "M"}, + {"Login-LAT-Node", 35, "OctetString", "M"}, + {"Login-LAT-Port", 63, "OctetString", "M"}, + {"Login-LAT-Service", 34, "OctetString", "M"}, + {"Login-Service", 15, "Enumerated", "M"}, + {"Login-TCP-Port", 16, "Unsigned32", "M"}, + {"NAS-Filter-Rule", 400, "IPFilterRule", "M"}, + {"NAS-IP-Address", 4, "OctetString", "M"}, + {"NAS-IPv6-Address", 95, "OctetString", "M"}, + {"NAS-Identifier", 32, "UTF8String", "M"}, + {"NAS-Port", 5, "Unsigned32", "M"}, + {"NAS-Port-Id", 87, "UTF8String", "M"}, + {"NAS-Port-Type", 61, "Enumerated", "M"}, + {"Origin-AAA-Protocol", 408, "Enumerated", "M"}, + {"Originating-Line-Info", 94, "OctetString", "M"}, + {"Port-Limit", 62, "Unsigned32", "M"}, + {"QoS-Filter-Rule", 407, "QoSFilterRule", "M"}, + {"Service-Type", 6, "Enumerated", "M"}, + {"Tunnel-Assignment-Id", 82, "OctetString", "M"}, + {"Tunnel-Client-Auth-Id", 90, "UTF8String", "M"}, + {"Tunnel-Client-Endpoint", 66, "UTF8String", "M"}, + {"Tunnel-Medium-Type", 65, "Enumerated", "M"}, + {"Tunnel-Password", 69, "OctetString", "M"}, + {"Tunnel-Preference", 83, "Unsigned32", "M"}, + {"Tunnel-Private-Group-Id", 81, "OctetString", "M"}, + {"Tunnel-Server-Auth-Id", 91, "UTF8String", "M"}, + {"Tunnel-Server-Endpoint", 67, "UTF8String", "M"}, + {"Tunnel-Type", 64, "Enumerated", "M"}, + {"Tunneling", 401, "Grouped", "M"}]}, + {diameter_rfc4006_cc, + [{"CC-Correlation-Id", 411, "OctetString", []}, + {"CC-Input-Octets", 412, "Unsigned64", "M"}, + {"CC-Money", 413, "Grouped", "M"}, + {"CC-Output-Octets", 414, "Unsigned64", "M"}, + {"CC-Request-Number", 415, "Unsigned32", "M"}, + {"CC-Request-Type", 416, "Enumerated", "M"}, + {"CC-Service-Specific-Units", 417, "Unsigned64", "M"}, + {"CC-Session-Failover", 418, "Enumerated", "M"}, + {"CC-Sub-Session-Id", 419, "Unsigned64", "M"}, + {"CC-Time", 420, "Unsigned32", "M"}, + {"CC-Total-Octets", 421, "Unsigned64", "M"}, + {"CC-Unit-Type", 454, "Enumerated", "M"}, + {"Check-Balance-Result", 422, "Enumerated", "M"}, + {"Cost-Information", 423, "Grouped", "M"}, + {"Cost-Unit", 424, "UTF8String", "M"}, + {"Credit-Control", 426, "Enumerated", "M"}, + {"Credit-Control-Failure-Handling", + 427, + "Enumerated", + "M"}, + {"Currency-Code", 425, "Unsigned32", "M"}, + {"Direct-Debiting-Failure-Handling", + 428, + "Enumerated", + "M"}, + {"Exponent", 429, "Integer32", "M"}, + {"Final-Unit-Action", 449, "Enumerated", "M"}, + {"Final-Unit-Indication", 430, "Grouped", "M"}, + {"G-S-U-Pool-Identifier", 453, "Unsigned32", "M"}, + {"G-S-U-Pool-Reference", 457, "Grouped", "M"}, + {"Granted-Service-Unit", 431, "Grouped", "M"}, + {"Multiple-Services-Credit-Control", + 456, + "Grouped", + "M"}, + {"Multiple-Services-Indicator", 455, "Enumerated", "M"}, + {"Rating-Group", 432, "Unsigned32", "M"}, + {"Redirect-Address-Type", 433, "Enumerated", "M"}, + {"Redirect-Server", 434, "Grouped", "M"}, + {"Redirect-Server-Address", 435, "UTF8String", "M"}, + {"Requested-Action", 436, "Enumerated", "M"}, + {"Requested-Service-Unit", 437, "Grouped", "M"}, + {"Restriction-Filter-Rule", 438, "IPFilterRule", "M"}, + {"Service-Context-Id", 461, "UTF8String", "M"}, + {"Service-Identifier", 439, "Unsigned32", "M"}, + {"Service-Parameter-Info", 440, "Grouped", []}, + {"Service-Parameter-Type", 441, "Unsigned32", []}, + {"Service-Parameter-Value", 442, "OctetString", []}, + {"Subscription-Id", 443, "Grouped", "M"}, + {"Subscription-Id-Data", 444, "UTF8String", "M"}, + {"Subscription-Id-Type", 450, "Enumerated", "M"}, + {"Tariff-Change-Usage", 452, "Enumerated", "M"}, + {"Tariff-Time-Change", 451, "Time", "M"}, + {"Unit-Value", 445, "Grouped", "M"}, + {"Used-Service-Unit", 446, "Grouped", "M"}, + {"User-Equipment-Info", 458, "Grouped", []}, + {"User-Equipment-Info-Type", 459, "Enumerated", []}, + {"User-Equipment-Info-Value", 460, "OctetString", []}, + {"Validity-Time", 448, "Unsigned32", "M"}, + {"Value-Digits", 447, "Integer64", "M"}]}, + {diameter_etsi_es283_034, + [{"Address-Realm", 301, "OctetString", "MV"}, + {"Aggregation-Network-Type", 307, "Enumerated", "V"}, + {"Application-Class-ID", 312, "UTF8String", "V"}, + {"IP-Connectivity-Status", 305, "Enumerated", "V"}, + {"Initial-Gate-Setting-ID", 314, "Unsigned32", "V"}, + {"Logical-Access-ID", 302, "OctetString", "V"}, + {"Maximum-Allowed-Bandwidth-DL", + 309, + "Unsigned32", + "V"}, + {"Maximum-Allowed-Bandwidth-UL", + 308, + "Unsigned32", + "V"}, + {"Physical-Access-ID", 313, "UTF8String", "V"}, + {"QoS-Profile-ID", 315, "Unsigned32", "V"}, + {"Transport-Class", 311, "Unsigned32", "V"}]}, + {diameter_3gpp_base, + [{"3GPP-Allocate-IP-Type", 27, "OctetString", "V"}, + {"3GPP-CAMEL-Charging-Info", 24, "OctetString", "V"}, + {"3GPP-CG-Address", 4, "OctetString", "V"}, + {"3GPP-CG-IPv6-Address", 14, "OctetString", "V"}, + {"3GPP-Charging-Characteristics", + 13, + "UTF8String", + "V"}, + {"3GPP-Charging-Id", 2, "OctetString", "V"}, + {"3GPP-GGSN-Address", 7, "OctetString", "V"}, + {"3GPP-GGSN-IPv6-Address", 16, "OctetString", "V"}, + {"3GPP-GGSN-MCC-MNC", 9, "UTF8String", "V"}, + {"3GPP-GPRS-Negotiated-QoS-Profile", + 5, + "UTF8String", + "V"}, + {"3GPP-IMEISV", 20, "OctetString", "V"}, + {"3GPP-IMSI", 1, "UTF8String", "V"}, + {"3GPP-IMSI-MCC-MNC", 8, "UTF8String", "V"}, + {"3GPP-IPv6-DNS-Servers", 17, "OctetString", "V"}, + {"3GPP-MS-TimeZone", 23, "OctetString", "V"}, + {"3GPP-NSAPI", 10, "OctetString", "V"}, + {"3GPP-Negotiated-DSCP", 26, "OctetString", "V"}, + {"3GPP-PDP-Type", 3, "Enumerated", "V"}, + {"3GPP-Packet-Filter", 25, "OctetString", "V"}, + {"3GPP-RAT-Type", 21, "OctetString", "V"}, + {"3GPP-SGSN-Address", 6, "OctetString", "V"}, + {"3GPP-SGSN-IPv6-Address", 15, "OctetString", "V"}, + {"3GPP-SGSN-MCC-MNC", 18, "UTF8String", "V"}, + {"3GPP-Selection-Mode", 12, "UTF8String", "V"}, + {"3GPP-Session-Stop-Indicator", 11, "OctetString", "V"}, + {"3GPP-User-Location-Info", 22, "OctetString", "V"}, + {"3GPP-User-Location-Info-Time", + 30, + "OctetString", + "V"}, + {"TWAN-Identifier", 29, "OctetString", "V"}]}, + {diameter_3gpp_ts29_061_gmb, + [{"Additional-MBMS-Trace-Info", + 910, + "OctetString", + "MV"}, + {"Alternative-APN", 905, "UTF8String", "MV"}, + {"CN-IP-Multicast-Distribution", + 921, + "Enumerated", + "MV"}, + {"MBMS-2G-3G-Indicator", 907, "Enumerated", "M"}, + {"MBMS-BMSC-SSM-IP-Address", 918, "OctetString", "MV"}, + {"MBMS-BMSC-SSM-IPv6-Address", + 919, + "OctetString", + "MV"}, + {"MBMS-Counting-Information", 914, "Enumerated", "MV"}, + {"MBMS-Flow-Identifier", 920, "OctetString", "MV"}, + {"MBMS-GGSN-Address", 916, "OctetString", "MV"}, + {"MBMS-GGSN-IPv6-Address", 917, "OctetString", "MV"}, + {"MBMS-HC-Indicator", 922, "Enumerated", "MV"}, + {"MBMS-Required-QoS", 913, "UTF8String", "MV"}, + {"MBMS-Service-Area", 903, "OctetString", "MV"}, + {"MBMS-Service-Type", 906, "Enumerated", "MV"}, + {"MBMS-Session-Duration", 904, "OctetString", "MV"}, + {"MBMS-Session-Identity", 908, "OctetString", "MV"}, + {"MBMS-Session-Repetition-Number", + 912, + "OctetString", + "MV"}, + {"MBMS-StartStop-Indication", 902, "Enumerated", "MV"}, + {"MBMS-Time-To-Data-Transfer", + 911, + "OctetString", + "MV"}, + {"MBMS-User-Data-Mode-Indication", + 915, + "Enumerated", + "MV"}, + {"RAI", 909, "UTF8String", "M"}, + {"Required-MBMS-Bearer-Capabilities", + 901, + "UTF8String", + "MV"}, + {"TMGI", 900, "OctetString", "MV"}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Address", 1050, "Address", "V"}, + {"AN-GW-Status", 2811, "Enumerated", "V"}, + {"APN-Aggregate-Max-Bitrate-DL", + 1040, + "Unsigned32", + "V"}, + {"APN-Aggregate-Max-Bitrate-UL", + 1041, + "Unsigned32", + "V"}, + {"Access-Network-Charging-Identifier-Gx", + 1022, + "Grouped", + "MV"}, + {"Allocation-Retention-Priority", 1034, "Grouped", "V"}, + {"Application-Detection-Information", + 1098, + "Grouped", + "V"}, + {"Bearer-Control-Mode", 1023, "Enumerated", "MV"}, + {"Bearer-Identifier", 1020, "OctetString", "MV"}, + {"Bearer-Operation", 1021, "Enumerated", "MV"}, + {"Bearer-Usage", 1000, "Enumerated", "MV"}, + {"CSG-Information-Reporting", 1071, "Enumerated", "V"}, + {"Charging-Correlation-Indicator", + 1073, + "Enumerated", + "V"}, + {"Charging-Rule-Base-Name", 1004, "UTF8String", "MV"}, + {"Charging-Rule-Definition", 1003, "Grouped", "MV"}, + {"Charging-Rule-Install", 1001, "Grouped", "MV"}, + {"Charging-Rule-Name", 1005, "OctetString", "MV"}, + {"Charging-Rule-Remove", 1002, "Grouped", "MV"}, + {"Charging-Rule-Report", 1018, "Grouped", "MV"}, + {"CoA-IP-Address", 1035, "Address", "V"}, + {"CoA-Information", 1039, "Grouped", "V"}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + "Grouped", + "V"}, + {"Credit-Management-Status", 1082, "Unsigned32", "V"}, + {"Default-EPS-Bearer-QoS", 1049, "Grouped", "V"}, + {"Default-QoS-Information", 2816, "Grouped", "V"}, + {"Default-QoS-Name", 2817, "UTF8String", "V"}, + {"Event-Report-Indication", 1033, "Grouped", "V"}, + {"Event-Trigger", 1006, "Enumerated", "MV"}, + {"Fixed-User-Location-Info", 2825, "Grouped", "V"}, + {"Flow-Direction", 1080, "Enumerated", "V"}, + {"Flow-Information", 1058, "Grouped", "V"}, + {"Flow-Label", 1057, "OctetString", "V"}, + {"Guaranteed-Bitrate-DL", 1025, "Unsigned32", "MV"}, + {"Guaranteed-Bitrate-UL", 1026, "Unsigned32", "MV"}, + {"HeNB-Local-IP-Address", 2804, "Address", "V"}, + {"IP-CAN-Session-Charging-Scope", + 2827, + "Enumerated", + "V"}, + {"IP-CAN-Type", 1027, "Enumerated", "MV"}, + {"Metering-Method", 1007, "Enumerated", "MV"}, + {"Monitoring-Key", 1066, "OctetString", "V"}, + {"Monitoring-Time", 2810, "Time", "V"}, + {"Mute-Notification", 2809, "Enumerated", "V"}, + {"NetLoc-Access-Support", 2824, "Unsigned32", "V"}, + {"Network-Request-Support", 1024, "Enumerated", "MV"}, + {"Offline", 1008, "Enumerated", "MV"}, + {"Online", 1009, "Enumerated", "MV"}, + {"PCC-Rule-Status", 1019, "Enumerated", "MV"}, + {"PCSCF-Restoration-Indication", + 2826, + "Unsigned32", + "V"}, + {"PDN-Connection-ID", 1065, "OctetString", "V"}, + {"PS-to-CS-Session-Continuity", + 1099, + "Enumerated", + "V"}, + {"Packet-Filter-Content", 1059, "IPFilterRule", "V"}, + {"Packet-Filter-Identifier", 1060, "OctetString", "V"}, + {"Packet-Filter-Information", 1061, "Grouped", "V"}, + {"Packet-Filter-Operation", 1062, "Enumerated", "V"}, + {"Packet-Filter-Usage", 1072, "Enumerated", "V"}, + {"Pre-emption-Capability", 1047, "Enumerated", "V"}, + {"Pre-emption-Vulnerability", 1048, "Enumerated", "V"}, + {"Precedence", 1010, "Unsigned32", "MV"}, + {"Presence-Reporting-Area-Elements-List", + 2820, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Identifier", + 2821, + "OctetString", + "V"}, + {"Presence-Reporting-Area-Information", + 2822, + "Grouped", + "V"}, + {"Presence-Reporting-Area-Status", + 2823, + "Unsigned32", + "V"}, + {"Priority-Level", 1046, "Unsigned32", "V"}, + {"QoS-Class-Identifier", 1028, "Enumerated", "MV"}, + {"QoS-Information", 1016, "Grouped", "MV"}, + {"QoS-Negotiation", 1029, "Enumerated", "MV"}, + {"QoS-Upgrade", 1030, "Enumerated", "MV"}, + {"RAN-NAS-Release-Cause", 2819, "OctetString", "V"}, + {"RAT-Type", 1032, "Enumerated", "V"}, + {"Redirect-Information", 1085, "Grouped", "V"}, + {"Redirect-Support", 1086, "Enumerated", "V"}, + {"Reporting-Level", 1011, "Enumerated", "MV"}, + {"Resource-Allocation-Notification", + 1063, + "Enumerated", + "V"}, + {"Revalidation-Time", 1042, "Time", "MV"}, + {"Routing-Filter", 1078, "Grouped", "V"}, + {"Routing-IP-Address", 1079, "Address", "V"}, + {"Routing-Rule-Definition", 1076, "Grouped", "V"}, + {"Routing-Rule-Identifier", 1077, "OctetString", "V"}, + {"Routing-Rule-Install", 1081, "Grouped", "V"}, + {"Routing-Rule-Remove", 1075, "Grouped", "V"}, + {"Rule-Activation-Time", 1043, "Time", "MV"}, + {"Rule-Deactivation-Time", 1044, "Time", "MV"}, + {"Rule-Failure-Code", 1031, "Enumerated", "MV"}, + {"Security-Parameter-Index", 1056, "OctetString", "V"}, + {"Session-Release-Cause", 1045, "Enumerated", "MV"}, + {"TDF-Application-Identifier", + 1088, + "OctetString", + "V"}, + {"TDF-Application-Instance-Identifier", + 2802, + "OctetString", + "V"}, + {"TDF-Destination-Host", 1089, "DiameterIdentity", "V"}, + {"TDF-Destination-Realm", + 1090, + "DiameterIdentity", + "V"}, + {"TDF-IP-Address", 1091, "Address", "V"}, + {"TDF-Information", 1087, "Grouped", "V"}, + {"TFT-Filter", 1012, "IPFilterRule", "MV"}, + {"TFT-Packet-Filter-Information", + 1013, + "Grouped", + "MV"}, + {"ToS-Traffic-Class", 1014, "OctetString", "MV"}, + {"Tunnel-Header-Filter", 1036, "IPFilterRule", "V"}, + {"Tunnel-Header-Length", 1037, "Unsigned32", "V"}, + {"Tunnel-Information", 1038, "Grouped", "V"}, + {"UDP-Source-Port", 2806, "Unsigned32", "V"}, + {"UE-Local-IP-Address", 2805, "Address", "V"}, + {"Usage-Monitoring-Information", 1067, "Grouped", "V"}, + {"Usage-Monitoring-Level", 1068, "Enumerated", "V"}, + {"Usage-Monitoring-Report", 1069, "Enumerated", "V"}, + {"Usage-Monitoring-Support", 1070, "Enumerated", "V"}, + {"User-Location-Info-Time", 2812, "Time", "V"}]}, + {diameter_3gpp_ts29_214, + [{"AF-Application-Identifier", + 504, + "OctetString", + "MV"}, + {"AF-Charging-Identifier", 505, "OctetString", "MV"}, + {"AF-Signalling-Protocol", 529, "Enumerated", "V"}, + {"Abort-Cause", 500, "Enumerated", "MV"}, + {"Access-Network-Charging-Address", + 501, + "Address", + "MV"}, + {"Access-Network-Charging-Identifier-Value", + 503, + "OctetString", + "MV"}, + {"Application-Service-Provider-Identity", + 532, + "UTF8String", + "V"}, + {"Codec-Data", 524, "OctetString", "MV"}, + {"Flow-Description", 507, "IPFilterRule", "MV"}, + {"Flow-Number", 509, "Unsigned32", "MV"}, + {"Flow-Status", 511, "Enumerated", "MV"}, + {"Flow-Usage", 512, "Enumerated", "MV"}, + {"Flows", 510, "Grouped", "MV"}, + {"GCS-Identifier", 538, "OctetString", "V"}, + {"IP-Domain-Id", 537, "OctetString", "V"}, + {"MPS-Identifier", 528, "OctetString", "V"}, + {"Max-Requested-Bandwidth-DL", 515, "Unsigned32", "MV"}, + {"Max-Requested-Bandwidth-UL", 516, "Unsigned32", "MV"}, + {"Media-Component-Number", 518, "Unsigned32", "MV"}, + {"Media-Type", 520, "Enumerated", "MV"}, + {"Min-Requested-Bandwidth-DL", 534, "Unsigned32", "V"}, + {"Min-Requested-Bandwidth-UL", 535, "Unsigned32", "V"}, + {"RR-Bandwidth", 521, "Unsigned32", "MV"}, + {"RS-Bandwidth", 522, "Unsigned32", "MV"}, + {"Required-Access-Info", 536, "Enumerated", "V"}, + {"Rx-Request-Type", 533, "Enumerated", "V"}, + {"SIP-Forking-Indication", 523, "Enumerated", "MV"}, + {"Service-Info-Status", 527, "Enumerated", "MV"}, + {"Service-URN", 525, "OctetString", "MV"}, + {"Specific-Action", 513, "Enumerated", "MV"}, + {"Sponsor-Identity", 531, "UTF8String", "V"}]}, + {diameter_3gpp_ts29_329, + [{"Current-Location", 707, "Enumerated", "MV"}, + {"DSAI-Tag", 711, "OctetString", "MV"}, + {"Data-Reference", 703, "Enumerated", "MV"}, + {"Expiry-Time", 709, "Time", "V"}, + {"Identity-Set", 708, "Enumerated", "V"}, + {"MSISDN", 701, "OctetString", "MV"}, + {"One-Time-Notification", 712, "Enumerated", "V"}, + {"Requested-Domain", 706, "Enumerated", "MV"}, + {"Requested-Nodes", 713, "Unsigned32", "V"}, + {"Send-Data-Indication", 710, "Enumerated", "V"}, + {"Sequence-Number", 716, "Unsigned32", "V"}, + {"Service-Indication", 704, "OctetString", "MV"}, + {"Serving-Node-Indication", 714, "Enumerated", "V"}, + {"Subs-Req-Type", 705, "Enumerated", "MV"}]}, + {diameter_3gpp_ts29_229, + [{"Call-ID-SIP-Header", 643, "OctetString", "V"}, + {"Charging-Information", 618, "Grouped", "MV"}, + {"Confidentiality-Key", 625, "OctetString", "MV"}, + {"Contact", 641, "OctetString", "V"}, + {"Deregistration-Reason", 615, "Grouped", "MV"}, + {"Digest-Algorithm", 111, "UTF8String", "M"}, + {"Digest-HA1", 121, "UTF8String", "M"}, + {"Digest-QoP", 110, "UTF8String", "M"}, + {"Digest-Realm", 104, "UTF8String", "M"}, + {"Feature-List", 630, "Unsigned32", "V"}, + {"Feature-List-ID", 629, "Unsigned32", "V"}, + {"From-SIP-Header", 644, "OctetString", "V"}, + {"Initial-CSeq-Sequence-Number", + 654, + "Unsigned32", + "V"}, + {"Integrity-Key", 626, "OctetString", "MV"}, + {"LIA-Flags", 653, "Unsigned32", "V"}, + {"Loose-Route-Indication", 638, "Enumerated", "V"}, + {"Mandatory-Capability", 604, "Unsigned32", "MV"}, + {"Multiple-Registration-Indication", + 648, + "Enumerated", + "V"}, + {"Optional-Capability", 605, "Unsigned32", "MV"}, + {"Originating-Request", 633, "Enumerated", "MV"}, + {"Path", 640, "OctetString", "V"}, + {"Primary-Charging-Collection-Function-Name", + 621, + "DiameterURI", + "MV"}, + {"Primary-Event-Charging-Function-Name", + 619, + "DiameterURI", + "MV"}, + {"Priviledged-Sender-Indication", + 652, + "Enumerated", + "V"}, + {"Public-Identity", 601, "UTF8String", "MV"}, + {"Reason-Code", 616, "Enumerated", "MV"}, + {"Reason-Info", 617, "UTF8String", "MV"}, + {"Record-Route", 646, "OctetString", "V"}, + {"SAR-Flags", 655, "Unsigned32", "V"}, + {"SIP-Auth-Data-Item", 612, "Grouped", "MV"}, + {"SIP-Authenticate", 609, "OctetString", "MV"}, + {"SIP-Authentication-Context", + 611, + "OctetString", + "MV"}, + {"SIP-Authentication-Scheme", 608, "UTF8String", "MV"}, + {"SIP-Authorization", 610, "OctetString", "MV"}, + {"SIP-Digest-Authenticate", 635, "Grouped", "V"}, + {"SIP-Item-Number", 613, "Unsigned32", "MV"}, + {"SIP-Number-Auth-Items", 607, "Unsigned32", "MV"}, + {"Secondary-Charging-Collection-Function-Name", + 622, + "DiameterURI", + "MV"}, + {"Secondary-Event-Charging-Function-Name", + 620, + "DiameterURI", + "MV"}, + {"Server-Assignment-Type", 614, "Enumerated", "MV"}, + {"Server-Name", 602, "UTF8String", "MV"}, + {"Session-Priority", 650, "Enumerated", "V"}, + {"Supported-Applications", 631, "Grouped", "V"}, + {"Supported-Features", 628, "Grouped", "V"}, + {"To-SIP-Header", 645, "OctetString", "V"}, + {"UAR-Flags", 637, "Unsigned32", "V"}, + {"User-Authorization-Type", 623, "Enumerated", "MV"}, + {"User-Data", 606, "OctetString", "MV"}, + {"User-Data-Already-Available", + 624, + "Enumerated", + "MV"}, + {"Visited-Network-Identifier", + 600, + "OctetString", + "MV"}, + {"Wildcarded-Public-Identity", + 634, + "UTF8String", + "V"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_rfc7155_nasreq, + [{"Service-Type", + [{"UNKNOWN", 0}, + {"LOGIN", 1}, + {"FRAMED", 2}, + {"CALLBACK_LOGIN", 3}, + {"CALLBACK_FRAMED", 4}, + {"OUTBOUND", 5}, + {"ADMINISTRATIVE", 6}, + {"NAS_PROMPT", 7}, + {"AUTHENTICATE_ONLY", 8}, + {"CALLBACK_NAS_PROMPT", 9}, + {"CALL_CHECK", 10}, + {"CALLBACK_ADMINISTRATIVE", 11}, + {"VOICE", 12}, + {"FAX", 13}, + {"MODEM_RELAY", 14}, + {"IAPP_REGISTER", 15}, + {"IAPP_AP_CHECK", 16}, + {"AUTHORIZE_ONLY", 17}, + {"FRAMED_MANAGEMENT", 18}]}, + {"Login-Service", + [{"TELNET", 0}, + {"RLOGIN", 1}, + {"TCP_CLEAR", 2}, + {"PORTMASTER", 3}, + {"LAT", 4}, + {"X25_PAD", 5}, + {"X25_T3POS", 6}, + {"UNASSIGNED", 7}]}, + {"Acct-Authentic", + [{"NONE", 0}, + {"RADIUS", 1}, + {"LOCAL", 2}, + {"REMOTE", 3}, + {"DIAMETER", 4}]}, + {"NAS-Port-Type", + [{"ASYNC", 0}, + {"SYNC", 1}, + {"ISDN_SYNC", 2}, + {"ISDN_ASYNC_V120", 3}, + {"ISDN_ASYNC_V110", 4}, + {"VIRTUAL", 5}, + {"PIAFS", 6}, + {"HDLC_CLEAR_CHANNEL", 7}, + {"X25", 8}, + {"X75", 9}, + {"G_3_FAX", 10}, + {"SDSL_SYMMETRIC_DSL", 11}, + {"IDSL_ISDN_DIGITAL_SUBSCRIBER_LINE", 14}, + {"ETHERNET", 15}, + {"XDSL_DIGITAL_SUBSCRIBER_LINE_OF_UNKNOWN_TYPE", 16}, + {"CABLE", 17}, + {"WIRELESS_OTHER", 18}, + {"WIRELESS_IEEE_802_11", 19}, + {"TOKEN_RING", 20}, + {"FDDI", 21}, + {"WIRELESS_CDMA2000", 22}, + {"WIRELESS_UMTS", 23}, + {"WIRELESS_1X_EV", 24}, + {"IAPP", 25}, + {"FTTP_FIBER_TO_THE_PREMISES", 26}, + {"WIRELESS_IEEE_802_16", 27}, + {"WIRELESS_IEEE_802_20", 28}, + {"WIRELESS_IEEE_802_22", 29}, + {"PPPOA_PPP_OVER_ATM", 30}, + {"PPPOEOA_PPP_OVER_ETHERNET_OVER_ATM", 31}, + {"PPPOEOE_PPP_OVER_ETHERNET_OVER_ETHERNET", 32}, + {"PPPOEOVLAN_PPP_OVER_ETHERNET_OVER_VLAN", 33}, + {"PPPOEOQINQ_PPP_OVER_ETHERNET_OVER_IEEE_802_1QINQ", + 34}, + {"XPON_PASSIVE_OPTICAL_NETWORK", 35}, + {"WIRELESS_XGP", 36}]}, + {"Tunnel-Type", + [{"PPTP", 1}, + {"L2F", 2}, + {"L2TP", 3}, + {"ATMP", 4}, + {"VTP", 5}, + {"AH", 6}, + {"IP_IP_ENCAP", 7}, + {"MIN_IP_IP", 8}, + {"ESP", 9}, + {"GRE", 10}, + {"DVS", 11}, + {"IP_IN_IP_TUNNELING", 12}, + {"VLAN", 13}]}, + {"Tunnel-Medium-Type", + [{"IPV4", 1}, + {"IPV6", 2}, + {"NSAP", 3}, + {"HDLC", 4}, + {"BBN", 5}, + {"IEEE_802", 6}, + {"E_163", 7}, + {"E_164", 8}, + {"F_69", 9}, + {"X_121", 10}, + {"IPX", 11}, + {"APPLETALK_802", 12}, + {"DECNET4", 13}, + {"VINES", 14}, + {"E_164_NSAP", 15}]}, + {"Accounting-Auth-Method", + [{"PAP", 1}, + {"CHAP", 2}, + {"MS_CHAP_1", 3}, + {"MS_CHAP_2", 4}, + {"EAP", 5}, + {"UNDEFINED", 6}, + {"NONE", 7}]}, + {"Origin-AAA-Protocol", [{"RADIUS", 1}]}]}, + {diameter_rfc4006_cc, + [{"CC-Request-Type", + [{"INITIAL_REQUEST", 1}, + {"UPDATE_REQUEST", 2}, + {"TERMINATION_REQUEST", 3}, + {"EVENT_REQUEST", 4}]}, + {"CC-Session-Failover", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Check-Balance-Result", + [{"ENOUGH_CREDIT", 0}, {"NO_CREDIT", 1}]}, + {"Credit-Control", + [{"AUTHORIZATION", 0}, {"RE_AUTHORIZATION", 1}]}, + {"Credit-Control-Failure-Handling", + [{"TERMINATE", 0}, + {"CONTINUE", 1}, + {"RETRY_AND_TERMINATE", 2}]}, + {"Direct-Debiting-Failure-Handling", + [{"TERMINATE_OR_BUFFER", 0}, {"CONTINUE", 1}]}, + {"Tariff-Change-Usage", + [{"UNIT_BEFORE_TARIFF_CHANGE", 0}, + {"UNIT_AFTER_TARIFF_CHANGE", 1}, + {"UNIT_INDETERMINATE", 2}]}, + {"CC-Unit-Type", + [{"TIME", 0}, + {"MONEY", 1}, + {"TOTAL-OCTETS", 2}, + {"INPUT-OCTETS", 3}, + {"OUTPUT-OCTETS", 4}, + {"SERVICE-SPECIFIC-UNITS", 5}]}, + {"Final-Unit-Action", + [{"TERMINATE", 0}, + {"REDIRECT", 1}, + {"RESTRICT_ACCESS", 2}]}, + {"Redirect-Address-Type", + [{"IPV4", 0}, {"IPV6", 1}, {"URL", 2}, {"SIP_URI", 3}]}, + {"Multiple-Services-Indicator", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Requested-Action", + [{"DIRECT_DEBITING", 0}, + {"REFUND_ACCOUNT", 1}, + {"CHECK_BALANCE", 2}, + {"PRICE_ENQUIRY", 3}]}, + {"Subscription-Id-Type", + [{"END_USER_E164", 0}, + {"END_USER_IMSI", 1}, + {"END_USER_SIP_URI", 2}, + {"END_USER_NAI", 3}, + {"END_USER_PRIVATE", 4}]}, + {"User-Equipment-Info-Type", + [{"IMEISV", 0}, + {"MAC", 1}, + {"EUI64", 2}, + {"MODIFIED_EUI64", 3}]}]}, + {diameter_3gpp_base, + [{"3GPP-PDP-Type", + [{"IPv4", 0}, + {"PPP", 1}, + {"IPv6", 2}, + {"IPv4v6", 3}, + {"Non-IP", 4}]}]}, + {diameter_3gpp_ts29_212, + [{"AN-GW-Status", [{"AN_GW_FAILED", 0}]}, + {"Bearer-Control-Mode", + [{"UE_ONLY", 0}, {"RESERVED", 1}, {"UE_NW", 2}]}, + {"Bearer-Operation", + [{"TERMINATION", 0}, + {"ESTABLISHMENT", 1}, + {"MODIFICATION", 2}]}, + {"Bearer-Usage", + [{"GENERAL", 0}, {"IMS_SIGNALLING", 1}]}, + {"Charging-Correlation-Indicator", + [{"CHARGING_IDENTIFIER_REQUIRED", 0}]}, + {"CSG-Information-Reporting", + [{"CHANGE_CSG_CELL", 0}, + {"CHANGE_CSG_SUBSCRIBED_HYBRID_CELL", 1}, + {"CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL", 2}]}, + {"Event-Trigger", + [{"SGSN_CHANGE", 0}, + {"QOS_CHANGE", 1}, + {"RAT_CHANGE", 2}, + {"TFT_CHANGE", 3}, + {"PLMN_CHANGE", 4}, + {"LOSS_OF_BEARER", 5}, + {"RECOVERY_OF_BEARER", 6}, + {"IP-CAN_CHANGE", 7}, + {"QOS_CHANGE_EXCEEDING_AUTHORIZATION", 11}, + {"RAI_CHANGE", 12}, + {"USER_LOCATION_CHANGE", 13}, + {"NO_EVENT_TRIGGERS", 14}, + {"OUT_OF_CREDIT", 15}, + {"REALLOCATION_OF_CREDIT", 16}, + {"REVALIDATION_TIMEOUT", 17}, + {"UE_IP_ADDRESS_ALLOCATE", 18}, + {"UE_IP_ADDRESS_RELEASE", 19}, + {"DEFAULT_EPS_BEARER_QOS_CHANGE", 20}, + {"AN_GW_CHANGE", 21}, + {"SUCCESSFUL_RESOURCE_ALLOCATION", 22}, + {"RESOURCE_MODIFICATION_REQUEST", 23}, + {"PGW_TRACE_CONTROL", 24}, + {"UE_TIME_ZONE_CHANGE", 25}, + {"TAI_CHANGE", 26}, + {"ECGI_CHANGE", 27}, + {"CHARGING_CORRELATION_EXCHANGE", 28}, + {"APN-AMBR_MODIFICATION_FAILURE", 29}, + {"USER_CSG_INFORMATION_CHANGE", 30}, + {"USAGE_REPORT", 33}, + {"DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE", 34}, + {"USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE", 35}, + {"USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE", 36}, + {"ROUTING_RULE_CHANGE", 37}, + {"APPLICATION_START", 39}, + {"APPLICATION_STOP", 40}, + {"CS_TO_PS_HANDOVER", 42}, + {"UE_LOCAL_IP_ADDRESS_CHANGE", 43}, + {"HNB_LOCAL_IP_ADDRESS_CHANGE", 44}, + {"ACCESS_NETWORK_INFO_REPORT", 45}, + {"CREDIT_MANAGEMENT_SESSION_FAILURE", 46}, + {"DEFAULT_QOS_CHANGE", 47}, + {"CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_A" + "REA_REPORT", + 48}]}, + {"Flow-Direction", + [{"UNSPECIFIED", 0}, + {"DOWNLINK", 1}, + {"UPLINK", 2}, + {"BIDIRECTIONAL", 3}]}, + {"IP-CAN-Session-Charging-Scope", + [{"IP-CAN_SESSION_SCOPE", 0}]}, + {"IP-CAN-Type", + [{"3GPP-GPRS", 0}, + {"DOCSIS", 1}, + {"xDSL", 2}, + {"WiMAX", 3}, + {"3GPP2", 4}, + {"3GPP-EPS", 5}, + {"Non-3GPP-EPS", 6}, + {"FBA", 7}]}, + {"Metering-Method", + [{"DURATION", 0}, + {"VOLUME", 1}, + {"DURATION_VOLUME", 2}, + {"EVENT", 3}]}, + {"Mute-Notification", [{"MUTE_REQUIRED", 0}]}, + {"Network-Request-Support", + [{"NETWORK_REQUEST_NOT_SUPPORTED", 0}, + {"NETWORK_REQUEST_SUPPORTED", 1}]}, + {"Offline", + [{"DISABLE_OFFLINE", 0}, {"ENABLE_OFFLINE", 1}]}, + {"Online", + [{"DISABLE_ONLINE", 0}, {"ENABLE_ONLINE", 1}]}, + {"Packet-Filter-Operation", + [{"DELETION", 0}, + {"ADDITION", 1}, + {"MODIFICATION", 2}]}, + {"Packet-Filter-Usage", [{"SEND_TO_UE", 1}]}, + {"PCC-Rule-Status", + [{"ACTIVE", 0}, + {"INACTIVE", 1}, + {"TEMPORARILY_INACTIVE", 2}]}, + {"Pre-emption-Capability", + [{"PRE-EMPTION_CAPABILITY_ENABLED", 0}, + {"PRE-EMPTION_CAPABILITY_DISABLED", 1}]}, + {"Pre-emption-Vulnerability", + [{"PRE-EMPTION_VULNERABILITY_ENABLED", 0}, + {"PRE-EMPTION_VULNERABILITY_DISABLED", 1}]}, + {"PS-to-CS-Session-Continuity", + [{"VIDEO_PS2CS_CONT_CANDIDATE", 0}]}, + {"QoS-Class-Identifier", + [{"QCI_1", 1}, + {"QCI_2", 2}, + {"QCI_3", 3}, + {"QCI_4", 4}, + {"QCI_5", 5}, + {"QCI_6", 6}, + {"QCI_7", 7}, + {"QCI_8", 8}, + {"QCI_9", 9}, + {"QCI_65", 65}, + {"QCI_66", 66}, + {"QCI_69", 69}, + {"QCI_70", 70}]}, + {"QoS-Negotiation", + [{"NO_QoS_NEGOTIATION", 0}, + {"QoS_NEGOTIATION_SUPPORTED", 1}]}, + {"QoS-Upgrade", + [{"QoS_UPGRADE_NOT_SUPPORTED", 0}, + {"QoS_UPGRADE_SUPPORTED", 1}]}, + {"RAT-Type", + [{"WLAN", 0}, + {"VIRTUAL", 1}, + {"UTRAN", 1000}, + {"GERAN", 1001}, + {"GAN", 1002}, + {"HSPA_EVOLUTION", 1003}, + {"EUTRAN", 1004}, + {"CDMA2000_1X", 2000}, + {"HRPD", 2001}, + {"UMB", 2002}, + {"EHRPD", 2003}]}, + {"Redirect-Support", + [{"REDIRECTION_DISABLED", 0}, + {"REDIRECTION_ENABLED", 1}]}, + {"Reporting-Level", + [{"SERVICE_IDENTIFIER_LEVEL", 0}, + {"RATING_GROUP_LEVEL", 1}, + {"SPONSORED_CONNECTIVITY_LEVEL", 2}]}, + {"Resource-Allocation-Notification", + [{"ENABLE_NOTIFICATION", 0}]}, + {"Rule-Failure-Code", + [{"UNKNOWN_RULE_NAME", 1}, + {"RATING_GROUP_ERROR", 2}, + {"SERVICE_IDENTIFIER_ERROR", 3}, + {"GW_PCEF_MALFUNCTION", 4}, + {"RESOURCES_LIMITATION", 5}, + {"MAX_NR_BEARERS_REACHED", 6}, + {"UNKNOWN_BEARER_ID", 7}, + {"MISSING_BEARER_ID", 8}, + {"MISSING_FLOW_INFORMATION", 9}, + {"RESOURCE_ALLOCATION_FAILURE", 10}, + {"UNSUCCESSFUL_QOS_VALIDATION", 11}, + {"INCORRECT_FLOW_INFORMATION", 12}, + {"PS_TO_CS_HANDOVER", 13}, + {"TDF_APPLICATION_IDENTIFIER_ERROR", 14}, + {"NO_BEARER_BOUND", 15}, + {"FILTER_RESTRICTIONS", 16}, + {"AN_GW_FAILED", 17}, + {"MISSING_REDIRECT_SERVER_ADDRESS", 18}, + {"CM_END_USER_SERVICE_DENIED", 19}, + {"CM_CREDIT_CONTROL_NOT_APPLICABLE", 20}, + {"CM_AUTHORIZATION_REJECTED", 21}, + {"CM_USER_UNKNOWN", 22}, + {"CM_RATING_FAILED", 23}]}, + {"Session-Release-Cause", + [{"UNSPECIFIED_REASON", 0}, + {"UE_SUBSCRIPTION_REASON", 1}, + {"INSUFFICIENT_SERVER_RESOURCES", 2}, + {"IP_CAN_SESSION_TERMINATION", 3}, + {"UE_IP_ADDRESS_RELEASE", 4}]}, + {"Usage-Monitoring-Level", + [{"SESSION_LEVEL", 0}, + {"PCC_RULE_LEVEL", 1}, + {"ADC_RULE_LEVEL", 2}]}, + {"Usage-Monitoring-Report", + [{"USAGE_MONITORING_REPORT_REQUIRED", 0}]}, + {"Usage-Monitoring-Support", + [{"USAGE_MONITORING_DISABLED", 0}]}]}, + {diameter_3gpp_ts29_229, + [{"Server-Assignment-Type", + [{"NO_ASSIGNMENT", 0}, + {"REGISTRATION", 1}, + {"RE_REGISTRATION", 2}, + {"UNREGISTERED_USER", 3}, + {"TIMEOUT_DEREGISTRATION", 4}, + {"USER_DEREGISTRATION", 5}, + {"TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 6}, + {"USER_DEREGISTRATION_STORE_SERVER_NAME", 7}, + {"ADMINISTRATIVE_DEREGISTRATION", 8}, + {"AUTHENTICATION_FAILURE", 9}, + {"AUTHENTICATION_TIMEOUT", 10}, + {"DEREGISTRATION_TOO_MUCH_DATA", 11}, + {"AAA_USER_DATA_REQUEST", 12}, + {"PGW_UPDATE", 13}, + {"RESTORATION", 14}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_rfc7155_nasreq, + [{"Tunneling", + 401, + [], + [{"Tunnel-Type"}, + {"Tunnel-Medium-Type"}, + {"Tunnel-Client-Endpoint"}, + {"Tunnel-Server-Endpoint"}, + ["Tunnel-Preference"], + ["Tunnel-Client-Auth-Id"], + ["Tunnel-Server-Auth-Id"], + ["Tunnel-Assignment-Id"], + ["Tunnel-Password"], + ["Tunnel-Private-Group-Id"]]}]}, + {diameter_rfc4006_cc, + [{"Cost-Information", + 423, + [], + [{"Unit-Value"}, {"Currency-Code"}, ["Cost-Unit"]]}, + {"Unit-Value", + 445, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Multiple-Services-Credit-Control", + 456, + [], + [["Granted-Service-Unit"], + ["Requested-Service-Unit"], + {'*', ["Used-Service-Unit"]}, + ["Tariff-Change-Usage"], + {'*', ["Service-Identifier"]}, + ["Rating-Group"], + {'*', ["G-S-U-Pool-Reference"]}, + ["Validity-Time"], + ["Result-Code"], + ["Final-Unit-Indication"], + {'*', ["AVP"]}]}, + {"Granted-Service-Unit", + 431, + [], + [["Tariff-Time-Change"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Requested-Service-Unit", + 437, + [], + [["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Used-Service-Unit", + 446, + [], + [["Tariff-Change-Usage"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"CC-Money", + 413, + [], + [{"Unit-Value"}, ["Currency-Code"]]}, + {"G-S-U-Pool-Reference", + 457, + [], + [{"G-S-U-Pool-Identifier"}, + {"CC-Unit-Type"}, + {"Unit-Value"}]}, + {"Final-Unit-Indication", + 430, + [], + [{"Final-Unit-Action"}, + {'*', ["Restriction-Filter-Rule"]}, + {'*', ["Filter-Id"]}, + ["Redirect-Server"]]}, + {"Redirect-Server", + 434, + [], + [{"Redirect-Address-Type"}, + {"Redirect-Server-Address"}]}, + {"Service-Parameter-Info", + 440, + [], + [{"Service-Parameter-Type"}, + {"Service-Parameter-Value"}]}, + {"Subscription-Id", + 443, + [], + [{"Subscription-Id-Type"}, {"Subscription-Id-Data"}]}, + {"User-Equipment-Info", + 458, + [], + [{"User-Equipment-Info-Type"}, + {"User-Equipment-Info-Value"}]}]}, + {diameter_3gpp_ts29_212, + [{"Access-Network-Charging-Identifier-Gx", + 1022, + [], + [{"Access-Network-Charging-Identifier-Value"}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Charging-Rule-Name"]}, + ["IP-CAN-Session-Charging-Scope"], + {'*', ["AVP"]}]}, + {"Allocation-Retention-Priority", + 1034, + [], + [{"Priority-Level"}, + ["Pre-emption-Capability"], + ["Pre-emption-Vulnerability"]]}, + {"Application-Detection-Information", + 1098, + [], + [{"TDF-Application-Identifier"}, + ["TDF-Application-Instance-Identifier"], + {'*', ["Flow-Information"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Definition", + 1003, + [], + [{"Charging-Rule-Name"}, + ["Service-Identifier"], + ["Rating-Group"], + {'*', ["Flow-Information"]}, + ["TDF-Application-Identifier"], + ["Flow-Status"], + ["QoS-Information"], + ["PS-to-CS-Session-Continuity"], + ["Reporting-Level"], + ["Online"], + ["Offline"], + ["Metering-Method"], + ["Precedence"], + ["AF-Charging-Identifier"], + {'*', ["Flows"]}, + ["Monitoring-Key"], + ["Redirect-Information"], + ["Mute-Notification"], + ["AF-Signalling-Protocol"], + ["Sponsor-Identity"], + ["Application-Service-Provider-Identity"], + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Install", + 1001, + [], + [{'*', ["Charging-Rule-Definition"]}, + {'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["Rule-Activation-Time"], + ["Rule-Deactivation-Time"], + ["Resource-Allocation-Notification"], + ["Charging-Correlation-Indicator"], + {'*', ["AVP"]}]}, + {"Charging-Rule-Remove", + 1002, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + {'*', ["Required-Access-Info"]}, + {'*', ["AVP"]}]}, + {"Charging-Rule-Report", + 1018, + [], + [{'*', ["Charging-Rule-Name"]}, + {'*', ["Charging-Rule-Base-Name"]}, + ["Bearer-Identifier"], + ["PCC-Rule-Status"], + ["Rule-Failure-Code"], + ["Final-Unit-Indication"], + {'*', ["RAN-NAS-Release-Cause"]}, + {'*', ["AVP"]}]}, + {"CoA-Information", + 1039, + [], + [{"Tunnel-Information"}, + {"CoA-IP-Address"}, + {'*', ["AVP"]}]}, + {"Conditional-APN-Aggregate-Max-Bitrate", + 2818, + [], + [["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["IP-CAN-Type"]}, + {'*', ["RAT-Type"]}, + {'*', ["AVP"]}]}, + {"Default-EPS-Bearer-QoS", + 1049, + [], + [["QoS-Class-Identifier"], + ["Allocation-Retention-Priority"], + {'*', ["AVP"]}]}, + {"Default-QoS-Information", + 2816, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Default-QoS-Name"], + {'*', ["AVP"]}]}, + {"Event-Report-Indication", + 1033, + [], + [{'*', ["Event-Trigger"]}, + ["IP-CAN-Type"], + {{0, 2}, ["AN-GW-Address"]}, + ["3GPP-SGSN-Address"], + ["3GPP-SGSN-IPv6-Address"], + ["3GPP-SGSN-MCC-MNC"], + ["Framed-IP-Address"], + ["RAT-Type"], + ["RAI"], + ["3GPP-User-Location-Info"], + ["3GPP-MS-TimeZone"], + ["Routing-IP-Address"], + ["UE-Local-IP-Address"], + ["HeNB-Local-IP-Address"], + ["UDP-Source-Port"], + ["Presence-Reporting-Area-Information"], + {'*', ["AVP"]}]}, + {"Fixed-User-Location-Info", + 2825, + [], + [["Logical-Access-ID"], + ["Physical-Access-ID"], + {'*', ["AVP"]}]}, + {"Flow-Information", + 1058, + [], + [["Flow-Description"], + ["Packet-Filter-Identifier"], + ["Packet-Filter-Usage"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Packet-Filter-Information", + 1061, + [], + [["Packet-Filter-Identifier"], + ["Precedence"], + ["Packet-Filter-Content"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Presence-Reporting-Area-Information", + 2822, + [], + [["Presence-Reporting-Area-Identifier"], + ["Presence-Reporting-Area-Status"], + ["Presence-Reporting-Area-Elements-List"], + {'*', ["AVP"]}]}, + {"QoS-Information", + 1016, + [], + [["QoS-Class-Identifier"], + ["Max-Requested-Bandwidth-UL"], + ["Max-Requested-Bandwidth-DL"], + ["Guaranteed-Bitrate-UL"], + ["Guaranteed-Bitrate-DL"], + ["Bearer-Identifier"], + ["Allocation-Retention-Priority"], + ["APN-Aggregate-Max-Bitrate-UL"], + ["APN-Aggregate-Max-Bitrate-DL"], + {'*', ["Conditional-APN-Aggregate-Max-Bitrate"]}, + {'*', ["AVP"]}]}, + {"Redirect-Information", + 1085, + [], + [["Redirect-Support"], + ["Redirect-Address-Type"], + ["Redirect-Server-Address"], + {'*', ["AVP"]}]}, + {"Routing-Filter", + 1078, + [], + [{"Flow-Description"}, + {"Flow-Direction"}, + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Definition", + 1076, + [], + [{"Routing-Rule-Identifier"}, + {'*', ["Routing-Filter"]}, + ["Precedence"], + ["Routing-IP-Address"], + {'*', ["AVP"]}]}, + {"Routing-Rule-Install", + 1081, + [], + [{'*', ["Routing-Rule-Definition"]}, {'*', ["AVP"]}]}, + {"Routing-Rule-Remove", + 1075, + [], + [{'*', ["Routing-Rule-Identifier"]}, {'*', ["AVP"]}]}, + {"TDF-Information", + 1087, + [], + [["TDF-Destination-Realm"], + ["TDF-Destination-Host"], + ["TDF-IP-Address"]]}, + {"Tunnel-Information", + 1038, + [], + [["Tunnel-Header-Length"], + {{0, 2}, ["Tunnel-Header-Filter"]}, + {'*', ["AVP"]}]}, + {"TFT-Packet-Filter-Information", + 1013, + [], + [["Precedence"], + ["TFT-Filter"], + ["ToS-Traffic-Class"], + ["Security-Parameter-Index"], + ["Flow-Label"], + ["Flow-Direction"], + {'*', ["AVP"]}]}, + {"Usage-Monitoring-Information", + 1067, + [], + [["Monitoring-Key"], + {{0, 2}, ["Granted-Service-Unit"]}, + {{0, 2}, ["Used-Service-Unit"]}, + ["Usage-Monitoring-Level"], + ["Usage-Monitoring-Report"], + ["Usage-Monitoring-Support"], + {'*', ["AVP"]}]}]}, + {diameter_3gpp_ts29_214, + [{"Flows", + 510, + [], + [{"Media-Component-Number"}, + {'*', ["Flow-Number"]}, + ["Final-Unit-Action"]]}]}, + {diameter_3gpp_ts29_229, + [{"Charging-Information", + 618, + [], + [["Primary-Event-Charging-Function-Name"], + ["Secondary-Event-Charging-Function-Name"], + ["Primary-Charging-Collection-Function-Name"], + ["Secondary-Charging-Collection-Function-Name"], + {'*', ["AVP"]}]}, + {"Supported-Features", + 628, + [], + [{"Vendor-Id"}, + {"Feature-List-ID"}, + {"Feature-List"}, + {'*', ["AVP"]}]}, + {"Supported-Applications", + 631, + [10415], + [{'*', ["Auth-Application-Id"]}, + {'*', ["Acct-Application-Id"]}, + {'*', ["Vendor-Specific-Application-Id"]}, + {'*', ["AVP"]}]}, + {"SIP-Auth-Data-Item", + 612, + [10415], + [["SIP-Item-Number"], + ["SIP-Authentication-Scheme"], + ["SIP-Authenticate"], + ["SIP-Authorization"], + ["SIP-Authentication-Context"], + ["Confidentiality-Key"], + ["Integrity-Key"], + ["SIP-Digest-Authenticate"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + {'*', ["Line-Identifier"]}, + {'*', ["AVP"]}]}, + {"Deregistration-Reason", + 615, + [10415], + [{"Reason-Code"}, ["Reason-Info"], {'*', ["AVP"]}]}, + {"SIP-Digest-Authenticate", + 635, + [10415], + [{"Digest-Realm"}, + {"Digest-QoP"}, + {"Digest-HA1"}, + ["Digest-Algorithm"], + {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_3gpp_ts29_229", []}, + {"diameter_3gpp_ts29_329", []}, + {"diameter_3gpp_ts29_214", []}, + {"diameter_3gpp_ts29_212", []}, + {"diameter_3gpp_ts29_061_gmb", []}, + {"diameter_3gpp_base", []}, + {"diameter_etsi_es283_034", []}, + {"diameter_rfc4006_cc", []}, + {"diameter_rfc7155_nasreq", []}, + {"diameter_gen_acct_rfc6733", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_3gpp_ts32_299"}, + {prefix, "diameter_3gpp_charging"}, + {vendor, {10415, "3GPP"}}]. + + diff --git a/src/diameter_etsi_es283_034.erl b/src/diameter_etsi_es283_034.erl new file mode 100644 index 0000000..14cc4fe --- /dev/null +++ b/src/diameter_etsi_es283_034.erl @@ -0,0 +1,823 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_etsi_es283_034). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['diameter_e4_Proxy-Info', + 'diameter_e4_Failed-AVP', + 'diameter_e4_Experimental-Result', + 'diameter_e4_Vendor-Specific-Application-Id']). + +-record('diameter_e4_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_e4_Failed-AVP', {'AVP' = []}). + +-record('diameter_e4_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_e4_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_etsi_es283_034. + +id() -> 16777231. + +vendor_id() -> 13019. + +vendor_name() -> 'ETSI'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'diameter_e4_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_e4_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_e4_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_e4_Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(301, 13019) -> + {'Address-Realm', 'OctetString'}; +avp_name(307, 13019) -> + {'Aggregation-Network-Type', 'Enumerated'}; +avp_name(312, 13019) -> + {'Application-Class-ID', 'UTF8String'}; +avp_name(305, 13019) -> + {'IP-Connectivity-Status', 'Enumerated'}; +avp_name(314, 13019) -> + {'Initial-Gate-Setting-ID', 'Unsigned32'}; +avp_name(302, 13019) -> + {'Logical-Access-ID', 'OctetString'}; +avp_name(309, 13019) -> + {'Maximum-Allowed-Bandwidth-DL', 'Unsigned32'}; +avp_name(308, 13019) -> + {'Maximum-Allowed-Bandwidth-UL', 'Unsigned32'}; +avp_name(313, 13019) -> + {'Physical-Access-ID', 'UTF8String'}; +avp_name(315, 13019) -> + {'QoS-Profile-ID', 'Unsigned32'}; +avp_name(311, 13019) -> + {'Transport-Class', 'Unsigned32'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Address-Realm') -> {301, 192, 13019}; +avp_header('Aggregation-Network-Type') -> + {307, 128, 13019}; +avp_header('Application-Class-ID') -> {312, 128, 13019}; +avp_header('IP-Connectivity-Status') -> + {305, 128, 13019}; +avp_header('Initial-Gate-Setting-ID') -> + {314, 128, 13019}; +avp_header('Logical-Access-ID') -> {302, 128, 13019}; +avp_header('Maximum-Allowed-Bandwidth-DL') -> + {309, 128, 13019}; +avp_header('Maximum-Allowed-Bandwidth-UL') -> + {308, 128, 13019}; +avp_header('Physical-Access-ID') -> {313, 128, 13019}; +avp_header('QoS-Profile-ID') -> {315, 128, 13019}; +avp_header('Transport-Class') -> {311, 128, 13019}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Address-Realm', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Aggregation-Network-Type', _) -> + enumerated_avp(T, 'Aggregation-Network-Type', Data); +avp(T, Data, 'Application-Class-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'IP-Connectivity-Status', _) -> + enumerated_avp(T, 'IP-Connectivity-Status', Data); +avp(T, Data, 'Initial-Gate-Setting-ID', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Logical-Access-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Maximum-Allowed-Bandwidth-DL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Maximum-Allowed-Bandwidth-UL', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Physical-Access-ID', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'QoS-Profile-ID', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Transport-Class', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Address-Realm", 301, "OctetString", "MV"}, + {"Aggregation-Network-Type", 307, "Enumerated", "V"}, + {"Application-Class-ID", 312, "UTF8String", "V"}, + {"IP-Connectivity-Status", 305, "Enumerated", "V"}, + {"Initial-Gate-Setting-ID", 314, "Unsigned32", "V"}, + {"Logical-Access-ID", 302, "OctetString", "V"}, + {"Maximum-Allowed-Bandwidth-DL", + 309, + "Unsigned32", + "V"}, + {"Maximum-Allowed-Bandwidth-UL", + 308, + "Unsigned32", + "V"}, + {"Physical-Access-ID", 313, "UTF8String", "V"}, + {"QoS-Profile-ID", 315, "Unsigned32", "V"}, + {"Transport-Class", 311, "Unsigned32", "V"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 16777231}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_etsi_es283_034"}, + {prefix, "diameter_e4"}, + {vendor, {13019, "ETSI"}}]. + + diff --git a/src/diameter_etsi_es283_035.erl b/src/diameter_etsi_es283_035.erl new file mode 100644 index 0000000..9a7b899 --- /dev/null +++ b/src/diameter_etsi_es283_035.erl @@ -0,0 +1,931 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_etsi_es283_035). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['diameter_e4_Location-Information', + 'diameter_e4_Proxy-Info', + 'diameter_e4_Failed-AVP', + 'diameter_e4_Experimental-Result', + 'diameter_e4_Vendor-Specific-Application-Id']). + +-record('diameter_e4_Location-Information', + {'Line-Identifier' = [], + 'Civic-Location' = [], + 'Geospatial-Location' = [], + 'AVP' = []}). + +-record('diameter_e4_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_e4_Failed-AVP', {'AVP' = []}). + +-record('diameter_e4_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_e4_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_etsi_es283_035. + +id() -> 16777231. + +vendor_id() -> 13019. + +vendor_name() -> 'ETSI'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Location-Information') -> + 'diameter_e4_Location-Information'; +name2rec('Proxy-Info') -> 'diameter_e4_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_e4_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_e4_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_e4_Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(355, 13019) -> + {'Civic-Location', 'OctetString'}; +avp_name(354, 13019) -> {'Event-Type', 'Enumerated'}; +avp_name(356, 13019) -> + {'Geospatial-Location', 'OctetString'}; +avp_name(500, 13019) -> + {'Line-Identifier', 'OctetString'}; +avp_name(350, 13019) -> + {'Location-Information', 'Grouped'}; +avp_name(351, 13019) -> + {'Policy-Control-Contact-Point', 'DiameterIdentity'}; +avp_name(353, 13019) -> + {'Requested-Information', 'Enumerated'}; +avp_name(352, 13019) -> + {'Terminal-Type', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Location-Information') -> + [{'Line-Identifier', {0, 1}}, + {'Civic-Location', {0, 1}}, + {'Geospatial-Location', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Location-Information', 'Line-Identifier') -> + {0, 1}; +avp_arity('Location-Information', 'Civic-Location') -> + {0, 1}; +avp_arity('Location-Information', + 'Geospatial-Location') -> + {0, 1}; +avp_arity('Location-Information', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Civic-Location') -> {355, 128, 13019}; +avp_header('Event-Type') -> {354, 128, 13019}; +avp_header('Geospatial-Location') -> {356, 128, 13019}; +avp_header('Line-Identifier') -> {500, 128, 13019}; +avp_header('Location-Information') -> {350, 128, 13019}; +avp_header('Policy-Control-Contact-Point') -> + {351, 128, 13019}; +avp_header('Requested-Information') -> + {353, 128, 13019}; +avp_header('Terminal-Type') -> {352, 128, 13019}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Civic-Location', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Event-Type', _) -> + enumerated_avp(T, 'Event-Type', Data); +avp(T, Data, 'Geospatial-Location', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Line-Identifier', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Location-Information', Opts) -> + grouped_avp(T, 'Location-Information', Data, Opts); +avp(T, Data, 'Policy-Control-Contact-Point', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'Requested-Information', _) -> + enumerated_avp(T, 'Requested-Information', Data); +avp(T, Data, 'Terminal-Type', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'Requested-Information', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Requested-Information', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Requested-Information', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Requested-Information', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Requested-Information', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Requested-Information', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Requested-Information', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Requested-Information', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Requested-Information', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Requested-Information', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Requested-Information', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Requested-Information', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Requested-Information', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Requested-Information', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Event-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Event-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Event-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Event-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Event-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Event-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Event-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Event-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Event-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Event-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Event-Type', <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Event-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Location-Information', Opts) -> + empty_group('Location-Information', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Requested-Information', _) -> + <<0, 0, 0, 0>>; +empty_value('Event-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Civic-Location", 355, "OctetString", "V"}, + {"Event-Type", 354, "Enumerated", "V"}, + {"Geospatial-Location", 356, "OctetString", "V"}, + {"Line-Identifier", 500, "OctetString", "V"}, + {"Location-Information", 350, "Grouped", "V"}, + {"Policy-Control-Contact-Point", + 351, + "DiameterIdentity", + "V"}, + {"Requested-Information", 353, "Enumerated", "V"}, + {"Terminal-Type", 352, "OctetString", "V"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"Requested-Information", + [{"IP-CONNECTIVITY-USER-ID", 0}, + {"LOCATION-INFORMATION", 1}, + {"POLICY-CONTROL-CONTACT-POINT", 2}, + {"ACCESS-NETWORK-TYPE", 3}, + {"TERMINAL-TYPE", 4}, + {"LOGICAL-ACCESS-ID", 5}, + {"PHYSICAL-ACCESS-ID", 6}]}, + {"Event-Type", + [{"USER-LOGON", 0}, + {"LOCATION-INFORMATION-CHANGED", 1}, + {"POLICY-CONTROL-CONTACT-POINT-CHANGED", 2}, + {"ACCESS-NETWORK-TYPE-CHANGED", 3}, + {"TERMINAL-TYPE-CHANGED", 4}, + {"LOGICAL-ACCESS-ID-CHANGED", 5}, + {"PHYSICAL-ACCESS-ID-CHANGED", 6}, + {"IP-ADDRESS-CHANGED", 7}, + {"INITIAL-GATE-SETTING-CHANGED", 8}, + {"QOS-PROFILE-CHANGED", 9}, + {"USER-LOGOFF", 10}]}]}, + {grouped, + [{"Location-Information", + 350, + [13019], + [["Line-Identifier"], + ["Civic-Location"], + ["Geospatial-Location"], + {'*', ["AVP"]}]}]}, + {id, 16777231}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_etsi_es283_035"}, + {prefix, "diameter_e4"}, + {vendor, {13019, "ETSI"}}]. + + diff --git a/src/diameter_rfc4004.erl b/src/diameter_rfc4004.erl new file mode 100644 index 0000000..cfe5271 --- /dev/null +++ b/src/diameter_rfc4004.erl @@ -0,0 +1,1565 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc4004). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['AMR', + 'AMA', + 'HAR', + 'HAA', + 'MIP-MN-AAA-Auth', + 'MIP-MN-to-FA-MSA', + 'MIP-FA-to-MN-MSA', + 'MIP-MN-to-HA-MSA', + 'MIP-HA-to-MN-MSA', + 'MIP-FA-to-HA-MSA', + 'MIP-HA-to-FA-MSA', + 'MIP-Originating-Foreign-AAA', + 'MIP-Home-Agent-Host', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('AMR', + {'Session-Id', + 'Auth-Application-Id', + 'User-Name', + 'Destination-Realm', + 'Origin-Host', + 'Origin-Realm', + 'MIP-Reg-Request', + 'MIP-MN-AAA-Auth', + 'Acct-Multi-Session-Id' = [], + 'Destination-Host' = [], + 'Origin-State-Id' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Feature-Vector' = [], + 'MIP-Originating-Foreign-AAA' = [], + 'Authorization-Lifetime' = [], + 'Auth-Session-State' = [], + 'MIP-FA-Challenge' = [], + 'MIP-Candidate-Home-Agent-Host' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP-HA-to-FA-SPI' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('AMA', + {'Session-Id', + 'Auth-Application-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Acct-Multi-Session-Id' = [], + 'User-Name' = [], + 'Authorization-Lifetime' = [], + 'Auth-Session-State' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Re-Auth-Request-Type' = [], + 'MIP-Feature-Vector' = [], + 'MIP-Reg-Reply' = [], + 'MIP-MN-to-FA-MSA' = [], + 'MIP-MN-to-HA-MSA' = [], + 'MIP-FA-to-MN-MSA' = [], + 'MIP-FA-to-HA-MSA' = [], + 'MIP-HA-to-MN-MSA' = [], + 'MIP-MSA-Lifetime' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-Filter-Rule' = []}). + +-record('HAR', + {'Session-Id', + 'Auth-Application-Id', + 'Authorization-Lifetime', + 'Auth-Session-State', + 'MIP-Reg-Request', + 'Origin-Host', + 'Origin-Realm', + 'User-Name', + 'Destination-Realm', + 'MIP-Feature-Vector', + 'Destination-Host' = [], + 'MIP-MN-to-HA-MSA' = [], + 'MIP-MN-to-FA-MSA' = [], + 'MIP-HA-to-MN-MSA' = [], + 'MIP-HA-to-FA-MSA' = [], + 'MIP-MSA-Lifetime' = [], + 'MIP-Originating-Foreign-AAA' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Filter-Rule' = [], + 'Origin-State-Id' = []}). + +-record('HAA', + {'Session-Id', + 'Auth-Application-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Acct-Multi-Session-Id' = [], + 'User-Name' = [], + 'Error-Reporting-Host' = [], + 'Error-Message' = [], + 'MIP-Reg-Reply' = [], + 'MIP-Home-Agent-Address' = [], + 'MIP-Mobile-Node-Address' = [], + 'MIP-FA-to-HA-SPI' = [], + 'MIP-FA-to-MN-SPI' = [], + 'Origin-State-Id' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('MIP-MN-AAA-Auth', + {'MIP-MN-AAA-SPI', + 'MIP-Auth-Input-Data-Length', + 'MIP-Authenticator-Length', + 'MIP-Authenticator-Offset', + 'AVP' = []}). + +-record('MIP-MN-to-FA-MSA', + {'MIP-Algorithm-Type', 'MIP-Nonce', 'AVP' = []}). + +-record('MIP-FA-to-MN-MSA', + {'MIP-FA-to-MN-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-MN-to-HA-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Nonce', + 'AVP' = []}). + +-record('MIP-HA-to-MN-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-FA-to-HA-MSA', + {'MIP-FA-to-HA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-HA-to-FA-MSA', + {'MIP-HA-to-FA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-Originating-Foreign-AAA', + {'Origin-Realm', 'Origin-Host', 'AVP' = []}). + +-record('MIP-Home-Agent-Host', + {'Destination-Realm', 'Destination-Host', 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc4004. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(260, true) -> 'AMR'; +msg_name(260, false) -> 'AMA'; +msg_name(262, true) -> 'HAR'; +msg_name(262, false) -> 'HAA'; +msg_name(_, _) -> ''. + +msg_header('AMR') -> {260, 192, 1}; +msg_header('AMA') -> {260, 64, 1}; +msg_header('HAR') -> {262, 192, 1}; +msg_header('HAA') -> {262, 64, 1}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('AMR') -> 'AMR'; +rec2msg('AMA') -> 'AMA'; +rec2msg('HAR') -> 'HAR'; +rec2msg('HAA') -> 'HAA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('AMR') -> 'AMR'; +msg2rec('AMA') -> 'AMA'; +msg2rec('HAR') -> 'HAR'; +msg2rec('HAA') -> 'HAA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('MIP-MN-AAA-Auth') -> 'MIP-MN-AAA-Auth'; +name2rec('MIP-MN-to-FA-MSA') -> 'MIP-MN-to-FA-MSA'; +name2rec('MIP-FA-to-MN-MSA') -> 'MIP-FA-to-MN-MSA'; +name2rec('MIP-MN-to-HA-MSA') -> 'MIP-MN-to-HA-MSA'; +name2rec('MIP-HA-to-MN-MSA') -> 'MIP-HA-to-MN-MSA'; +name2rec('MIP-FA-to-HA-MSA') -> 'MIP-FA-to-HA-MSA'; +name2rec('MIP-HA-to-FA-MSA') -> 'MIP-HA-to-FA-MSA'; +name2rec('MIP-Originating-Foreign-AAA') -> + 'MIP-Originating-Foreign-AAA'; +name2rec('MIP-Home-Agent-Host') -> + 'MIP-Home-Agent-Host'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(345, undefined) -> + {'MIP-Algorithm-Type', 'Enumerated'}; +avp_name(338, undefined) -> + {'MIP-Auth-Input-Data-Length', 'Unsigned32'}; +avp_name(339, undefined) -> + {'MIP-Authenticator-Length', 'Unsigned32'}; +avp_name(340, undefined) -> + {'MIP-Authenticator-Offset', 'Unsigned32'}; +avp_name(336, undefined) -> + {'MIP-Candidate-Home-Agent-Host', 'DiameterIdentity'}; +avp_name(344, undefined) -> + {'MIP-FA-Challenge', 'OctetString'}; +avp_name(328, undefined) -> + {'MIP-FA-to-HA-MSA', 'Grouped'}; +avp_name(318, undefined) -> + {'MIP-FA-to-HA-SPI', 'Unsigned32'}; +avp_name(326, undefined) -> + {'MIP-FA-to-MN-MSA', 'Grouped'}; +avp_name(319, undefined) -> + {'MIP-FA-to-MN-SPI', 'Unsigned32'}; +avp_name(337, undefined) -> + {'MIP-Feature-Vector', 'Unsigned32'}; +avp_name(342, undefined) -> + {'MIP-Filter-Rule', 'IPFilterRule'}; +avp_name(329, undefined) -> + {'MIP-HA-to-FA-MSA', 'Grouped'}; +avp_name(323, undefined) -> + {'MIP-HA-to-FA-SPI', 'Unsigned32'}; +avp_name(332, undefined) -> + {'MIP-HA-to-MN-MSA', 'Grouped'}; +avp_name(334, undefined) -> + {'MIP-Home-Agent-Address', 'Address'}; +avp_name(348, undefined) -> + {'MIP-Home-Agent-Host', 'Grouped'}; +avp_name(322, undefined) -> + {'MIP-MN-AAA-Auth', 'Grouped'}; +avp_name(341, undefined) -> + {'MIP-MN-AAA-SPI', 'Unsigned32'}; +avp_name(325, undefined) -> + {'MIP-MN-to-FA-MSA', 'Grouped'}; +avp_name(331, undefined) -> + {'MIP-MN-to-HA-MSA', 'Grouped'}; +avp_name(367, undefined) -> + {'MIP-MSA-Lifetime', 'Unsigned32'}; +avp_name(333, undefined) -> + {'MIP-Mobile-Node-Address', 'Address'}; +avp_name(335, undefined) -> + {'MIP-Nonce', 'OctetString'}; +avp_name(347, undefined) -> + {'MIP-Originating-Foreign-AAA', 'Grouped'}; +avp_name(321, undefined) -> + {'MIP-Reg-Reply', 'OctetString'}; +avp_name(320, undefined) -> + {'MIP-Reg-Request', 'OctetString'}; +avp_name(346, undefined) -> + {'MIP-Replay-Mode', 'Enumerated'}; +avp_name(343, undefined) -> + {'MIP-Session-Key', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('AMR') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'User-Name', 1}, + {'Destination-Realm', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'MIP-Reg-Request', 1}, + {'MIP-MN-AAA-Auth', 1}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'MIP-Mobile-Node-Address', {0, 1}}, + {'MIP-Home-Agent-Address', {0, 1}}, + {'MIP-Feature-Vector', {0, 1}}, + {'MIP-Originating-Foreign-AAA', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Auth-Session-State', {0, 1}}, + {'MIP-FA-Challenge', {0, 1}}, + {'MIP-Candidate-Home-Agent-Host', {0, 1}}, + {'MIP-Home-Agent-Host', {0, 1}}, + {'MIP-HA-to-FA-SPI', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('AMA') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'User-Name', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Auth-Session-State', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Re-Auth-Request-Type', {0, 1}}, + {'MIP-Feature-Vector', {0, 1}}, + {'MIP-Reg-Reply', {0, 1}}, + {'MIP-MN-to-FA-MSA', {0, 1}}, + {'MIP-MN-to-HA-MSA', {0, 1}}, + {'MIP-FA-to-MN-MSA', {0, 1}}, + {'MIP-FA-to-HA-MSA', {0, 1}}, + {'MIP-HA-to-MN-MSA', {0, 1}}, + {'MIP-MSA-Lifetime', {0, 1}}, + {'MIP-Home-Agent-Address', {0, 1}}, + {'MIP-Mobile-Node-Address', {0, 1}}, + {'MIP-Filter-Rule', {0, '*'}}]; +avp_arity('HAR') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Authorization-Lifetime', 1}, + {'Auth-Session-State', 1}, + {'MIP-Reg-Request', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', 1}, + {'Destination-Realm', 1}, + {'MIP-Feature-Vector', 1}, + {'Destination-Host', {0, 1}}, + {'MIP-MN-to-HA-MSA', {0, 1}}, + {'MIP-MN-to-FA-MSA', {0, 1}}, + {'MIP-HA-to-MN-MSA', {0, 1}}, + {'MIP-HA-to-FA-MSA', {0, 1}}, + {'MIP-MSA-Lifetime', {0, 1}}, + {'MIP-Originating-Foreign-AAA', {0, 1}}, + {'MIP-Mobile-Node-Address', {0, 1}}, + {'MIP-Home-Agent-Address', {0, 1}}, + {'MIP-Filter-Rule', {0, '*'}}, + {'Origin-State-Id', {0, 1}}]; +avp_arity('HAA') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'User-Name', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Error-Message', {0, 1}}, + {'MIP-Reg-Reply', {0, 1}}, + {'MIP-Home-Agent-Address', {0, 1}}, + {'MIP-Mobile-Node-Address', {0, 1}}, + {'MIP-FA-to-HA-SPI', {0, 1}}, + {'MIP-FA-to-MN-SPI', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-MN-AAA-Auth') -> + [{'MIP-MN-AAA-SPI', 1}, + {'MIP-Auth-Input-Data-Length', 1}, + {'MIP-Authenticator-Length', 1}, + {'MIP-Authenticator-Offset', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-MN-to-FA-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Nonce', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-FA-to-MN-MSA') -> + [{'MIP-FA-to-MN-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-MN-to-HA-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Replay-Mode', 1}, + {'MIP-Nonce', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-HA-to-MN-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Replay-Mode', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-FA-to-HA-MSA') -> + [{'MIP-FA-to-HA-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-HA-to-FA-MSA') -> + [{'MIP-HA-to-FA-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-Originating-Foreign-AAA') -> + [{'Origin-Realm', 1}, + {'Origin-Host', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-Home-Agent-Host') -> + [{'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('AMR', 'Session-Id') -> 1; +avp_arity('AMR', 'Auth-Application-Id') -> 1; +avp_arity('AMR', 'User-Name') -> 1; +avp_arity('AMR', 'Destination-Realm') -> 1; +avp_arity('AMR', 'Origin-Host') -> 1; +avp_arity('AMR', 'Origin-Realm') -> 1; +avp_arity('AMR', 'MIP-Reg-Request') -> 1; +avp_arity('AMR', 'MIP-MN-AAA-Auth') -> 1; +avp_arity('AMR', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('AMR', 'Destination-Host') -> {0, 1}; +avp_arity('AMR', 'Origin-State-Id') -> {0, 1}; +avp_arity('AMR', 'MIP-Mobile-Node-Address') -> {0, 1}; +avp_arity('AMR', 'MIP-Home-Agent-Address') -> {0, 1}; +avp_arity('AMR', 'MIP-Feature-Vector') -> {0, 1}; +avp_arity('AMR', 'MIP-Originating-Foreign-AAA') -> + {0, 1}; +avp_arity('AMR', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('AMR', 'Auth-Session-State') -> {0, 1}; +avp_arity('AMR', 'MIP-FA-Challenge') -> {0, 1}; +avp_arity('AMR', 'MIP-Candidate-Home-Agent-Host') -> + {0, 1}; +avp_arity('AMR', 'MIP-Home-Agent-Host') -> {0, 1}; +avp_arity('AMR', 'MIP-HA-to-FA-SPI') -> {0, 1}; +avp_arity('AMR', 'Proxy-Info') -> {0, '*'}; +avp_arity('AMR', 'Route-Record') -> {0, '*'}; +avp_arity('AMR', 'AVP') -> {0, '*'}; +avp_arity('AMA', 'Session-Id') -> 1; +avp_arity('AMA', 'Auth-Application-Id') -> 1; +avp_arity('AMA', 'Result-Code') -> 1; +avp_arity('AMA', 'Origin-Host') -> 1; +avp_arity('AMA', 'Origin-Realm') -> 1; +avp_arity('AMA', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('AMA', 'User-Name') -> {0, 1}; +avp_arity('AMA', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('AMA', 'Auth-Session-State') -> {0, 1}; +avp_arity('AMA', 'Error-Message') -> {0, 1}; +avp_arity('AMA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('AMA', 'Re-Auth-Request-Type') -> {0, 1}; +avp_arity('AMA', 'MIP-Feature-Vector') -> {0, 1}; +avp_arity('AMA', 'MIP-Reg-Reply') -> {0, 1}; +avp_arity('AMA', 'MIP-MN-to-FA-MSA') -> {0, 1}; +avp_arity('AMA', 'MIP-MN-to-HA-MSA') -> {0, 1}; +avp_arity('AMA', 'MIP-FA-to-MN-MSA') -> {0, 1}; +avp_arity('AMA', 'MIP-FA-to-HA-MSA') -> {0, 1}; +avp_arity('AMA', 'MIP-HA-to-MN-MSA') -> {0, 1}; +avp_arity('AMA', 'MIP-MSA-Lifetime') -> {0, 1}; +avp_arity('AMA', 'MIP-Home-Agent-Address') -> {0, 1}; +avp_arity('AMA', 'MIP-Mobile-Node-Address') -> {0, 1}; +avp_arity('AMA', 'MIP-Filter-Rule') -> {0, '*'}; +avp_arity('HAR', 'Session-Id') -> 1; +avp_arity('HAR', 'Auth-Application-Id') -> 1; +avp_arity('HAR', 'Authorization-Lifetime') -> 1; +avp_arity('HAR', 'Auth-Session-State') -> 1; +avp_arity('HAR', 'MIP-Reg-Request') -> 1; +avp_arity('HAR', 'Origin-Host') -> 1; +avp_arity('HAR', 'Origin-Realm') -> 1; +avp_arity('HAR', 'User-Name') -> 1; +avp_arity('HAR', 'Destination-Realm') -> 1; +avp_arity('HAR', 'MIP-Feature-Vector') -> 1; +avp_arity('HAR', 'Destination-Host') -> {0, 1}; +avp_arity('HAR', 'MIP-MN-to-HA-MSA') -> {0, 1}; +avp_arity('HAR', 'MIP-MN-to-FA-MSA') -> {0, 1}; +avp_arity('HAR', 'MIP-HA-to-MN-MSA') -> {0, 1}; +avp_arity('HAR', 'MIP-HA-to-FA-MSA') -> {0, 1}; +avp_arity('HAR', 'MIP-MSA-Lifetime') -> {0, 1}; +avp_arity('HAR', 'MIP-Originating-Foreign-AAA') -> + {0, 1}; +avp_arity('HAR', 'MIP-Mobile-Node-Address') -> {0, 1}; +avp_arity('HAR', 'MIP-Home-Agent-Address') -> {0, 1}; +avp_arity('HAR', 'MIP-Filter-Rule') -> {0, '*'}; +avp_arity('HAR', 'Origin-State-Id') -> {0, 1}; +avp_arity('HAA', 'Session-Id') -> 1; +avp_arity('HAA', 'Auth-Application-Id') -> 1; +avp_arity('HAA', 'Result-Code') -> 1; +avp_arity('HAA', 'Origin-Host') -> 1; +avp_arity('HAA', 'Origin-Realm') -> 1; +avp_arity('HAA', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('HAA', 'User-Name') -> {0, 1}; +avp_arity('HAA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('HAA', 'Error-Message') -> {0, 1}; +avp_arity('HAA', 'MIP-Reg-Reply') -> {0, 1}; +avp_arity('HAA', 'MIP-Home-Agent-Address') -> {0, 1}; +avp_arity('HAA', 'MIP-Mobile-Node-Address') -> {0, 1}; +avp_arity('HAA', 'MIP-FA-to-HA-SPI') -> {0, 1}; +avp_arity('HAA', 'MIP-FA-to-MN-SPI') -> {0, 1}; +avp_arity('HAA', 'Origin-State-Id') -> {0, 1}; +avp_arity('HAA', 'Proxy-Info') -> {0, '*'}; +avp_arity('HAA', 'AVP') -> {0, '*'}; +avp_arity('MIP-MN-AAA-Auth', 'MIP-MN-AAA-SPI') -> 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Auth-Input-Data-Length') -> + 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Authenticator-Length') -> + 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Authenticator-Offset') -> + 1; +avp_arity('MIP-MN-AAA-Auth', 'AVP') -> {0, '*'}; +avp_arity('MIP-MN-to-FA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-MN-to-FA-MSA', 'MIP-Nonce') -> 1; +avp_arity('MIP-MN-to-FA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-FA-to-MN-SPI') -> 1; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-FA-to-MN-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Replay-Mode') -> 1; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Nonce') -> 1; +avp_arity('MIP-MN-to-HA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Replay-Mode') -> 1; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-HA-to-MN-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-FA-to-HA-SPI') -> 1; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-FA-to-HA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-HA-to-FA-SPI') -> 1; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-HA-to-FA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-Originating-Foreign-AAA', + 'Origin-Realm') -> + 1; +avp_arity('MIP-Originating-Foreign-AAA', + 'Origin-Host') -> + 1; +avp_arity('MIP-Originating-Foreign-AAA', 'AVP') -> + {0, '*'}; +avp_arity('MIP-Home-Agent-Host', 'Destination-Realm') -> + 1; +avp_arity('MIP-Home-Agent-Host', 'Destination-Host') -> + 1; +avp_arity('MIP-Home-Agent-Host', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('MIP-Algorithm-Type') -> + {345, 64, undefined}; +avp_header('MIP-Auth-Input-Data-Length') -> + {338, 64, undefined}; +avp_header('MIP-Authenticator-Length') -> + {339, 64, undefined}; +avp_header('MIP-Authenticator-Offset') -> + {340, 64, undefined}; +avp_header('MIP-Candidate-Home-Agent-Host') -> + {336, 64, undefined}; +avp_header('MIP-FA-Challenge') -> {344, 64, undefined}; +avp_header('MIP-FA-to-HA-MSA') -> {328, 64, undefined}; +avp_header('MIP-FA-to-HA-SPI') -> {318, 64, undefined}; +avp_header('MIP-FA-to-MN-MSA') -> {326, 64, undefined}; +avp_header('MIP-FA-to-MN-SPI') -> {319, 64, undefined}; +avp_header('MIP-Feature-Vector') -> + {337, 64, undefined}; +avp_header('MIP-Filter-Rule') -> {342, 64, undefined}; +avp_header('MIP-HA-to-FA-MSA') -> {329, 64, undefined}; +avp_header('MIP-HA-to-FA-SPI') -> {323, 64, undefined}; +avp_header('MIP-HA-to-MN-MSA') -> {332, 64, undefined}; +avp_header('MIP-Home-Agent-Address') -> + {334, 64, undefined}; +avp_header('MIP-Home-Agent-Host') -> + {348, 64, undefined}; +avp_header('MIP-MN-AAA-Auth') -> {322, 64, undefined}; +avp_header('MIP-MN-AAA-SPI') -> {341, 64, undefined}; +avp_header('MIP-MN-to-FA-MSA') -> {325, 64, undefined}; +avp_header('MIP-MN-to-HA-MSA') -> {331, 64, undefined}; +avp_header('MIP-MSA-Lifetime') -> {367, 64, undefined}; +avp_header('MIP-Mobile-Node-Address') -> + {333, 64, undefined}; +avp_header('MIP-Nonce') -> {335, 64, undefined}; +avp_header('MIP-Originating-Foreign-AAA') -> + {347, 64, undefined}; +avp_header('MIP-Reg-Reply') -> {321, 64, undefined}; +avp_header('MIP-Reg-Request') -> {320, 64, undefined}; +avp_header('MIP-Replay-Mode') -> {346, 64, undefined}; +avp_header('MIP-Session-Key') -> {343, 64, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'MIP-Algorithm-Type', _) -> + enumerated_avp(T, 'MIP-Algorithm-Type', Data); +avp(T, Data, 'MIP-Auth-Input-Data-Length', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-Authenticator-Length', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-Authenticator-Offset', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-Candidate-Home-Agent-Host', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'MIP-FA-Challenge', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MIP-FA-to-HA-MSA', Opts) -> + grouped_avp(T, 'MIP-FA-to-HA-MSA', Data, Opts); +avp(T, Data, 'MIP-FA-to-HA-SPI', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-FA-to-MN-MSA', Opts) -> + grouped_avp(T, 'MIP-FA-to-MN-MSA', Data, Opts); +avp(T, Data, 'MIP-FA-to-MN-SPI', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-Feature-Vector', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-Filter-Rule', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'MIP-HA-to-FA-MSA', Opts) -> + grouped_avp(T, 'MIP-HA-to-FA-MSA', Data, Opts); +avp(T, Data, 'MIP-HA-to-FA-SPI', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-HA-to-MN-MSA', Opts) -> + grouped_avp(T, 'MIP-HA-to-MN-MSA', Data, Opts); +avp(T, Data, 'MIP-Home-Agent-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'MIP-Home-Agent-Host', Opts) -> + grouped_avp(T, 'MIP-Home-Agent-Host', Data, Opts); +avp(T, Data, 'MIP-MN-AAA-Auth', Opts) -> + grouped_avp(T, 'MIP-MN-AAA-Auth', Data, Opts); +avp(T, Data, 'MIP-MN-AAA-SPI', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-MN-to-FA-MSA', Opts) -> + grouped_avp(T, 'MIP-MN-to-FA-MSA', Data, Opts); +avp(T, Data, 'MIP-MN-to-HA-MSA', Opts) -> + grouped_avp(T, 'MIP-MN-to-HA-MSA', Data, Opts); +avp(T, Data, 'MIP-MSA-Lifetime', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MIP-Mobile-Node-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'MIP-Nonce', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MIP-Originating-Foreign-AAA', Opts) -> + grouped_avp(T, + 'MIP-Originating-Foreign-AAA', + Data, + Opts); +avp(T, Data, 'MIP-Reg-Reply', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MIP-Reg-Request', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MIP-Replay-Mode', _) -> + enumerated_avp(T, 'MIP-Replay-Mode', Data); +avp(T, Data, 'MIP-Session-Key', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('MIP-MN-AAA-Auth', Opts) -> + empty_group('MIP-MN-AAA-Auth', Opts); +empty_value('MIP-MN-to-FA-MSA', Opts) -> + empty_group('MIP-MN-to-FA-MSA', Opts); +empty_value('MIP-FA-to-MN-MSA', Opts) -> + empty_group('MIP-FA-to-MN-MSA', Opts); +empty_value('MIP-MN-to-HA-MSA', Opts) -> + empty_group('MIP-MN-to-HA-MSA', Opts); +empty_value('MIP-HA-to-MN-MSA', Opts) -> + empty_group('MIP-HA-to-MN-MSA', Opts); +empty_value('MIP-FA-to-HA-MSA', Opts) -> + empty_group('MIP-FA-to-HA-MSA', Opts); +empty_value('MIP-HA-to-FA-MSA', Opts) -> + empty_group('MIP-HA-to-FA-MSA', Opts); +empty_value('MIP-Originating-Foreign-AAA', Opts) -> + empty_group('MIP-Originating-Foreign-AAA', Opts); +empty_value('MIP-Home-Agent-Host', Opts) -> + empty_group('MIP-Home-Agent-Host', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"MIP-Algorithm-Type", 345, "Enumerated", "M"}, + {"MIP-Auth-Input-Data-Length", 338, "Unsigned32", "M"}, + {"MIP-Authenticator-Length", 339, "Unsigned32", "M"}, + {"MIP-Authenticator-Offset", 340, "Unsigned32", "M"}, + {"MIP-Candidate-Home-Agent-Host", + 336, + "DiameterIdentity", + "M"}, + {"MIP-FA-Challenge", 344, "OctetString", "M"}, + {"MIP-FA-to-HA-MSA", 328, "Grouped", "M"}, + {"MIP-FA-to-HA-SPI", 318, "Unsigned32", "M"}, + {"MIP-FA-to-MN-MSA", 326, "Grouped", "M"}, + {"MIP-FA-to-MN-SPI", 319, "Unsigned32", "M"}, + {"MIP-Feature-Vector", 337, "Unsigned32", "M"}, + {"MIP-Filter-Rule", 342, "IPFilterRule", "M"}, + {"MIP-HA-to-FA-MSA", 329, "Grouped", "M"}, + {"MIP-HA-to-FA-SPI", 323, "Unsigned32", "M"}, + {"MIP-HA-to-MN-MSA", 332, "Grouped", "M"}, + {"MIP-Home-Agent-Address", 334, "Address", "M"}, + {"MIP-Home-Agent-Host", 348, "Grouped", "M"}, + {"MIP-MN-AAA-Auth", 322, "Grouped", "M"}, + {"MIP-MN-AAA-SPI", 341, "Unsigned32", "M"}, + {"MIP-MN-to-FA-MSA", 325, "Grouped", "M"}, + {"MIP-MN-to-HA-MSA", 331, "Grouped", "M"}, + {"MIP-MSA-Lifetime", 367, "Unsigned32", "M"}, + {"MIP-Mobile-Node-Address", 333, "Address", "M"}, + {"MIP-Nonce", 335, "OctetString", "M"}, + {"MIP-Originating-Foreign-AAA", 347, "Grouped", "M"}, + {"MIP-Reg-Reply", 321, "OctetString", "M"}, + {"MIP-Reg-Request", 320, "OctetString", "M"}, + {"MIP-Replay-Mode", 346, "Enumerated", "M"}, + {"MIP-Session-Key", 343, "OctetString", "M"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, + [{260, "AMR", "AMA"}, {262, "HAR", "HAA"}]}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, + [{"MIP-MN-AAA-Auth", + 322, + [], + [{"MIP-MN-AAA-SPI"}, + {"MIP-Auth-Input-Data-Length"}, + {"MIP-Authenticator-Length"}, + {"MIP-Authenticator-Offset"}, + {'*', ["AVP"]}]}, + {"MIP-MN-to-FA-MSA", + 325, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Nonce"}, + {'*', ["AVP"]}]}, + {"MIP-FA-to-MN-MSA", + 326, + [], + [{"MIP-FA-to-MN-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-MN-to-HA-MSA", + 331, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Replay-Mode"}, + {"MIP-Nonce"}, + {'*', ["AVP"]}]}, + {"MIP-HA-to-MN-MSA", + 332, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Replay-Mode"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-FA-to-HA-MSA", + 328, + [], + [{"MIP-FA-to-HA-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-HA-to-FA-MSA", + 329, + [], + [{"MIP-HA-to-FA-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-Originating-Foreign-AAA", + 347, + [], + [{"Origin-Realm"}, {"Origin-Host"}, {'*', ["AVP"]}]}, + {"MIP-Home-Agent-Host", + 348, + [], + [{"Destination-Realm"}, + {"Destination-Host"}, + {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"AMR", + 260, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"User-Name"}, + {"Destination-Realm"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"MIP-Reg-Request"}, + {"MIP-MN-AAA-Auth"}, + ["Acct-Multi-Session-Id"], + ["Destination-Host"], + ["Origin-State-Id"], + ["MIP-Mobile-Node-Address"], + ["MIP-Home-Agent-Address"], + ["MIP-Feature-Vector"], + ["MIP-Originating-Foreign-AAA"], + ["Authorization-Lifetime"], + ["Auth-Session-State"], + ["MIP-FA-Challenge"], + ["MIP-Candidate-Home-Agent-Host"], + ["MIP-Home-Agent-Host"], + ["MIP-HA-to-FA-SPI"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"AMA", + 260, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Acct-Multi-Session-Id"], + ["User-Name"], + ["Authorization-Lifetime"], + ["Auth-Session-State"], + ["Error-Message"], + ["Error-Reporting-Host"], + ["Re-Auth-Request-Type"], + ["MIP-Feature-Vector"], + ["MIP-Reg-Reply"], + ["MIP-MN-to-FA-MSA"], + ["MIP-MN-to-HA-MSA"], + ["MIP-FA-to-MN-MSA"], + ["MIP-FA-to-HA-MSA"], + ["MIP-HA-to-MN-MSA"], + ["MIP-MSA-Lifetime"], + ["MIP-Home-Agent-Address"], + ["MIP-Mobile-Node-Address"], + {'*', ["MIP-Filter-Rule"]}]}, + {"HAR", + 262, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Authorization-Lifetime"}, + {"Auth-Session-State"}, + {"MIP-Reg-Request"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"User-Name"}, + {"Destination-Realm"}, + {"MIP-Feature-Vector"}, + ["Destination-Host"], + ["MIP-MN-to-HA-MSA"], + ["MIP-MN-to-FA-MSA"], + ["MIP-HA-to-MN-MSA"], + ["MIP-HA-to-FA-MSA"], + ["MIP-MSA-Lifetime"], + ["MIP-Originating-Foreign-AAA"], + ["MIP-Mobile-Node-Address"], + ["MIP-Home-Agent-Address"], + {'*', ["MIP-Filter-Rule"]}, + ["Origin-State-Id"]]}, + {"HAA", + 262, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["Acct-Multi-Session-Id"], + ["User-Name"], + ["Error-Reporting-Host"], + ["Error-Message"], + ["MIP-Reg-Reply"], + ["MIP-Home-Agent-Address"], + ["MIP-Mobile-Node-Address"], + ["MIP-FA-to-HA-SPI"], + ["MIP-FA-to-MN-SPI"], + ["Origin-State-Id"], + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}]}, + {name, "diameter_rfc4004"}]. + + diff --git a/src/diameter_rfc4005_nasreq.erl b/src/diameter_rfc4005_nasreq.erl new file mode 100644 index 0000000..d94bf45 --- /dev/null +++ b/src/diameter_rfc4005_nasreq.erl @@ -0,0 +1,3695 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc4005_nasreq). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['AAR', + 'AAA', + 'RAR', + 'RAA', + 'STR', + 'STA', + 'ASR', + 'ASA', + 'ACR', + 'ACA', + 'CHAP-Auth', + 'Tunneling', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('AAR', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Request-Type', + 'Destination-Host' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Port-Limit' = [], + 'User-Name' = [], + 'User-Password' = [], + 'Service-Type' = [], + 'State' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Connect-Info' = [], + 'CHAP-Auth' = [], + 'CHAP-Challenge' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IP-Netmask' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'ARAP-Password' = [], + 'ARAP-Security' = [], + 'ARAP-Security-Data' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('AAA', + {'Session-Id', + 'Auth-Application-Id', + 'Auth-Request-Type', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Service-Type' = [], + 'Class' = [], + 'Configuration-Token' = [], + 'Acct-Interim-Interval' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Idle-Timeout' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Re-Auth-Request-Type' = [], + 'Multi-Round-Time-Out' = [], + 'Session-Timeout' = [], + 'State' = [], + 'Reply-Message' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Filter-Id' = [], + 'Password-Retry' = [], + 'Port-Limit' = [], + 'Prompt' = [], + 'ARAP-Challenge-Response' = [], + 'ARAP-Features' = [], + 'ARAP-Security' = [], + 'ARAP-Security-Data' = [], + 'ARAP-Zone-Access' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IP-Netmask' = [], + 'Framed-Route' = [], + 'Framed-Pool' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'Framed-Routing' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Login-Service' = [], + 'Login-TCP-Port' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Tunneling' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('RAR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'Re-Auth-Request-Type', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'State' = [], + 'Class' = [], + 'Reply-Message' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('RAA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Service-Type' = [], + 'Configuration-Token' = [], + 'Idle-Timeout' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Re-Auth-Request-Type' = [], + 'State' = [], + 'Class' = [], + 'Reply-Message' = [], + 'Prompt' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('STR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Application-Id', + 'Termination-Cause', + 'User-Name' = [], + 'Destination-Host' = [], + 'Class' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('STA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Class' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('ASR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Destination-Host', + 'Auth-Application-Id', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-Interface-Id' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'State' = [], + 'Class' = [], + 'Reply-Message' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('ASA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'State' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('ACR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Destination-Host' = [], + 'Event-Timestamp' = [], + 'Acct-Delay-Time' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Class' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Input-Packets' = [], + 'Accounting-Output-Octets' = [], + 'Accounting-Output-Packets' = [], + 'Acct-Authentic' = [], + 'Accounting-Auth-Method' = [], + 'Acct-Link-Count' = [], + 'Acct-Session-Time' = [], + 'Acct-Tunnel-Connection' = [], + 'Acct-Tunnel-Packets-Lost' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Connect-Info' = [], + 'Originating-Line-Info' = [], + 'Authorization-Lifetime' = [], + 'Session-Timeout' = [], + 'Idle-Timeout' = [], + 'Port-Limit' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Filter-Id' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IP-Netmask' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Pool' = [], + 'Framed-Protocol' = [], + 'Framed-Route' = [], + 'Framed-Routing' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Login-Service' = [], + 'Login-TCP-Port' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('ACA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id' = [], + 'Vendor-Specific-Application-Id' = [], + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Event-Timestamp' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Class' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record('Tunneling', + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc4005_nasreq. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(265, true) -> 'AAR'; +msg_name(265, false) -> 'AAA'; +msg_name(271, true) -> 'ACR'; +msg_name(271, false) -> 'ACA'; +msg_name(258, true) -> 'RAR'; +msg_name(258, false) -> 'RAA'; +msg_name(274, true) -> 'ASR'; +msg_name(274, false) -> 'ASA'; +msg_name(275, true) -> 'STR'; +msg_name(275, false) -> 'STA'; +msg_name(_, _) -> ''. + +msg_header('AAR') -> {265, 192, 1}; +msg_header('AAA') -> {265, 64, 1}; +msg_header('RAR') -> {258, 192, 1}; +msg_header('RAA') -> {258, 64, 1}; +msg_header('STR') -> {275, 192, 1}; +msg_header('STA') -> {275, 64, 1}; +msg_header('ASR') -> {274, 192, 1}; +msg_header('ASA') -> {274, 64, 1}; +msg_header('ACR') -> {271, 192, 1}; +msg_header('ACA') -> {271, 64, 1}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('AAR') -> 'AAR'; +rec2msg('AAA') -> 'AAA'; +rec2msg('RAR') -> 'RAR'; +rec2msg('RAA') -> 'RAA'; +rec2msg('STR') -> 'STR'; +rec2msg('STA') -> 'STA'; +rec2msg('ASR') -> 'ASR'; +rec2msg('ASA') -> 'ASA'; +rec2msg('ACR') -> 'ACR'; +rec2msg('ACA') -> 'ACA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('AAR') -> 'AAR'; +msg2rec('AAA') -> 'AAA'; +msg2rec('RAR') -> 'RAR'; +msg2rec('RAA') -> 'RAA'; +msg2rec('STR') -> 'STR'; +msg2rec('STA') -> 'STA'; +msg2rec('ASR') -> 'ASR'; +msg2rec('ASA') -> 'ASA'; +msg2rec('ACR') -> 'ACR'; +msg2rec('ACA') -> 'ACA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('CHAP-Auth') -> 'CHAP-Auth'; +name2rec('Tunneling') -> 'Tunneling'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(84, undefined) -> + {'ARAP-Challenge-Response', 'OctetString'}; +avp_name(71, undefined) -> + {'ARAP-Features', 'OctetString'}; +avp_name(70, undefined) -> + {'ARAP-Password', 'OctetString'}; +avp_name(73, undefined) -> + {'ARAP-Security', 'Unsigned32'}; +avp_name(74, undefined) -> + {'ARAP-Security-Data', 'OctetString'}; +avp_name(72, undefined) -> + {'ARAP-Zone-Access', 'Enumerated'}; +avp_name(406, undefined) -> + {'Accounting-Auth-Method', 'Enumerated'}; +avp_name(363, undefined) -> + {'Accounting-Input-Octets', 'Unsigned64'}; +avp_name(365, undefined) -> + {'Accounting-Input-Packets', 'Unsigned64'}; +avp_name(364, undefined) -> + {'Accounting-Output-Octets', 'Unsigned64'}; +avp_name(366, undefined) -> + {'Accounting-Output-Packets', 'Unsigned64'}; +avp_name(45, undefined) -> + {'Acct-Authentic', 'Enumerated'}; +avp_name(41, undefined) -> + {'Acct-Delay-Time', 'Unsigned32'}; +avp_name(51, undefined) -> + {'Acct-Link-Count', 'Unsigned32'}; +avp_name(46, undefined) -> + {'Acct-Session-Time', 'Unsigned32'}; +avp_name(68, undefined) -> + {'Acct-Tunnel-Connection', 'OctetString'}; +avp_name(86, undefined) -> + {'Acct-Tunnel-Packets-Lost', 'Unsigned32'}; +avp_name(403, undefined) -> + {'CHAP-Algorithm', 'Enumerated'}; +avp_name(402, undefined) -> {'CHAP-Auth', 'Grouped'}; +avp_name(60, undefined) -> + {'CHAP-Challenge', 'OctetString'}; +avp_name(404, undefined) -> + {'CHAP-Ident', 'OctetString'}; +avp_name(405, undefined) -> + {'CHAP-Response', 'OctetString'}; +avp_name(20, undefined) -> + {'Callback-Id', 'UTF8String'}; +avp_name(19, undefined) -> + {'Callback-Number', 'UTF8String'}; +avp_name(30, undefined) -> + {'Called-Station-Id', 'UTF8String'}; +avp_name(31, undefined) -> + {'Calling-Station-Id', 'UTF8String'}; +avp_name(78, undefined) -> + {'Configuration-Token', 'OctetString'}; +avp_name(77, undefined) -> + {'Connect-Info', 'UTF8String'}; +avp_name(11, undefined) -> {'Filter-Id', 'UTF8String'}; +avp_name(37, undefined) -> + {'Framed-AppleTalk-Link', 'Unsigned32'}; +avp_name(38, undefined) -> + {'Framed-AppleTalk-Network', 'Unsigned32'}; +avp_name(39, undefined) -> + {'Framed-AppleTalk-Zone', 'OctetString'}; +avp_name(13, undefined) -> + {'Framed-Compression', 'Enumerated'}; +avp_name(8, undefined) -> + {'Framed-IP-Address', 'OctetString'}; +avp_name(9, undefined) -> + {'Framed-IP-Netmask', 'OctetString'}; +avp_name(23, undefined) -> + {'Framed-IPX-Network', 'UTF8String'}; +avp_name(100, undefined) -> + {'Framed-IPv6-Pool', 'OctetString'}; +avp_name(97, undefined) -> + {'Framed-IPv6-Prefix', 'OctetString'}; +avp_name(99, undefined) -> + {'Framed-IPv6-Route', 'UTF8String'}; +avp_name(96, undefined) -> + {'Framed-Interface-Id', 'Unsigned64'}; +avp_name(12, undefined) -> {'Framed-MTU', 'Unsigned32'}; +avp_name(88, undefined) -> + {'Framed-Pool', 'OctetString'}; +avp_name(7, undefined) -> + {'Framed-Protocol', 'Enumerated'}; +avp_name(22, undefined) -> + {'Framed-Route', 'UTF8String'}; +avp_name(10, undefined) -> + {'Framed-Routing', 'Enumerated'}; +avp_name(28, undefined) -> + {'Idle-Timeout', 'Unsigned32'}; +avp_name(14, undefined) -> + {'Login-IP-Host', 'OctetString'}; +avp_name(98, undefined) -> + {'Login-IPv6-Host', 'OctetString'}; +avp_name(36, undefined) -> + {'Login-LAT-Group', 'OctetString'}; +avp_name(35, undefined) -> + {'Login-LAT-Node', 'OctetString'}; +avp_name(63, undefined) -> + {'Login-LAT-Port', 'OctetString'}; +avp_name(34, undefined) -> + {'Login-LAT-Service', 'OctetString'}; +avp_name(15, undefined) -> + {'Login-Service', 'Enumerated'}; +avp_name(16, undefined) -> + {'Login-TCP-Port', 'Unsigned32'}; +avp_name(400, undefined) -> + {'NAS-Filter-Rule', 'IPFilterRule'}; +avp_name(4, undefined) -> + {'NAS-IP-Address', 'OctetString'}; +avp_name(95, undefined) -> + {'NAS-IPv6-Address', 'OctetString'}; +avp_name(32, undefined) -> + {'NAS-Identifier', 'UTF8String'}; +avp_name(5, undefined) -> {'NAS-Port', 'Unsigned32'}; +avp_name(87, undefined) -> + {'NAS-Port-Id', 'UTF8String'}; +avp_name(61, undefined) -> + {'NAS-Port-Type', 'Enumerated'}; +avp_name(408, undefined) -> + {'Origin-AAA-Protocol', 'Enumerated'}; +avp_name(94, undefined) -> + {'Originating-Line-Info', 'OctetString'}; +avp_name(75, undefined) -> + {'Password-Retry', 'Unsigned32'}; +avp_name(62, undefined) -> {'Port-Limit', 'Unsigned32'}; +avp_name(76, undefined) -> {'Prompt', 'Enumerated'}; +avp_name(407, undefined) -> + {'QoS-Filter-Rule', 'QoSFilterRule'}; +avp_name(18, undefined) -> + {'Reply-Message', 'UTF8String'}; +avp_name(6, undefined) -> + {'Service-Type', 'Enumerated'}; +avp_name(24, undefined) -> {'State', 'OctetString'}; +avp_name(82, undefined) -> + {'Tunnel-Assignment-Id', 'OctetString'}; +avp_name(90, undefined) -> + {'Tunnel-Client-Auth-Id', 'UTF8String'}; +avp_name(66, undefined) -> + {'Tunnel-Client-Endpoint', 'UTF8String'}; +avp_name(65, undefined) -> + {'Tunnel-Medium-Type', 'Enumerated'}; +avp_name(69, undefined) -> + {'Tunnel-Password', 'OctetString'}; +avp_name(83, undefined) -> + {'Tunnel-Preference', 'Unsigned32'}; +avp_name(81, undefined) -> + {'Tunnel-Private-Group-Id', 'OctetString'}; +avp_name(91, undefined) -> + {'Tunnel-Server-Auth-Id', 'UTF8String'}; +avp_name(67, undefined) -> + {'Tunnel-Server-Endpoint', 'UTF8String'}; +avp_name(64, undefined) -> + {'Tunnel-Type', 'Enumerated'}; +avp_name(401, undefined) -> {'Tunneling', 'Grouped'}; +avp_name(2, undefined) -> + {'User-Password', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('AAR') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Auth-Request-Type', 1}, + {'Destination-Host', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Port-Limit', {0, 1}}, + {'User-Name', {0, 1}}, + {'User-Password', {0, 1}}, + {'Service-Type', {0, 1}}, + {'State', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Auth-Grace-Period', {0, 1}}, + {'Auth-Session-State', {0, 1}}, + {'Callback-Number', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'Calling-Station-Id', {0, 1}}, + {'Originating-Line-Info', {0, 1}}, + {'Connect-Info', {0, 1}}, + {'CHAP-Auth', {0, 1}}, + {'CHAP-Challenge', {0, 1}}, + {'Framed-Compression', {0, '*'}}, + {'Framed-Interface-Id', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, '*'}}, + {'Framed-IP-Netmask', {0, 1}}, + {'Framed-MTU', {0, 1}}, + {'Framed-Protocol', {0, 1}}, + {'ARAP-Password', {0, 1}}, + {'ARAP-Security', {0, 1}}, + {'ARAP-Security-Data', {0, '*'}}, + {'Login-IP-Host', {0, '*'}}, + {'Login-IPv6-Host', {0, '*'}}, + {'Login-LAT-Group', {0, 1}}, + {'Login-LAT-Node', {0, 1}}, + {'Login-LAT-Port', {0, 1}}, + {'Login-LAT-Service', {0, 1}}, + {'Tunneling', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('AAA') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Auth-Request-Type', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', {0, 1}}, + {'Service-Type', {0, 1}}, + {'Class', {0, '*'}}, + {'Configuration-Token', {0, '*'}}, + {'Acct-Interim-Interval', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Idle-Timeout', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Auth-Grace-Period', {0, 1}}, + {'Auth-Session-State', {0, 1}}, + {'Re-Auth-Request-Type', {0, 1}}, + {'Multi-Round-Time-Out', {0, 1}}, + {'Session-Timeout', {0, 1}}, + {'State', {0, 1}}, + {'Reply-Message', {0, '*'}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Filter-Id', {0, '*'}}, + {'Password-Retry', {0, 1}}, + {'Port-Limit', {0, 1}}, + {'Prompt', {0, 1}}, + {'ARAP-Challenge-Response', {0, 1}}, + {'ARAP-Features', {0, 1}}, + {'ARAP-Security', {0, 1}}, + {'ARAP-Security-Data', {0, '*'}}, + {'ARAP-Zone-Access', {0, 1}}, + {'Callback-Id', {0, 1}}, + {'Callback-Number', {0, 1}}, + {'Framed-AppleTalk-Link', {0, 1}}, + {'Framed-AppleTalk-Network', {0, '*'}}, + {'Framed-AppleTalk-Zone', {0, 1}}, + {'Framed-Compression', {0, '*'}}, + {'Framed-Interface-Id', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, '*'}}, + {'Framed-IPv6-Pool', {0, 1}}, + {'Framed-IPv6-Route', {0, '*'}}, + {'Framed-IP-Netmask', {0, 1}}, + {'Framed-Route', {0, '*'}}, + {'Framed-Pool', {0, 1}}, + {'Framed-IPX-Network', {0, 1}}, + {'Framed-MTU', {0, 1}}, + {'Framed-Protocol', {0, 1}}, + {'Framed-Routing', {0, 1}}, + {'Login-IP-Host', {0, '*'}}, + {'Login-IPv6-Host', {0, '*'}}, + {'Login-LAT-Group', {0, 1}}, + {'Login-LAT-Node', {0, 1}}, + {'Login-LAT-Port', {0, 1}}, + {'Login-LAT-Service', {0, 1}}, + {'Login-Service', {0, 1}}, + {'Login-TCP-Port', {0, 1}}, + {'NAS-Filter-Rule', {0, '*'}}, + {'QoS-Filter-Rule', {0, '*'}}, + {'Tunneling', {0, '*'}}, + {'Redirect-Host', {0, '*'}}, + {'Redirect-Host-Usage', {0, 1}}, + {'Redirect-Max-Cache-Time', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('RAR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'Auth-Application-Id', 1}, + {'Re-Auth-Request-Type', 1}, + {'User-Name', {0, 1}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Service-Type', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'Calling-Station-Id', {0, 1}}, + {'Originating-Line-Info', {0, 1}}, + {'Acct-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'State', {0, 1}}, + {'Class', {0, '*'}}, + {'Reply-Message', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('RAA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', {0, 1}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Redirect-Host', {0, '*'}}, + {'Redirect-Host-Usage', {0, 1}}, + {'Redirect-Max-Cache-Time', {0, 1}}, + {'Service-Type', {0, 1}}, + {'Configuration-Token', {0, '*'}}, + {'Idle-Timeout', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Auth-Grace-Period', {0, 1}}, + {'Re-Auth-Request-Type', {0, 1}}, + {'State', {0, 1}}, + {'Class', {0, '*'}}, + {'Reply-Message', {0, '*'}}, + {'Prompt', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('STR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Auth-Application-Id', 1}, + {'Termination-Cause', 1}, + {'User-Name', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Class', {0, '*'}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('STA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', {0, 1}}, + {'Class', {0, '*'}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Redirect-Host', {0, '*'}}, + {'Redirect-Host-Usage', {0, 1}}, + {'Redirect-Max-Cache-Time', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ASR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'Auth-Application-Id', 1}, + {'User-Name', {0, 1}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Service-Type', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'Calling-Station-Id', {0, 1}}, + {'Originating-Line-Info', {0, 1}}, + {'Acct-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'State', {0, 1}}, + {'Class', {0, '*'}}, + {'Reply-Message', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ASA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', {0, 1}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'State', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Redirect-Host', {0, '*'}}, + {'Redirect-Host-Usage', {0, 1}}, + {'Redirect-Max-Cache-Time', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ACR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Accounting-Record-Type', 1}, + {'Accounting-Record-Number', 1}, + {'Acct-Application-Id', {0, 1}}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'User-Name', {0, 1}}, + {'Accounting-Sub-Session-Id', {0, 1}}, + {'Acct-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Acct-Delay-Time', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Class', {0, '*'}}, + {'Service-Type', {0, 1}}, + {'Termination-Cause', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Input-Packets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Accounting-Output-Packets', {0, 1}}, + {'Acct-Authentic', {0, 1}}, + {'Accounting-Auth-Method', {0, 1}}, + {'Acct-Link-Count', {0, 1}}, + {'Acct-Session-Time', {0, 1}}, + {'Acct-Tunnel-Connection', {0, 1}}, + {'Acct-Tunnel-Packets-Lost', {0, 1}}, + {'Callback-Id', {0, 1}}, + {'Callback-Number', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'Calling-Station-Id', {0, 1}}, + {'Connect-Info', {0, '*'}}, + {'Originating-Line-Info', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Session-Timeout', {0, 1}}, + {'Idle-Timeout', {0, 1}}, + {'Port-Limit', {0, 1}}, + {'Accounting-Realtime-Required', {0, 1}}, + {'Acct-Interim-Interval', {0, 1}}, + {'Filter-Id', {0, '*'}}, + {'NAS-Filter-Rule', {0, '*'}}, + {'QoS-Filter-Rule', {0, '*'}}, + {'Framed-AppleTalk-Link', {0, 1}}, + {'Framed-AppleTalk-Network', {0, 1}}, + {'Framed-AppleTalk-Zone', {0, 1}}, + {'Framed-Compression', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IP-Netmask', {0, 1}}, + {'Framed-IPv6-Prefix', {0, '*'}}, + {'Framed-IPv6-Pool', {0, 1}}, + {'Framed-IPv6-Route', {0, '*'}}, + {'Framed-IPX-Network', {0, 1}}, + {'Framed-MTU', {0, 1}}, + {'Framed-Pool', {0, 1}}, + {'Framed-Protocol', {0, 1}}, + {'Framed-Route', {0, '*'}}, + {'Framed-Routing', {0, 1}}, + {'Login-IP-Host', {0, '*'}}, + {'Login-IPv6-Host', {0, '*'}}, + {'Login-LAT-Group', {0, 1}}, + {'Login-LAT-Node', {0, 1}}, + {'Login-LAT-Port', {0, 1}}, + {'Login-LAT-Service', {0, 1}}, + {'Login-Service', {0, 1}}, + {'Login-TCP-Port', {0, 1}}, + {'Tunneling', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ACA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Accounting-Record-Type', 1}, + {'Accounting-Record-Number', 1}, + {'Acct-Application-Id', {0, 1}}, + {'Vendor-Specific-Application-Id', {0, 1}}, + {'User-Name', {0, 1}}, + {'Accounting-Sub-Session-Id', {0, 1}}, + {'Acct-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Service-Type', {0, 1}}, + {'Termination-Cause', {0, 1}}, + {'Accounting-Realtime-Required', {0, 1}}, + {'Acct-Interim-Interval', {0, 1}}, + {'Class', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CHAP-Auth') -> + [{'CHAP-Algorithm', 1}, + {'CHAP-Ident', 1}, + {'CHAP-Response', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Tunneling') -> + [{'Tunnel-Type', 1}, + {'Tunnel-Medium-Type', 1}, + {'Tunnel-Client-Endpoint', 1}, + {'Tunnel-Server-Endpoint', 1}, + {'Tunnel-Preference', {0, 1}}, + {'Tunnel-Client-Auth-Id', {0, 1}}, + {'Tunnel-Server-Auth-Id', {0, 1}}, + {'Tunnel-Assignment-Id', {0, 1}}, + {'Tunnel-Password', {0, 1}}, + {'Tunnel-Private-Group-Id', {0, 1}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('AAR', 'Session-Id') -> 1; +avp_arity('AAR', 'Auth-Application-Id') -> 1; +avp_arity('AAR', 'Origin-Host') -> 1; +avp_arity('AAR', 'Origin-Realm') -> 1; +avp_arity('AAR', 'Destination-Realm') -> 1; +avp_arity('AAR', 'Auth-Request-Type') -> 1; +avp_arity('AAR', 'Destination-Host') -> {0, 1}; +avp_arity('AAR', 'NAS-Identifier') -> {0, 1}; +avp_arity('AAR', 'NAS-IP-Address') -> {0, 1}; +avp_arity('AAR', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('AAR', 'NAS-Port') -> {0, 1}; +avp_arity('AAR', 'NAS-Port-Id') -> {0, 1}; +avp_arity('AAR', 'NAS-Port-Type') -> {0, 1}; +avp_arity('AAR', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('AAR', 'Origin-State-Id') -> {0, 1}; +avp_arity('AAR', 'Port-Limit') -> {0, 1}; +avp_arity('AAR', 'User-Name') -> {0, 1}; +avp_arity('AAR', 'User-Password') -> {0, 1}; +avp_arity('AAR', 'Service-Type') -> {0, 1}; +avp_arity('AAR', 'State') -> {0, 1}; +avp_arity('AAR', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('AAR', 'Auth-Grace-Period') -> {0, 1}; +avp_arity('AAR', 'Auth-Session-State') -> {0, 1}; +avp_arity('AAR', 'Callback-Number') -> {0, 1}; +avp_arity('AAR', 'Called-Station-Id') -> {0, 1}; +avp_arity('AAR', 'Calling-Station-Id') -> {0, 1}; +avp_arity('AAR', 'Originating-Line-Info') -> {0, 1}; +avp_arity('AAR', 'Connect-Info') -> {0, 1}; +avp_arity('AAR', 'CHAP-Auth') -> {0, 1}; +avp_arity('AAR', 'CHAP-Challenge') -> {0, 1}; +avp_arity('AAR', 'Framed-Compression') -> {0, '*'}; +avp_arity('AAR', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('AAR', 'Framed-IP-Address') -> {0, 1}; +avp_arity('AAR', 'Framed-IPv6-Prefix') -> {0, '*'}; +avp_arity('AAR', 'Framed-IP-Netmask') -> {0, 1}; +avp_arity('AAR', 'Framed-MTU') -> {0, 1}; +avp_arity('AAR', 'Framed-Protocol') -> {0, 1}; +avp_arity('AAR', 'ARAP-Password') -> {0, 1}; +avp_arity('AAR', 'ARAP-Security') -> {0, 1}; +avp_arity('AAR', 'ARAP-Security-Data') -> {0, '*'}; +avp_arity('AAR', 'Login-IP-Host') -> {0, '*'}; +avp_arity('AAR', 'Login-IPv6-Host') -> {0, '*'}; +avp_arity('AAR', 'Login-LAT-Group') -> {0, 1}; +avp_arity('AAR', 'Login-LAT-Node') -> {0, 1}; +avp_arity('AAR', 'Login-LAT-Port') -> {0, 1}; +avp_arity('AAR', 'Login-LAT-Service') -> {0, 1}; +avp_arity('AAR', 'Tunneling') -> {0, '*'}; +avp_arity('AAR', 'Proxy-Info') -> {0, '*'}; +avp_arity('AAR', 'Route-Record') -> {0, '*'}; +avp_arity('AAR', 'AVP') -> {0, '*'}; +avp_arity('AAA', 'Session-Id') -> 1; +avp_arity('AAA', 'Auth-Application-Id') -> 1; +avp_arity('AAA', 'Auth-Request-Type') -> 1; +avp_arity('AAA', 'Result-Code') -> 1; +avp_arity('AAA', 'Origin-Host') -> 1; +avp_arity('AAA', 'Origin-Realm') -> 1; +avp_arity('AAA', 'User-Name') -> {0, 1}; +avp_arity('AAA', 'Service-Type') -> {0, 1}; +avp_arity('AAA', 'Class') -> {0, '*'}; +avp_arity('AAA', 'Configuration-Token') -> {0, '*'}; +avp_arity('AAA', 'Acct-Interim-Interval') -> {0, 1}; +avp_arity('AAA', 'Error-Message') -> {0, 1}; +avp_arity('AAA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('AAA', 'Failed-AVP') -> {0, '*'}; +avp_arity('AAA', 'Idle-Timeout') -> {0, 1}; +avp_arity('AAA', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('AAA', 'Auth-Grace-Period') -> {0, 1}; +avp_arity('AAA', 'Auth-Session-State') -> {0, 1}; +avp_arity('AAA', 'Re-Auth-Request-Type') -> {0, 1}; +avp_arity('AAA', 'Multi-Round-Time-Out') -> {0, 1}; +avp_arity('AAA', 'Session-Timeout') -> {0, 1}; +avp_arity('AAA', 'State') -> {0, 1}; +avp_arity('AAA', 'Reply-Message') -> {0, '*'}; +avp_arity('AAA', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('AAA', 'Origin-State-Id') -> {0, 1}; +avp_arity('AAA', 'Filter-Id') -> {0, '*'}; +avp_arity('AAA', 'Password-Retry') -> {0, 1}; +avp_arity('AAA', 'Port-Limit') -> {0, 1}; +avp_arity('AAA', 'Prompt') -> {0, 1}; +avp_arity('AAA', 'ARAP-Challenge-Response') -> {0, 1}; +avp_arity('AAA', 'ARAP-Features') -> {0, 1}; +avp_arity('AAA', 'ARAP-Security') -> {0, 1}; +avp_arity('AAA', 'ARAP-Security-Data') -> {0, '*'}; +avp_arity('AAA', 'ARAP-Zone-Access') -> {0, 1}; +avp_arity('AAA', 'Callback-Id') -> {0, 1}; +avp_arity('AAA', 'Callback-Number') -> {0, 1}; +avp_arity('AAA', 'Framed-AppleTalk-Link') -> {0, 1}; +avp_arity('AAA', 'Framed-AppleTalk-Network') -> + {0, '*'}; +avp_arity('AAA', 'Framed-AppleTalk-Zone') -> {0, 1}; +avp_arity('AAA', 'Framed-Compression') -> {0, '*'}; +avp_arity('AAA', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('AAA', 'Framed-IP-Address') -> {0, 1}; +avp_arity('AAA', 'Framed-IPv6-Prefix') -> {0, '*'}; +avp_arity('AAA', 'Framed-IPv6-Pool') -> {0, 1}; +avp_arity('AAA', 'Framed-IPv6-Route') -> {0, '*'}; +avp_arity('AAA', 'Framed-IP-Netmask') -> {0, 1}; +avp_arity('AAA', 'Framed-Route') -> {0, '*'}; +avp_arity('AAA', 'Framed-Pool') -> {0, 1}; +avp_arity('AAA', 'Framed-IPX-Network') -> {0, 1}; +avp_arity('AAA', 'Framed-MTU') -> {0, 1}; +avp_arity('AAA', 'Framed-Protocol') -> {0, 1}; +avp_arity('AAA', 'Framed-Routing') -> {0, 1}; +avp_arity('AAA', 'Login-IP-Host') -> {0, '*'}; +avp_arity('AAA', 'Login-IPv6-Host') -> {0, '*'}; +avp_arity('AAA', 'Login-LAT-Group') -> {0, 1}; +avp_arity('AAA', 'Login-LAT-Node') -> {0, 1}; +avp_arity('AAA', 'Login-LAT-Port') -> {0, 1}; +avp_arity('AAA', 'Login-LAT-Service') -> {0, 1}; +avp_arity('AAA', 'Login-Service') -> {0, 1}; +avp_arity('AAA', 'Login-TCP-Port') -> {0, 1}; +avp_arity('AAA', 'NAS-Filter-Rule') -> {0, '*'}; +avp_arity('AAA', 'QoS-Filter-Rule') -> {0, '*'}; +avp_arity('AAA', 'Tunneling') -> {0, '*'}; +avp_arity('AAA', 'Redirect-Host') -> {0, '*'}; +avp_arity('AAA', 'Redirect-Host-Usage') -> {0, 1}; +avp_arity('AAA', 'Redirect-Max-Cache-Time') -> {0, 1}; +avp_arity('AAA', 'Proxy-Info') -> {0, '*'}; +avp_arity('AAA', 'AVP') -> {0, '*'}; +avp_arity('RAR', 'Session-Id') -> 1; +avp_arity('RAR', 'Origin-Host') -> 1; +avp_arity('RAR', 'Origin-Realm') -> 1; +avp_arity('RAR', 'Destination-Realm') -> 1; +avp_arity('RAR', 'Destination-Host') -> 1; +avp_arity('RAR', 'Auth-Application-Id') -> 1; +avp_arity('RAR', 'Re-Auth-Request-Type') -> 1; +avp_arity('RAR', 'User-Name') -> {0, 1}; +avp_arity('RAR', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('RAR', 'Origin-State-Id') -> {0, 1}; +avp_arity('RAR', 'NAS-Identifier') -> {0, 1}; +avp_arity('RAR', 'NAS-IP-Address') -> {0, 1}; +avp_arity('RAR', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('RAR', 'NAS-Port') -> {0, 1}; +avp_arity('RAR', 'NAS-Port-Id') -> {0, 1}; +avp_arity('RAR', 'NAS-Port-Type') -> {0, 1}; +avp_arity('RAR', 'Service-Type') -> {0, 1}; +avp_arity('RAR', 'Framed-IP-Address') -> {0, 1}; +avp_arity('RAR', 'Framed-IPv6-Prefix') -> {0, 1}; +avp_arity('RAR', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('RAR', 'Called-Station-Id') -> {0, 1}; +avp_arity('RAR', 'Calling-Station-Id') -> {0, 1}; +avp_arity('RAR', 'Originating-Line-Info') -> {0, 1}; +avp_arity('RAR', 'Acct-Session-Id') -> {0, 1}; +avp_arity('RAR', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('RAR', 'State') -> {0, 1}; +avp_arity('RAR', 'Class') -> {0, '*'}; +avp_arity('RAR', 'Reply-Message') -> {0, 1}; +avp_arity('RAR', 'Proxy-Info') -> {0, '*'}; +avp_arity('RAR', 'Route-Record') -> {0, '*'}; +avp_arity('RAR', 'AVP') -> {0, '*'}; +avp_arity('RAA', 'Session-Id') -> 1; +avp_arity('RAA', 'Result-Code') -> 1; +avp_arity('RAA', 'Origin-Host') -> 1; +avp_arity('RAA', 'Origin-Realm') -> 1; +avp_arity('RAA', 'User-Name') -> {0, 1}; +avp_arity('RAA', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('RAA', 'Origin-State-Id') -> {0, 1}; +avp_arity('RAA', 'Error-Message') -> {0, 1}; +avp_arity('RAA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('RAA', 'Failed-AVP') -> {0, '*'}; +avp_arity('RAA', 'Redirect-Host') -> {0, '*'}; +avp_arity('RAA', 'Redirect-Host-Usage') -> {0, 1}; +avp_arity('RAA', 'Redirect-Max-Cache-Time') -> {0, 1}; +avp_arity('RAA', 'Service-Type') -> {0, 1}; +avp_arity('RAA', 'Configuration-Token') -> {0, '*'}; +avp_arity('RAA', 'Idle-Timeout') -> {0, 1}; +avp_arity('RAA', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('RAA', 'Auth-Grace-Period') -> {0, 1}; +avp_arity('RAA', 'Re-Auth-Request-Type') -> {0, 1}; +avp_arity('RAA', 'State') -> {0, 1}; +avp_arity('RAA', 'Class') -> {0, '*'}; +avp_arity('RAA', 'Reply-Message') -> {0, '*'}; +avp_arity('RAA', 'Prompt') -> {0, 1}; +avp_arity('RAA', 'Proxy-Info') -> {0, '*'}; +avp_arity('RAA', 'AVP') -> {0, '*'}; +avp_arity('STR', 'Session-Id') -> 1; +avp_arity('STR', 'Origin-Host') -> 1; +avp_arity('STR', 'Origin-Realm') -> 1; +avp_arity('STR', 'Destination-Realm') -> 1; +avp_arity('STR', 'Auth-Application-Id') -> 1; +avp_arity('STR', 'Termination-Cause') -> 1; +avp_arity('STR', 'User-Name') -> {0, 1}; +avp_arity('STR', 'Destination-Host') -> {0, 1}; +avp_arity('STR', 'Class') -> {0, '*'}; +avp_arity('STR', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('STR', 'Origin-State-Id') -> {0, 1}; +avp_arity('STR', 'Proxy-Info') -> {0, '*'}; +avp_arity('STR', 'Route-Record') -> {0, '*'}; +avp_arity('STR', 'AVP') -> {0, '*'}; +avp_arity('STA', 'Session-Id') -> 1; +avp_arity('STA', 'Result-Code') -> 1; +avp_arity('STA', 'Origin-Host') -> 1; +avp_arity('STA', 'Origin-Realm') -> 1; +avp_arity('STA', 'User-Name') -> {0, 1}; +avp_arity('STA', 'Class') -> {0, '*'}; +avp_arity('STA', 'Error-Message') -> {0, 1}; +avp_arity('STA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('STA', 'Failed-AVP') -> {0, '*'}; +avp_arity('STA', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('STA', 'Origin-State-Id') -> {0, 1}; +avp_arity('STA', 'Redirect-Host') -> {0, '*'}; +avp_arity('STA', 'Redirect-Host-Usage') -> {0, 1}; +avp_arity('STA', 'Redirect-Max-Cache-Time') -> {0, 1}; +avp_arity('STA', 'Proxy-Info') -> {0, '*'}; +avp_arity('STA', 'AVP') -> {0, '*'}; +avp_arity('ASR', 'Session-Id') -> 1; +avp_arity('ASR', 'Origin-Host') -> 1; +avp_arity('ASR', 'Origin-Realm') -> 1; +avp_arity('ASR', 'Destination-Realm') -> 1; +avp_arity('ASR', 'Destination-Host') -> 1; +avp_arity('ASR', 'Auth-Application-Id') -> 1; +avp_arity('ASR', 'User-Name') -> {0, 1}; +avp_arity('ASR', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('ASR', 'Origin-State-Id') -> {0, 1}; +avp_arity('ASR', 'NAS-Identifier') -> {0, 1}; +avp_arity('ASR', 'NAS-IP-Address') -> {0, 1}; +avp_arity('ASR', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('ASR', 'NAS-Port') -> {0, 1}; +avp_arity('ASR', 'NAS-Port-Id') -> {0, 1}; +avp_arity('ASR', 'NAS-Port-Type') -> {0, 1}; +avp_arity('ASR', 'Service-Type') -> {0, 1}; +avp_arity('ASR', 'Framed-IP-Address') -> {0, 1}; +avp_arity('ASR', 'Framed-IPv6-Prefix') -> {0, 1}; +avp_arity('ASR', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('ASR', 'Called-Station-Id') -> {0, 1}; +avp_arity('ASR', 'Calling-Station-Id') -> {0, 1}; +avp_arity('ASR', 'Originating-Line-Info') -> {0, 1}; +avp_arity('ASR', 'Acct-Session-Id') -> {0, 1}; +avp_arity('ASR', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('ASR', 'State') -> {0, 1}; +avp_arity('ASR', 'Class') -> {0, '*'}; +avp_arity('ASR', 'Reply-Message') -> {0, '*'}; +avp_arity('ASR', 'Proxy-Info') -> {0, '*'}; +avp_arity('ASR', 'Route-Record') -> {0, '*'}; +avp_arity('ASR', 'AVP') -> {0, '*'}; +avp_arity('ASA', 'Session-Id') -> 1; +avp_arity('ASA', 'Result-Code') -> 1; +avp_arity('ASA', 'Origin-Host') -> 1; +avp_arity('ASA', 'Origin-Realm') -> 1; +avp_arity('ASA', 'User-Name') -> {0, 1}; +avp_arity('ASA', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('ASA', 'Origin-State-Id') -> {0, 1}; +avp_arity('ASA', 'State') -> {0, 1}; +avp_arity('ASA', 'Error-Message') -> {0, 1}; +avp_arity('ASA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('ASA', 'Failed-AVP') -> {0, '*'}; +avp_arity('ASA', 'Redirect-Host') -> {0, '*'}; +avp_arity('ASA', 'Redirect-Host-Usage') -> {0, 1}; +avp_arity('ASA', 'Redirect-Max-Cache-Time') -> {0, 1}; +avp_arity('ASA', 'Proxy-Info') -> {0, '*'}; +avp_arity('ASA', 'AVP') -> {0, '*'}; +avp_arity('ACR', 'Session-Id') -> 1; +avp_arity('ACR', 'Origin-Host') -> 1; +avp_arity('ACR', 'Origin-Realm') -> 1; +avp_arity('ACR', 'Destination-Realm') -> 1; +avp_arity('ACR', 'Accounting-Record-Type') -> 1; +avp_arity('ACR', 'Accounting-Record-Number') -> 1; +avp_arity('ACR', 'Acct-Application-Id') -> {0, 1}; +avp_arity('ACR', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('ACR', 'User-Name') -> {0, 1}; +avp_arity('ACR', 'Accounting-Sub-Session-Id') -> {0, 1}; +avp_arity('ACR', 'Acct-Session-Id') -> {0, 1}; +avp_arity('ACR', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('ACR', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('ACR', 'Origin-State-Id') -> {0, 1}; +avp_arity('ACR', 'Destination-Host') -> {0, 1}; +avp_arity('ACR', 'Event-Timestamp') -> {0, 1}; +avp_arity('ACR', 'Acct-Delay-Time') -> {0, 1}; +avp_arity('ACR', 'NAS-Identifier') -> {0, 1}; +avp_arity('ACR', 'NAS-IP-Address') -> {0, 1}; +avp_arity('ACR', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('ACR', 'NAS-Port') -> {0, 1}; +avp_arity('ACR', 'NAS-Port-Id') -> {0, 1}; +avp_arity('ACR', 'NAS-Port-Type') -> {0, 1}; +avp_arity('ACR', 'Class') -> {0, '*'}; +avp_arity('ACR', 'Service-Type') -> {0, 1}; +avp_arity('ACR', 'Termination-Cause') -> {0, 1}; +avp_arity('ACR', 'Accounting-Input-Octets') -> {0, 1}; +avp_arity('ACR', 'Accounting-Input-Packets') -> {0, 1}; +avp_arity('ACR', 'Accounting-Output-Octets') -> {0, 1}; +avp_arity('ACR', 'Accounting-Output-Packets') -> {0, 1}; +avp_arity('ACR', 'Acct-Authentic') -> {0, 1}; +avp_arity('ACR', 'Accounting-Auth-Method') -> {0, 1}; +avp_arity('ACR', 'Acct-Link-Count') -> {0, 1}; +avp_arity('ACR', 'Acct-Session-Time') -> {0, 1}; +avp_arity('ACR', 'Acct-Tunnel-Connection') -> {0, 1}; +avp_arity('ACR', 'Acct-Tunnel-Packets-Lost') -> {0, 1}; +avp_arity('ACR', 'Callback-Id') -> {0, 1}; +avp_arity('ACR', 'Callback-Number') -> {0, 1}; +avp_arity('ACR', 'Called-Station-Id') -> {0, 1}; +avp_arity('ACR', 'Calling-Station-Id') -> {0, 1}; +avp_arity('ACR', 'Connect-Info') -> {0, '*'}; +avp_arity('ACR', 'Originating-Line-Info') -> {0, 1}; +avp_arity('ACR', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('ACR', 'Session-Timeout') -> {0, 1}; +avp_arity('ACR', 'Idle-Timeout') -> {0, 1}; +avp_arity('ACR', 'Port-Limit') -> {0, 1}; +avp_arity('ACR', 'Accounting-Realtime-Required') -> + {0, 1}; +avp_arity('ACR', 'Acct-Interim-Interval') -> {0, 1}; +avp_arity('ACR', 'Filter-Id') -> {0, '*'}; +avp_arity('ACR', 'NAS-Filter-Rule') -> {0, '*'}; +avp_arity('ACR', 'QoS-Filter-Rule') -> {0, '*'}; +avp_arity('ACR', 'Framed-AppleTalk-Link') -> {0, 1}; +avp_arity('ACR', 'Framed-AppleTalk-Network') -> {0, 1}; +avp_arity('ACR', 'Framed-AppleTalk-Zone') -> {0, 1}; +avp_arity('ACR', 'Framed-Compression') -> {0, 1}; +avp_arity('ACR', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('ACR', 'Framed-IP-Address') -> {0, 1}; +avp_arity('ACR', 'Framed-IP-Netmask') -> {0, 1}; +avp_arity('ACR', 'Framed-IPv6-Prefix') -> {0, '*'}; +avp_arity('ACR', 'Framed-IPv6-Pool') -> {0, 1}; +avp_arity('ACR', 'Framed-IPv6-Route') -> {0, '*'}; +avp_arity('ACR', 'Framed-IPX-Network') -> {0, 1}; +avp_arity('ACR', 'Framed-MTU') -> {0, 1}; +avp_arity('ACR', 'Framed-Pool') -> {0, 1}; +avp_arity('ACR', 'Framed-Protocol') -> {0, 1}; +avp_arity('ACR', 'Framed-Route') -> {0, '*'}; +avp_arity('ACR', 'Framed-Routing') -> {0, 1}; +avp_arity('ACR', 'Login-IP-Host') -> {0, '*'}; +avp_arity('ACR', 'Login-IPv6-Host') -> {0, '*'}; +avp_arity('ACR', 'Login-LAT-Group') -> {0, 1}; +avp_arity('ACR', 'Login-LAT-Node') -> {0, 1}; +avp_arity('ACR', 'Login-LAT-Port') -> {0, 1}; +avp_arity('ACR', 'Login-LAT-Service') -> {0, 1}; +avp_arity('ACR', 'Login-Service') -> {0, 1}; +avp_arity('ACR', 'Login-TCP-Port') -> {0, 1}; +avp_arity('ACR', 'Tunneling') -> {0, '*'}; +avp_arity('ACR', 'Proxy-Info') -> {0, '*'}; +avp_arity('ACR', 'Route-Record') -> {0, '*'}; +avp_arity('ACR', 'AVP') -> {0, '*'}; +avp_arity('ACA', 'Session-Id') -> 1; +avp_arity('ACA', 'Result-Code') -> 1; +avp_arity('ACA', 'Origin-Host') -> 1; +avp_arity('ACA', 'Origin-Realm') -> 1; +avp_arity('ACA', 'Accounting-Record-Type') -> 1; +avp_arity('ACA', 'Accounting-Record-Number') -> 1; +avp_arity('ACA', 'Acct-Application-Id') -> {0, 1}; +avp_arity('ACA', 'Vendor-Specific-Application-Id') -> + {0, 1}; +avp_arity('ACA', 'User-Name') -> {0, 1}; +avp_arity('ACA', 'Accounting-Sub-Session-Id') -> {0, 1}; +avp_arity('ACA', 'Acct-Session-Id') -> {0, 1}; +avp_arity('ACA', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('ACA', 'Event-Timestamp') -> {0, 1}; +avp_arity('ACA', 'Error-Message') -> {0, 1}; +avp_arity('ACA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('ACA', 'Failed-AVP') -> {0, '*'}; +avp_arity('ACA', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('ACA', 'Origin-State-Id') -> {0, 1}; +avp_arity('ACA', 'NAS-Identifier') -> {0, 1}; +avp_arity('ACA', 'NAS-IP-Address') -> {0, 1}; +avp_arity('ACA', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('ACA', 'NAS-Port') -> {0, 1}; +avp_arity('ACA', 'NAS-Port-Id') -> {0, 1}; +avp_arity('ACA', 'NAS-Port-Type') -> {0, 1}; +avp_arity('ACA', 'Service-Type') -> {0, 1}; +avp_arity('ACA', 'Termination-Cause') -> {0, 1}; +avp_arity('ACA', 'Accounting-Realtime-Required') -> + {0, 1}; +avp_arity('ACA', 'Acct-Interim-Interval') -> {0, 1}; +avp_arity('ACA', 'Class') -> {0, '*'}; +avp_arity('ACA', 'Proxy-Info') -> {0, '*'}; +avp_arity('ACA', 'Route-Record') -> {0, '*'}; +avp_arity('ACA', 'AVP') -> {0, '*'}; +avp_arity('CHAP-Auth', 'CHAP-Algorithm') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Ident') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Response') -> {0, 1}; +avp_arity('CHAP-Auth', 'AVP') -> {0, '*'}; +avp_arity('Tunneling', 'Tunnel-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Medium-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Client-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Server-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Preference') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Client-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Server-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Assignment-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Password') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Private-Group-Id') -> + {0, 1}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('ARAP-Challenge-Response') -> + {84, 64, undefined}; +avp_header('ARAP-Features') -> {71, 64, undefined}; +avp_header('ARAP-Password') -> {70, 64, undefined}; +avp_header('ARAP-Security') -> {73, 64, undefined}; +avp_header('ARAP-Security-Data') -> {74, 64, undefined}; +avp_header('ARAP-Zone-Access') -> {72, 64, undefined}; +avp_header('Accounting-Auth-Method') -> + {406, 64, undefined}; +avp_header('Accounting-Input-Octets') -> + {363, 64, undefined}; +avp_header('Accounting-Input-Packets') -> + {365, 64, undefined}; +avp_header('Accounting-Output-Octets') -> + {364, 64, undefined}; +avp_header('Accounting-Output-Packets') -> + {366, 64, undefined}; +avp_header('Acct-Authentic') -> {45, 64, undefined}; +avp_header('Acct-Delay-Time') -> {41, 64, undefined}; +avp_header('Acct-Link-Count') -> {51, 64, undefined}; +avp_header('Acct-Session-Time') -> {46, 64, undefined}; +avp_header('Acct-Tunnel-Connection') -> + {68, 64, undefined}; +avp_header('Acct-Tunnel-Packets-Lost') -> + {86, 64, undefined}; +avp_header('CHAP-Algorithm') -> {403, 64, undefined}; +avp_header('CHAP-Auth') -> {402, 64, undefined}; +avp_header('CHAP-Challenge') -> {60, 64, undefined}; +avp_header('CHAP-Ident') -> {404, 64, undefined}; +avp_header('CHAP-Response') -> {405, 64, undefined}; +avp_header('Callback-Id') -> {20, 64, undefined}; +avp_header('Callback-Number') -> {19, 64, undefined}; +avp_header('Called-Station-Id') -> {30, 64, undefined}; +avp_header('Calling-Station-Id') -> {31, 64, undefined}; +avp_header('Configuration-Token') -> + {78, 64, undefined}; +avp_header('Connect-Info') -> {77, 64, undefined}; +avp_header('Filter-Id') -> {11, 64, undefined}; +avp_header('Framed-AppleTalk-Link') -> + {37, 64, undefined}; +avp_header('Framed-AppleTalk-Network') -> + {38, 64, undefined}; +avp_header('Framed-AppleTalk-Zone') -> + {39, 64, undefined}; +avp_header('Framed-Compression') -> {13, 64, undefined}; +avp_header('Framed-IP-Address') -> {8, 64, undefined}; +avp_header('Framed-IP-Netmask') -> {9, 64, undefined}; +avp_header('Framed-IPX-Network') -> {23, 64, undefined}; +avp_header('Framed-IPv6-Pool') -> {100, 64, undefined}; +avp_header('Framed-IPv6-Prefix') -> {97, 64, undefined}; +avp_header('Framed-IPv6-Route') -> {99, 64, undefined}; +avp_header('Framed-Interface-Id') -> + {96, 64, undefined}; +avp_header('Framed-MTU') -> {12, 64, undefined}; +avp_header('Framed-Pool') -> {88, 64, undefined}; +avp_header('Framed-Protocol') -> {7, 64, undefined}; +avp_header('Framed-Route') -> {22, 64, undefined}; +avp_header('Framed-Routing') -> {10, 64, undefined}; +avp_header('Idle-Timeout') -> {28, 64, undefined}; +avp_header('Login-IP-Host') -> {14, 64, undefined}; +avp_header('Login-IPv6-Host') -> {98, 64, undefined}; +avp_header('Login-LAT-Group') -> {36, 64, undefined}; +avp_header('Login-LAT-Node') -> {35, 64, undefined}; +avp_header('Login-LAT-Port') -> {63, 64, undefined}; +avp_header('Login-LAT-Service') -> {34, 64, undefined}; +avp_header('Login-Service') -> {15, 64, undefined}; +avp_header('Login-TCP-Port') -> {16, 64, undefined}; +avp_header('NAS-Filter-Rule') -> {400, 64, undefined}; +avp_header('NAS-IP-Address') -> {4, 64, undefined}; +avp_header('NAS-IPv6-Address') -> {95, 64, undefined}; +avp_header('NAS-Identifier') -> {32, 64, undefined}; +avp_header('NAS-Port') -> {5, 64, undefined}; +avp_header('NAS-Port-Id') -> {87, 64, undefined}; +avp_header('NAS-Port-Type') -> {61, 64, undefined}; +avp_header('Origin-AAA-Protocol') -> + {408, 64, undefined}; +avp_header('Originating-Line-Info') -> + {94, 0, undefined}; +avp_header('Password-Retry') -> {75, 64, undefined}; +avp_header('Port-Limit') -> {62, 64, undefined}; +avp_header('Prompt') -> {76, 64, undefined}; +avp_header('QoS-Filter-Rule') -> {407, 0, undefined}; +avp_header('Reply-Message') -> {18, 64, undefined}; +avp_header('Service-Type') -> {6, 64, undefined}; +avp_header('State') -> {24, 64, undefined}; +avp_header('Tunnel-Assignment-Id') -> + {82, 64, undefined}; +avp_header('Tunnel-Client-Auth-Id') -> + {90, 64, undefined}; +avp_header('Tunnel-Client-Endpoint') -> + {66, 64, undefined}; +avp_header('Tunnel-Medium-Type') -> {65, 64, undefined}; +avp_header('Tunnel-Password') -> {69, 64, undefined}; +avp_header('Tunnel-Preference') -> {83, 64, undefined}; +avp_header('Tunnel-Private-Group-Id') -> + {81, 64, undefined}; +avp_header('Tunnel-Server-Auth-Id') -> + {91, 64, undefined}; +avp_header('Tunnel-Server-Endpoint') -> + {67, 64, undefined}; +avp_header('Tunnel-Type') -> {64, 64, undefined}; +avp_header('Tunneling') -> {401, 64, undefined}; +avp_header('User-Password') -> {2, 64, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'ARAP-Challenge-Response', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ARAP-Features', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ARAP-Password', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ARAP-Security', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'ARAP-Security-Data', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ARAP-Zone-Access', _) -> + enumerated_avp(T, 'ARAP-Zone-Access', Data); +avp(T, Data, 'Accounting-Auth-Method', _) -> + enumerated_avp(T, 'Accounting-Auth-Method', Data); +avp(T, Data, 'Accounting-Input-Octets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Accounting-Input-Packets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Accounting-Output-Octets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Accounting-Output-Packets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Acct-Authentic', _) -> + enumerated_avp(T, 'Acct-Authentic', Data); +avp(T, Data, 'Acct-Delay-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Acct-Link-Count', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Acct-Session-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Acct-Tunnel-Connection', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Acct-Tunnel-Packets-Lost', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'CHAP-Algorithm', _) -> + enumerated_avp(T, 'CHAP-Algorithm', Data); +avp(T, Data, 'CHAP-Auth', Opts) -> + grouped_avp(T, 'CHAP-Auth', Data, Opts); +avp(T, Data, 'CHAP-Challenge', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'CHAP-Ident', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'CHAP-Response', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Callback-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Callback-Number', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Called-Station-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Calling-Station-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Configuration-Token', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Connect-Info', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Filter-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Framed-AppleTalk-Link', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Framed-AppleTalk-Network', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Framed-AppleTalk-Zone', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-Compression', _) -> + enumerated_avp(T, 'Framed-Compression', Data); +avp(T, Data, 'Framed-IP-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IP-Netmask', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IPX-Network', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Framed-IPv6-Pool', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IPv6-Prefix', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IPv6-Route', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Framed-Interface-Id', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Framed-MTU', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Framed-Pool', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-Protocol', _) -> + enumerated_avp(T, 'Framed-Protocol', Data); +avp(T, Data, 'Framed-Route', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Framed-Routing', _) -> + enumerated_avp(T, 'Framed-Routing', Data); +avp(T, Data, 'Idle-Timeout', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Login-IP-Host', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-IPv6-Host', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Group', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Node', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Port', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Service', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-Service', _) -> + enumerated_avp(T, 'Login-Service', Data); +avp(T, Data, 'Login-TCP-Port', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'NAS-Filter-Rule', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'NAS-IP-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'NAS-IPv6-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'NAS-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'NAS-Port', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'NAS-Port-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'NAS-Port-Type', _) -> + enumerated_avp(T, 'NAS-Port-Type', Data); +avp(T, Data, 'Origin-AAA-Protocol', _) -> + enumerated_avp(T, 'Origin-AAA-Protocol', Data); +avp(T, Data, 'Originating-Line-Info', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Password-Retry', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Port-Limit', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Prompt', _) -> + enumerated_avp(T, 'Prompt', Data); +avp(T, Data, 'QoS-Filter-Rule', Opts) -> + diameter_types:'QoSFilterRule'(T, Data, Opts); +avp(T, Data, 'Reply-Message', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Service-Type', _) -> + enumerated_avp(T, 'Service-Type', Data); +avp(T, Data, 'State', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Assignment-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Client-Auth-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Client-Endpoint', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Medium-Type', _) -> + enumerated_avp(T, 'Tunnel-Medium-Type', Data); +avp(T, Data, 'Tunnel-Password', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Preference', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Tunnel-Private-Group-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Server-Auth-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Server-Endpoint', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Type', _) -> + enumerated_avp(T, 'Tunnel-Type', Data); +avp(T, Data, 'Tunneling', Opts) -> + grouped_avp(T, 'Tunneling', Data, Opts); +avp(T, Data, 'User-Password', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', _) -> + enumerated_avp(T, 'Termination-Cause', Data); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'NAS-Port-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'NAS-Port-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'NAS-Port-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'NAS-Port-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'NAS-Port-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'NAS-Port-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'NAS-Port-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'NAS-Port-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'NAS-Port-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'NAS-Port-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'NAS-Port-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'NAS-Port-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'NAS-Port-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'NAS-Port-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'NAS-Port-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'NAS-Port-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'NAS-Port-Type', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'NAS-Port-Type', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'NAS-Port-Type', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 19>>) -> + 19; +enumerated_avp(encode, 'NAS-Port-Type', 19) -> + <<0, 0, 0, 19>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 20>>) -> + 20; +enumerated_avp(encode, 'NAS-Port-Type', 20) -> + <<0, 0, 0, 20>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 21>>) -> + 21; +enumerated_avp(encode, 'NAS-Port-Type', 21) -> + <<0, 0, 0, 21>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 22>>) -> + 22; +enumerated_avp(encode, 'NAS-Port-Type', 22) -> + <<0, 0, 0, 22>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 23>>) -> + 23; +enumerated_avp(encode, 'NAS-Port-Type', 23) -> + <<0, 0, 0, 23>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 24>>) -> + 24; +enumerated_avp(encode, 'NAS-Port-Type', 24) -> + <<0, 0, 0, 24>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 25>>) -> + 25; +enumerated_avp(encode, 'NAS-Port-Type', 25) -> + <<0, 0, 0, 25>>; +enumerated_avp(decode, 'Prompt', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'Prompt', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Prompt', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'Prompt', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'CHAP-Algorithm', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'CHAP-Algorithm', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Service-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Service-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Service-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Service-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Service-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Service-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Service-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Service-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Service-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Service-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Service-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Service-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Service-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Service-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Service-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'Service-Type', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'Service-Type', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Framed-Protocol', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Framed-Protocol', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Framed-Protocol', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Framed-Protocol', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Framed-Protocol', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Framed-Protocol', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Framed-Routing', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Framed-Routing', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Framed-Routing', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Framed-Routing', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Framed-Compression', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Framed-Compression', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Framed-Compression', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Framed-Compression', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Framed-Compression', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Framed-Compression', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Framed-Compression', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Framed-Compression', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'ARAP-Zone-Access', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'ARAP-Zone-Access', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'ARAP-Zone-Access', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'ARAP-Zone-Access', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'ARAP-Zone-Access', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'ARAP-Zone-Access', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Login-Service', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Login-Service', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Login-Service', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Login-Service', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Login-Service', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Login-Service', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Login-Service', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Login-Service', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Tunnel-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Tunnel-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Tunnel-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Tunnel-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Tunnel-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Tunnel-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Tunnel-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Tunnel-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Tunnel-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Tunnel-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Tunnel-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Tunnel-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Tunnel-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Tunnel-Medium-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Tunnel-Medium-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Tunnel-Medium-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Tunnel-Medium-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Tunnel-Medium-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Tunnel-Medium-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Tunnel-Medium-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Tunnel-Medium-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Tunnel-Medium-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Tunnel-Medium-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Tunnel-Medium-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Tunnel-Medium-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Tunnel-Medium-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Tunnel-Medium-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Tunnel-Medium-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Acct-Authentic', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Acct-Authentic', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Acct-Authentic', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Acct-Authentic', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Accounting-Auth-Method', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Accounting-Auth-Method', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Accounting-Auth-Method', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Accounting-Auth-Method', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Accounting-Auth-Method', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Accounting-Auth-Method', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Termination-Cause', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Termination-Cause', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Termination-Cause', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Termination-Cause', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Termination-Cause', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'Termination-Cause', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'Termination-Cause', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'Termination-Cause', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 19>>) -> + 19; +enumerated_avp(encode, 'Termination-Cause', 19) -> + <<0, 0, 0, 19>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 20>>) -> + 20; +enumerated_avp(encode, 'Termination-Cause', 20) -> + <<0, 0, 0, 20>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 21>>) -> + 21; +enumerated_avp(encode, 'Termination-Cause', 21) -> + <<0, 0, 0, 21>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 22>>) -> + 22; +enumerated_avp(encode, 'Termination-Cause', 22) -> + <<0, 0, 0, 22>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 23>>) -> + 23; +enumerated_avp(encode, 'Termination-Cause', 23) -> + <<0, 0, 0, 23>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 24>>) -> + 24; +enumerated_avp(encode, 'Termination-Cause', 24) -> + <<0, 0, 0, 24>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 25>>) -> + 25; +enumerated_avp(encode, 'Termination-Cause', 25) -> + <<0, 0, 0, 25>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 26>>) -> + 26; +enumerated_avp(encode, 'Termination-Cause', 26) -> + <<0, 0, 0, 26>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 27>>) -> + 27; +enumerated_avp(encode, 'Termination-Cause', 27) -> + <<0, 0, 0, 27>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 28>>) -> + 28; +enumerated_avp(encode, 'Termination-Cause', 28) -> + <<0, 0, 0, 28>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 29>>) -> + 29; +enumerated_avp(encode, 'Termination-Cause', 29) -> + <<0, 0, 0, 29>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 30>>) -> + 30; +enumerated_avp(encode, 'Termination-Cause', 30) -> + <<0, 0, 0, 30>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 31>>) -> + 31; +enumerated_avp(encode, 'Termination-Cause', 31) -> + <<0, 0, 0, 31>>; +enumerated_avp(decode, 'Termination-Cause', + <<0, 0, 0, 32>>) -> + 32; +enumerated_avp(encode, 'Termination-Cause', 32) -> + <<0, 0, 0, 32>>; +enumerated_avp(T, 'Termination-Cause', Data) -> + diameter_gen_base_rfc6733:enumerated_avp(T, + 'Termination-Cause', + Data); +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('CHAP-Auth', Opts) -> + empty_group('CHAP-Auth', Opts); +empty_value('Tunneling', Opts) -> + empty_group('Tunneling', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('NAS-Port-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Prompt', _) -> <<0, 0, 0, 0>>; +empty_value('CHAP-Algorithm', _) -> <<0, 0, 0, 0>>; +empty_value('Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Routing', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Compression', _) -> <<0, 0, 0, 0>>; +empty_value('ARAP-Zone-Access', _) -> <<0, 0, 0, 0>>; +empty_value('Login-Service', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Medium-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Acct-Authentic', _) -> <<0, 0, 0, 0>>; +empty_value('Accounting-Auth-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"ARAP-Challenge-Response", 84, "OctetString", "M"}, + {"ARAP-Features", 71, "OctetString", "M"}, + {"ARAP-Password", 70, "OctetString", "M"}, + {"ARAP-Security", 73, "Unsigned32", "M"}, + {"ARAP-Security-Data", 74, "OctetString", "M"}, + {"ARAP-Zone-Access", 72, "Enumerated", "M"}, + {"Accounting-Auth-Method", 406, "Enumerated", "M"}, + {"Accounting-Input-Octets", 363, "Unsigned64", "M"}, + {"Accounting-Input-Packets", 365, "Unsigned64", "M"}, + {"Accounting-Output-Octets", 364, "Unsigned64", "M"}, + {"Accounting-Output-Packets", 366, "Unsigned64", "M"}, + {"Acct-Authentic", 45, "Enumerated", "M"}, + {"Acct-Delay-Time", 41, "Unsigned32", "M"}, + {"Acct-Link-Count", 51, "Unsigned32", "M"}, + {"Acct-Session-Time", 46, "Unsigned32", "M"}, + {"Acct-Tunnel-Connection", 68, "OctetString", "M"}, + {"Acct-Tunnel-Packets-Lost", 86, "Unsigned32", "M"}, + {"CHAP-Algorithm", 403, "Enumerated", "M"}, + {"CHAP-Auth", 402, "Grouped", "M"}, + {"CHAP-Challenge", 60, "OctetString", "M"}, + {"CHAP-Ident", 404, "OctetString", "M"}, + {"CHAP-Response", 405, "OctetString", "M"}, + {"Callback-Id", 20, "UTF8String", "M"}, + {"Callback-Number", 19, "UTF8String", "M"}, + {"Called-Station-Id", 30, "UTF8String", "M"}, + {"Calling-Station-Id", 31, "UTF8String", "M"}, + {"Configuration-Token", 78, "OctetString", "M"}, + {"Connect-Info", 77, "UTF8String", "M"}, + {"Filter-Id", 11, "UTF8String", "M"}, + {"Framed-AppleTalk-Link", 37, "Unsigned32", "M"}, + {"Framed-AppleTalk-Network", 38, "Unsigned32", "M"}, + {"Framed-AppleTalk-Zone", 39, "OctetString", "M"}, + {"Framed-Compression", 13, "Enumerated", "M"}, + {"Framed-IP-Address", 8, "OctetString", "M"}, + {"Framed-IP-Netmask", 9, "OctetString", "M"}, + {"Framed-IPX-Network", 23, "UTF8String", "M"}, + {"Framed-IPv6-Pool", 100, "OctetString", "M"}, + {"Framed-IPv6-Prefix", 97, "OctetString", "M"}, + {"Framed-IPv6-Route", 99, "UTF8String", "M"}, + {"Framed-Interface-Id", 96, "Unsigned64", "M"}, + {"Framed-MTU", 12, "Unsigned32", "M"}, + {"Framed-Pool", 88, "OctetString", "M"}, + {"Framed-Protocol", 7, "Enumerated", "M"}, + {"Framed-Route", 22, "UTF8String", "M"}, + {"Framed-Routing", 10, "Enumerated", "M"}, + {"Idle-Timeout", 28, "Unsigned32", "M"}, + {"Login-IP-Host", 14, "OctetString", "M"}, + {"Login-IPv6-Host", 98, "OctetString", "M"}, + {"Login-LAT-Group", 36, "OctetString", "M"}, + {"Login-LAT-Node", 35, "OctetString", "M"}, + {"Login-LAT-Port", 63, "OctetString", "M"}, + {"Login-LAT-Service", 34, "OctetString", "M"}, + {"Login-Service", 15, "Enumerated", "M"}, + {"Login-TCP-Port", 16, "Unsigned32", "M"}, + {"NAS-Filter-Rule", 400, "IPFilterRule", "M"}, + {"NAS-IP-Address", 4, "OctetString", "M"}, + {"NAS-IPv6-Address", 95, "OctetString", "M"}, + {"NAS-Identifier", 32, "UTF8String", "M"}, + {"NAS-Port", 5, "Unsigned32", "M"}, + {"NAS-Port-Id", 87, "UTF8String", "M"}, + {"NAS-Port-Type", 61, "Enumerated", "M"}, + {"Origin-AAA-Protocol", 408, "Enumerated", "M"}, + {"Originating-Line-Info", 94, "OctetString", []}, + {"Password-Retry", 75, "Unsigned32", "M"}, + {"Port-Limit", 62, "Unsigned32", "M"}, + {"Prompt", 76, "Enumerated", "M"}, + {"QoS-Filter-Rule", 407, "QoSFilterRule", []}, + {"Reply-Message", 18, "UTF8String", "M"}, + {"Service-Type", 6, "Enumerated", "M"}, + {"State", 24, "OctetString", "M"}, + {"Tunnel-Assignment-Id", 82, "OctetString", "M"}, + {"Tunnel-Client-Auth-Id", 90, "UTF8String", "M"}, + {"Tunnel-Client-Endpoint", 66, "UTF8String", "M"}, + {"Tunnel-Medium-Type", 65, "Enumerated", "M"}, + {"Tunnel-Password", 69, "OctetString", "M"}, + {"Tunnel-Preference", 83, "Unsigned32", "M"}, + {"Tunnel-Private-Group-Id", 81, "OctetString", "M"}, + {"Tunnel-Server-Auth-Id", 91, "UTF8String", "M"}, + {"Tunnel-Server-Endpoint", 67, "UTF8String", "M"}, + {"Tunnel-Type", 64, "Enumerated", "M"}, + {"Tunneling", 401, "Grouped", "M"}, + {"User-Password", 2, "OctetString", "M"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, + [{265, "AAR", "AAA"}, + {271, "ACR", "ACA"}, + {258, "RAR", "RAA"}, + {274, "ASR", "ASA"}, + {275, "STR", "STA"}]}, + {custom_types, []}, + {define, []}, + {enum, + [{"NAS-Port-Type", + [{"ASYNC", 0}, + {"SYNC", 1}, + {"ISDN_SYNC", 2}, + {"ISDN_ASYNC_V120", 3}, + {"ISDN_ASYNC_V110", 4}, + {"VIRTUAL", 5}, + {"PIAFS", 6}, + {"HDLC_CLEAR_CHANNEL", 7}, + {"X25", 8}, + {"X75", 9}, + {"G3FAX", 10}, + {"SDSL", 11}, + {"ADSL-CAP", 12}, + {"ADSL-DMT", 13}, + {"IDSL", 14}, + {"ETHERNET", 15}, + {"XDSL", 16}, + {"CABLE", 17}, + {"WIRELESS_OTHER", 18}, + {"WIRELESS_802.11", 19}, + {"TOKEN-RING", 20}, + {"FDDI", 21}, + {"WIRELESS_CDMA2000", 22}, + {"WIRELESS_UMTS", 23}, + {"WIRELESS_1X-EV", 24}, + {"IAPP", 25}]}, + {"Prompt", [{"NO_ECHO", 0}, {"ECHO", 1}]}, + {"CHAP-Algorithm", [{"WITH_MD5", 5}]}, + {"Service-Type", + [{"LOGIN", 1}, + {"FRAMED", 2}, + {"CALLBACK_LOGIN", 3}, + {"CALLBACK_FRAMED", 4}, + {"OUTBOUND", 5}, + {"ADMINISTRATIVE", 6}, + {"NAS_PROMPT", 7}, + {"AUTHENTICATE_ONLY", 8}, + {"CALLBACK_NAS_PROMPT", 9}, + {"CALL_CHECK", 10}, + {"CALLBACK_ADMINISTRATIVE", 11}, + {"VOICE", 12}, + {"FAX", 13}, + {"MODEM_RELAY", 14}, + {"IAPP-REGISTER", 15}, + {"IAPP-AP-CHECK", 16}, + {"AUTHORIZE_ONLY", 17}]}, + {"Framed-Protocol", + [{"PPP", 1}, + {"SLIP", 2}, + {"ARAP", 3}, + {"GANDALF", 4}, + {"XYLOGICS", 5}, + {"X75", 6}]}, + {"Framed-Routing", + [{"NONE", 0}, + {"SEND", 1}, + {"LISTEN", 2}, + {"SEND_AND_LISTEN", 3}]}, + {"Framed-Compression", + [{"NONE", 0}, {"VJ", 1}, {"IPX", 2}, {"STAC-LZS", 3}]}, + {"ARAP-Zone-Access", + [{"DEFAULT", 1}, + {"FILTER_INCLUSIVELY", 2}, + {"FILTER_EXCLUSIVELY", 4}]}, + {"Login-Service", + [{"TELNET", 0}, + {"RLOGIN", 1}, + {"TCP_CLEAR", 2}, + {"PORTMASTER", 3}, + {"LAT", 4}, + {"X25-PAD", 5}, + {"X25-T3POS", 6}, + {"TCP_CLEAR_QUIET", 8}]}, + {"Tunnel-Type", + [{"PPTP", 1}, + {"L2F", 2}, + {"L2TP", 3}, + {"ATMP", 4}, + {"VTP", 5}, + {"AH", 6}, + {"IP-IP", 7}, + {"MIN-IP-IP", 8}, + {"ESP", 9}, + {"GRE", 10}, + {"DVS", 11}, + {"IP-IN-IP", 12}, + {"VLAN", 13}]}, + {"Tunnel-Medium-Type", + [{"IPV4", 1}, + {"IPV6", 2}, + {"NSAP", 3}, + {"HDLC", 4}, + {"BBN_1822", 5}, + {"802", 6}, + {"E163", 7}, + {"E164", 8}, + {"F69", 9}, + {"X121", 10}, + {"IPX", 11}, + {"APPLETALK", 12}, + {"DECNET_IV", 13}, + {"BANYAN_VINES", 14}, + {"E164_NSAP", 15}]}, + {"Acct-Authentic", + [{"RADIUS", 1}, + {"LOCAL", 2}, + {"REMOTE", 3}, + {"DIAMETER", 4}]}, + {"Accounting-Auth-Method", + [{"PAP", 1}, + {"CHAP", 2}, + {"MS-CHAP-1", 3}, + {"MS-CHAP-2", 4}, + {"EAP", 5}, + {"NONE", 7}]}, + {"Termination-Cause", + [{"USER_REQUEST", 11}, + {"LOST_CARRIER", 12}, + {"LOST_SERVICE", 13}, + {"IDLE_TIMEOUT", 14}, + {"SESSION_TIMEOUT", 15}, + {"ADMIN_RESET", 16}, + {"ADMIN_REBOOT", 17}, + {"PORT_ERROR", 18}, + {"NAS_ERROR", 19}, + {"NAS_REQUEST", 20}, + {"NAS_REBOOT", 21}, + {"PORT_UNNEEDED", 22}, + {"PORT_PREEMPTED", 23}, + {"PORT_SUSPENDED", 24}, + {"SERVICE_UNAVAILABLE", 25}, + {"CALLBACK", 26}, + {"USER_ERROR", 27}, + {"HOST_REQUEST", 28}, + {"SUPPLICANT_RESTART", 29}, + {"REAUTHORIZATION_FAILURE", 30}, + {"PORT_REINIT", 31}, + {"PORT_DISABLED", 32}]}]}, + {grouped, + [{"CHAP-Auth", + 402, + [], + [{"CHAP-Algorithm"}, + {"CHAP-Ident"}, + ["CHAP-Response"], + {'*', ["AVP"]}]}, + {"Tunneling", + 401, + [], + [{"Tunnel-Type"}, + {"Tunnel-Medium-Type"}, + {"Tunnel-Client-Endpoint"}, + {"Tunnel-Server-Endpoint"}, + ["Tunnel-Preference"], + ["Tunnel-Client-Auth-Id"], + ["Tunnel-Server-Auth-Id"], + ["Tunnel-Assignment-Id"], + ["Tunnel-Password"], + ["Tunnel-Private-Group-Id"]]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"AAR", + 265, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Auth-Request-Type"}, + ["Destination-Host"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["Port-Limit"], + ["User-Name"], + ["User-Password"], + ["Service-Type"], + ["State"], + ["Authorization-Lifetime"], + ["Auth-Grace-Period"], + ["Auth-Session-State"], + ["Callback-Number"], + ["Called-Station-Id"], + ["Calling-Station-Id"], + ["Originating-Line-Info"], + ["Connect-Info"], + ["CHAP-Auth"], + ["CHAP-Challenge"], + {'*', ["Framed-Compression"]}, + ["Framed-Interface-Id"], + ["Framed-IP-Address"], + {'*', ["Framed-IPv6-Prefix"]}, + ["Framed-IP-Netmask"], + ["Framed-MTU"], + ["Framed-Protocol"], + ["ARAP-Password"], + ["ARAP-Security"], + {'*', ["ARAP-Security-Data"]}, + {'*', ["Login-IP-Host"]}, + {'*', ["Login-IPv6-Host"]}, + ["Login-LAT-Group"], + ["Login-LAT-Node"], + ["Login-LAT-Port"], + ["Login-LAT-Service"], + {'*', ["Tunneling"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"AAA", + 265, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Auth-Request-Type"}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["User-Name"], + ["Service-Type"], + {'*', ["Class"]}, + {'*', ["Configuration-Token"]}, + ["Acct-Interim-Interval"], + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + ["Idle-Timeout"], + ["Authorization-Lifetime"], + ["Auth-Grace-Period"], + ["Auth-Session-State"], + ["Re-Auth-Request-Type"], + ["Multi-Round-Time-Out"], + ["Session-Timeout"], + ["State"], + {'*', ["Reply-Message"]}, + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + {'*', ["Filter-Id"]}, + ["Password-Retry"], + ["Port-Limit"], + ["Prompt"], + ["ARAP-Challenge-Response"], + ["ARAP-Features"], + ["ARAP-Security"], + {'*', ["ARAP-Security-Data"]}, + ["ARAP-Zone-Access"], + ["Callback-Id"], + ["Callback-Number"], + ["Framed-AppleTalk-Link"], + {'*', ["Framed-AppleTalk-Network"]}, + ["Framed-AppleTalk-Zone"], + {'*', ["Framed-Compression"]}, + ["Framed-Interface-Id"], + ["Framed-IP-Address"], + {'*', ["Framed-IPv6-Prefix"]}, + ["Framed-IPv6-Pool"], + {'*', ["Framed-IPv6-Route"]}, + ["Framed-IP-Netmask"], + {'*', ["Framed-Route"]}, + ["Framed-Pool"], + ["Framed-IPX-Network"], + ["Framed-MTU"], + ["Framed-Protocol"], + ["Framed-Routing"], + {'*', ["Login-IP-Host"]}, + {'*', ["Login-IPv6-Host"]}, + ["Login-LAT-Group"], + ["Login-LAT-Node"], + ["Login-LAT-Port"], + ["Login-LAT-Service"], + ["Login-Service"], + ["Login-TCP-Port"], + {'*', ["NAS-Filter-Rule"]}, + {'*', ["QoS-Filter-Rule"]}, + {'*', ["Tunneling"]}, + {'*', ["Redirect-Host"]}, + ["Redirect-Host-Usage"], + ["Redirect-Max-Cache-Time"], + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}, + {"RAR", + 258, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Destination-Host"}, + {"Auth-Application-Id"}, + {"Re-Auth-Request-Type"}, + ["User-Name"], + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + ["Service-Type"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + ["Called-Station-Id"], + ["Calling-Station-Id"], + ["Originating-Line-Info"], + ["Acct-Session-Id"], + ["Acct-Multi-Session-Id"], + ["State"], + {'*', ["Class"]}, + ["Reply-Message"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"RAA", + 258, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["User-Name"], + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + {'*', ["Redirect-Host"]}, + ["Redirect-Host-Usage"], + ["Redirect-Max-Cache-Time"], + ["Service-Type"], + {'*', ["Configuration-Token"]}, + ["Idle-Timeout"], + ["Authorization-Lifetime"], + ["Auth-Grace-Period"], + ["Re-Auth-Request-Type"], + ["State"], + {'*', ["Class"]}, + {'*', ["Reply-Message"]}, + ["Prompt"], + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}, + {"STR", + 275, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Auth-Application-Id"}, + {"Termination-Cause"}, + ["User-Name"], + ["Destination-Host"], + {'*', ["Class"]}, + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"STA", + 275, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["User-Name"], + {'*', ["Class"]}, + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + {'*', ["Redirect-Host"]}, + ["Redirect-Host-Usage"], + ["Redirect-Max-Cache-Time"], + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}, + {"ASR", + 274, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Destination-Host"}, + {"Auth-Application-Id"}, + ["User-Name"], + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + ["Service-Type"], + ["Framed-IP-Address"], + ["Framed-IPv6-Prefix"], + ["Framed-Interface-Id"], + ["Called-Station-Id"], + ["Calling-Station-Id"], + ["Originating-Line-Info"], + ["Acct-Session-Id"], + ["Acct-Multi-Session-Id"], + ["State"], + {'*', ["Class"]}, + {'*', ["Reply-Message"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"ASA", + 274, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["User-Name"], + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["State"], + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + {'*', ["Redirect-Host"]}, + ["Redirect-Host-Usage"], + ["Redirect-Max-Cache-Time"], + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}, + {"ACR", + 271, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Accounting-Record-Type"}, + {"Accounting-Record-Number"}, + ["Acct-Application-Id"], + ["Vendor-Specific-Application-Id"], + ["User-Name"], + ["Accounting-Sub-Session-Id"], + ["Acct-Session-Id"], + ["Acct-Multi-Session-Id"], + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["Destination-Host"], + ["Event-Timestamp"], + ["Acct-Delay-Time"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + {'*', ["Class"]}, + ["Service-Type"], + ["Termination-Cause"], + ["Accounting-Input-Octets"], + ["Accounting-Input-Packets"], + ["Accounting-Output-Octets"], + ["Accounting-Output-Packets"], + ["Acct-Authentic"], + ["Accounting-Auth-Method"], + ["Acct-Link-Count"], + ["Acct-Session-Time"], + ["Acct-Tunnel-Connection"], + ["Acct-Tunnel-Packets-Lost"], + ["Callback-Id"], + ["Callback-Number"], + ["Called-Station-Id"], + ["Calling-Station-Id"], + {'*', ["Connect-Info"]}, + ["Originating-Line-Info"], + ["Authorization-Lifetime"], + ["Session-Timeout"], + ["Idle-Timeout"], + ["Port-Limit"], + ["Accounting-Realtime-Required"], + ["Acct-Interim-Interval"], + {'*', ["Filter-Id"]}, + {'*', ["NAS-Filter-Rule"]}, + {'*', ["QoS-Filter-Rule"]}, + ["Framed-AppleTalk-Link"], + ["Framed-AppleTalk-Network"], + ["Framed-AppleTalk-Zone"], + ["Framed-Compression"], + ["Framed-Interface-Id"], + ["Framed-IP-Address"], + ["Framed-IP-Netmask"], + {'*', ["Framed-IPv6-Prefix"]}, + ["Framed-IPv6-Pool"], + {'*', ["Framed-IPv6-Route"]}, + ["Framed-IPX-Network"], + ["Framed-MTU"], + ["Framed-Pool"], + ["Framed-Protocol"], + {'*', ["Framed-Route"]}, + ["Framed-Routing"], + {'*', ["Login-IP-Host"]}, + {'*', ["Login-IPv6-Host"]}, + ["Login-LAT-Group"], + ["Login-LAT-Node"], + ["Login-LAT-Port"], + ["Login-LAT-Service"], + ["Login-Service"], + ["Login-TCP-Port"], + {'*', ["Tunneling"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"ACA", + 271, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Accounting-Record-Type"}, + {"Accounting-Record-Number"}, + ["Acct-Application-Id"], + ["Vendor-Specific-Application-Id"], + ["User-Name"], + ["Accounting-Sub-Session-Id"], + ["Acct-Session-Id"], + ["Acct-Multi-Session-Id"], + ["Event-Timestamp"], + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + ["Service-Type"], + ["Termination-Cause"], + ["Accounting-Realtime-Required"], + ["Acct-Interim-Interval"], + {'*', ["Class"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}]}]. + + diff --git a/src/diameter_rfc4006_cc.erl b/src/diameter_rfc4006_cc.erl new file mode 100644 index 0000000..c33c7ed --- /dev/null +++ b/src/diameter_rfc4006_cc.erl @@ -0,0 +1,2082 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc4006_cc). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['CCR', + 'CCA', + 'Cost-Information', + 'Unit-Value', + 'Multiple-Services-Credit-Control', + 'Granted-Service-Unit', + 'Requested-Service-Unit', + 'Used-Service-Unit', + 'CC-Money', + 'G-S-U-Pool-Reference', + 'Final-Unit-Indication', + 'Redirect-Server', + 'Service-Parameter-Info', + 'Subscription-Id', + 'User-Equipment-Info', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('CCR', + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Application-Id', + 'Service-Context-Id', + 'CC-Request-Type', + 'CC-Request-Number', + 'Destination-Host' = [], + 'User-Name' = [], + 'CC-Sub-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-State-Id' = [], + 'Event-Timestamp' = [], + 'Subscription-Id' = [], + 'Service-Identifier' = [], + 'Termination-Cause' = [], + 'Requested-Service-Unit' = [], + 'Requested-Action' = [], + 'Used-Service-Unit' = [], + 'Multiple-Services-Indicator' = [], + 'Multiple-Services-Credit-Control' = [], + 'Service-Parameter-Info' = [], + 'CC-Correlation-Id' = [], + 'User-Equipment-Info' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('CCA', + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Auth-Application-Id', + 'CC-Request-Type', + 'CC-Request-Number', + 'User-Name' = [], + 'CC-Session-Failover' = [], + 'CC-Sub-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-State-Id' = [], + 'Event-Timestamp' = [], + 'Granted-Service-Unit' = [], + 'Multiple-Services-Credit-Control' = [], + 'Cost-Information' = [], + 'Final-Unit-Indication' = [], + 'Check-Balance-Result' = [], + 'Credit-Control-Failure-Handling' = [], + 'Direct-Debiting-Failure-Handling' = [], + 'Validity-Time' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'Failed-AVP' = [], + 'AVP' = []}). + +-record('Cost-Information', + {'Unit-Value', 'Currency-Code', 'Cost-Unit' = []}). + +-record('Unit-Value', + {'Value-Digits', 'Exponent' = []}). + +-record('Multiple-Services-Credit-Control', + {'Granted-Service-Unit' = [], + 'Requested-Service-Unit' = [], + 'Used-Service-Unit' = [], + 'Tariff-Change-Usage' = [], + 'Service-Identifier' = [], + 'Rating-Group' = [], + 'G-S-U-Pool-Reference' = [], + 'Validity-Time' = [], + 'Result-Code' = [], + 'Final-Unit-Indication' = [], + 'AVP' = []}). + +-record('Granted-Service-Unit', + {'Tariff-Time-Change' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Requested-Service-Unit', + {'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('Used-Service-Unit', + {'Tariff-Change-Usage' = [], + 'CC-Time' = [], + 'CC-Money' = [], + 'CC-Total-Octets' = [], + 'CC-Input-Octets' = [], + 'CC-Output-Octets' = [], + 'CC-Service-Specific-Units' = [], + 'AVP' = []}). + +-record('CC-Money', + {'Unit-Value', 'Currency-Code' = []}). + +-record('G-S-U-Pool-Reference', + {'G-S-U-Pool-Identifier', + 'CC-Unit-Type', + 'Unit-Value'}). + +-record('Final-Unit-Indication', + {'Final-Unit-Action', + 'Restriction-Filter-Rule' = [], + 'Filter-Id' = [], + 'Redirect-Server' = []}). + +-record('Redirect-Server', + {'Redirect-Address-Type', 'Redirect-Server-Address'}). + +-record('Service-Parameter-Info', + {'Service-Parameter-Type', 'Service-Parameter-Value'}). + +-record('Subscription-Id', + {'Subscription-Id-Type', 'Subscription-Id-Data'}). + +-record('User-Equipment-Info', + {'User-Equipment-Info-Type', + 'User-Equipment-Info-Value'}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc4006_cc. + +id() -> 4. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(272, true) -> 'CCR'; +msg_name(272, false) -> 'CCA'; +msg_name(_, _) -> ''. + +msg_header('CCR') -> {272, 192, 4}; +msg_header('CCA') -> {272, 64, 4}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('CCR') -> 'CCR'; +rec2msg('CCA') -> 'CCA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('CCR') -> 'CCR'; +msg2rec('CCA') -> 'CCA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Cost-Information') -> 'Cost-Information'; +name2rec('Unit-Value') -> 'Unit-Value'; +name2rec('Multiple-Services-Credit-Control') -> + 'Multiple-Services-Credit-Control'; +name2rec('Granted-Service-Unit') -> + 'Granted-Service-Unit'; +name2rec('Requested-Service-Unit') -> + 'Requested-Service-Unit'; +name2rec('Used-Service-Unit') -> 'Used-Service-Unit'; +name2rec('CC-Money') -> 'CC-Money'; +name2rec('G-S-U-Pool-Reference') -> + 'G-S-U-Pool-Reference'; +name2rec('Final-Unit-Indication') -> + 'Final-Unit-Indication'; +name2rec('Redirect-Server') -> 'Redirect-Server'; +name2rec('Service-Parameter-Info') -> + 'Service-Parameter-Info'; +name2rec('Subscription-Id') -> 'Subscription-Id'; +name2rec('User-Equipment-Info') -> + 'User-Equipment-Info'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(411, undefined) -> + {'CC-Correlation-Id', 'OctetString'}; +avp_name(412, undefined) -> + {'CC-Input-Octets', 'Unsigned64'}; +avp_name(413, undefined) -> {'CC-Money', 'Grouped'}; +avp_name(414, undefined) -> + {'CC-Output-Octets', 'Unsigned64'}; +avp_name(415, undefined) -> + {'CC-Request-Number', 'Unsigned32'}; +avp_name(416, undefined) -> + {'CC-Request-Type', 'Enumerated'}; +avp_name(417, undefined) -> + {'CC-Service-Specific-Units', 'Unsigned64'}; +avp_name(418, undefined) -> + {'CC-Session-Failover', 'Enumerated'}; +avp_name(419, undefined) -> + {'CC-Sub-Session-Id', 'Unsigned64'}; +avp_name(420, undefined) -> {'CC-Time', 'Unsigned32'}; +avp_name(421, undefined) -> + {'CC-Total-Octets', 'Unsigned64'}; +avp_name(454, undefined) -> + {'CC-Unit-Type', 'Enumerated'}; +avp_name(422, undefined) -> + {'Check-Balance-Result', 'Enumerated'}; +avp_name(423, undefined) -> + {'Cost-Information', 'Grouped'}; +avp_name(424, undefined) -> {'Cost-Unit', 'UTF8String'}; +avp_name(426, undefined) -> + {'Credit-Control', 'Enumerated'}; +avp_name(427, undefined) -> + {'Credit-Control-Failure-Handling', 'Enumerated'}; +avp_name(425, undefined) -> + {'Currency-Code', 'Unsigned32'}; +avp_name(428, undefined) -> + {'Direct-Debiting-Failure-Handling', 'Enumerated'}; +avp_name(429, undefined) -> {'Exponent', 'Integer32'}; +avp_name(449, undefined) -> + {'Final-Unit-Action', 'Enumerated'}; +avp_name(430, undefined) -> + {'Final-Unit-Indication', 'Grouped'}; +avp_name(453, undefined) -> + {'G-S-U-Pool-Identifier', 'Unsigned32'}; +avp_name(457, undefined) -> + {'G-S-U-Pool-Reference', 'Grouped'}; +avp_name(431, undefined) -> + {'Granted-Service-Unit', 'Grouped'}; +avp_name(456, undefined) -> + {'Multiple-Services-Credit-Control', 'Grouped'}; +avp_name(455, undefined) -> + {'Multiple-Services-Indicator', 'Enumerated'}; +avp_name(432, undefined) -> + {'Rating-Group', 'Unsigned32'}; +avp_name(433, undefined) -> + {'Redirect-Address-Type', 'Enumerated'}; +avp_name(434, undefined) -> + {'Redirect-Server', 'Grouped'}; +avp_name(435, undefined) -> + {'Redirect-Server-Address', 'UTF8String'}; +avp_name(436, undefined) -> + {'Requested-Action', 'Enumerated'}; +avp_name(437, undefined) -> + {'Requested-Service-Unit', 'Grouped'}; +avp_name(438, undefined) -> + {'Restriction-Filter-Rule', 'IPFilterRule'}; +avp_name(461, undefined) -> + {'Service-Context-Id', 'UTF8String'}; +avp_name(439, undefined) -> + {'Service-Identifier', 'Unsigned32'}; +avp_name(440, undefined) -> + {'Service-Parameter-Info', 'Grouped'}; +avp_name(441, undefined) -> + {'Service-Parameter-Type', 'Unsigned32'}; +avp_name(442, undefined) -> + {'Service-Parameter-Value', 'OctetString'}; +avp_name(443, undefined) -> + {'Subscription-Id', 'Grouped'}; +avp_name(444, undefined) -> + {'Subscription-Id-Data', 'UTF8String'}; +avp_name(450, undefined) -> + {'Subscription-Id-Type', 'Enumerated'}; +avp_name(452, undefined) -> + {'Tariff-Change-Usage', 'Enumerated'}; +avp_name(451, undefined) -> + {'Tariff-Time-Change', 'Time'}; +avp_name(445, undefined) -> {'Unit-Value', 'Grouped'}; +avp_name(446, undefined) -> + {'Used-Service-Unit', 'Grouped'}; +avp_name(458, undefined) -> + {'User-Equipment-Info', 'Grouped'}; +avp_name(459, undefined) -> + {'User-Equipment-Info-Type', 'Enumerated'}; +avp_name(460, undefined) -> + {'User-Equipment-Info-Value', 'OctetString'}; +avp_name(448, undefined) -> + {'Validity-Time', 'Unsigned32'}; +avp_name(447, undefined) -> + {'Value-Digits', 'Integer64'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(11, undefined) -> {'Filter-Id', 'UTF8String'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('CCR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Auth-Application-Id', 1}, + {'Service-Context-Id', 1}, + {'CC-Request-Type', 1}, + {'CC-Request-Number', 1}, + {'Destination-Host', {0, 1}}, + {'User-Name', {0, 1}}, + {'CC-Sub-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Subscription-Id', {0, '*'}}, + {'Service-Identifier', {0, 1}}, + {'Termination-Cause', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Requested-Action', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Multiple-Services-Indicator', {0, 1}}, + {'Multiple-Services-Credit-Control', {0, '*'}}, + {'Service-Parameter-Info', {0, '*'}}, + {'CC-Correlation-Id', {0, 1}}, + {'User-Equipment-Info', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('CCA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Auth-Application-Id', 1}, + {'CC-Request-Type', 1}, + {'CC-Request-Number', 1}, + {'User-Name', {0, 1}}, + {'CC-Session-Failover', {0, 1}}, + {'CC-Sub-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Granted-Service-Unit', {0, 1}}, + {'Multiple-Services-Credit-Control', {0, '*'}}, + {'Cost-Information', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'Check-Balance-Result', {0, 1}}, + {'Credit-Control-Failure-Handling', {0, 1}}, + {'Direct-Debiting-Failure-Handling', {0, 1}}, + {'Validity-Time', {0, 1}}, + {'Redirect-Host', {0, '*'}}, + {'Redirect-Host-Usage', {0, 1}}, + {'Redirect-Max-Cache-Time', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'Failed-AVP', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Cost-Information') -> + [{'Unit-Value', 1}, + {'Currency-Code', 1}, + {'Cost-Unit', {0, 1}}]; +avp_arity('Unit-Value') -> + [{'Value-Digits', 1}, {'Exponent', {0, 1}}]; +avp_arity('Multiple-Services-Credit-Control') -> + [{'Granted-Service-Unit', {0, 1}}, + {'Requested-Service-Unit', {0, 1}}, + {'Used-Service-Unit', {0, '*'}}, + {'Tariff-Change-Usage', {0, 1}}, + {'Service-Identifier', {0, '*'}}, + {'Rating-Group', {0, 1}}, + {'G-S-U-Pool-Reference', {0, '*'}}, + {'Validity-Time', {0, 1}}, + {'Result-Code', {0, 1}}, + {'Final-Unit-Indication', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Granted-Service-Unit') -> + [{'Tariff-Time-Change', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Requested-Service-Unit') -> + [{'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Used-Service-Unit') -> + [{'Tariff-Change-Usage', {0, 1}}, + {'CC-Time', {0, 1}}, + {'CC-Money', {0, 1}}, + {'CC-Total-Octets', {0, 1}}, + {'CC-Input-Octets', {0, 1}}, + {'CC-Output-Octets', {0, 1}}, + {'CC-Service-Specific-Units', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('CC-Money') -> + [{'Unit-Value', 1}, {'Currency-Code', {0, 1}}]; +avp_arity('G-S-U-Pool-Reference') -> + [{'G-S-U-Pool-Identifier', 1}, + {'CC-Unit-Type', 1}, + {'Unit-Value', 1}]; +avp_arity('Final-Unit-Indication') -> + [{'Final-Unit-Action', 1}, + {'Restriction-Filter-Rule', {0, '*'}}, + {'Filter-Id', {0, '*'}}, + {'Redirect-Server', {0, 1}}]; +avp_arity('Redirect-Server') -> + [{'Redirect-Address-Type', 1}, + {'Redirect-Server-Address', 1}]; +avp_arity('Service-Parameter-Info') -> + [{'Service-Parameter-Type', 1}, + {'Service-Parameter-Value', 1}]; +avp_arity('Subscription-Id') -> + [{'Subscription-Id-Type', 1}, + {'Subscription-Id-Data', 1}]; +avp_arity('User-Equipment-Info') -> + [{'User-Equipment-Info-Type', 1}, + {'User-Equipment-Info-Value', 1}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('CCR', 'Session-Id') -> 1; +avp_arity('CCR', 'Origin-Host') -> 1; +avp_arity('CCR', 'Origin-Realm') -> 1; +avp_arity('CCR', 'Destination-Realm') -> 1; +avp_arity('CCR', 'Auth-Application-Id') -> 1; +avp_arity('CCR', 'Service-Context-Id') -> 1; +avp_arity('CCR', 'CC-Request-Type') -> 1; +avp_arity('CCR', 'CC-Request-Number') -> 1; +avp_arity('CCR', 'Destination-Host') -> {0, 1}; +avp_arity('CCR', 'User-Name') -> {0, 1}; +avp_arity('CCR', 'CC-Sub-Session-Id') -> {0, 1}; +avp_arity('CCR', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('CCR', 'Origin-State-Id') -> {0, 1}; +avp_arity('CCR', 'Event-Timestamp') -> {0, 1}; +avp_arity('CCR', 'Subscription-Id') -> {0, '*'}; +avp_arity('CCR', 'Service-Identifier') -> {0, 1}; +avp_arity('CCR', 'Termination-Cause') -> {0, 1}; +avp_arity('CCR', 'Requested-Service-Unit') -> {0, 1}; +avp_arity('CCR', 'Requested-Action') -> {0, 1}; +avp_arity('CCR', 'Used-Service-Unit') -> {0, '*'}; +avp_arity('CCR', 'Multiple-Services-Indicator') -> + {0, 1}; +avp_arity('CCR', 'Multiple-Services-Credit-Control') -> + {0, '*'}; +avp_arity('CCR', 'Service-Parameter-Info') -> {0, '*'}; +avp_arity('CCR', 'CC-Correlation-Id') -> {0, 1}; +avp_arity('CCR', 'User-Equipment-Info') -> {0, 1}; +avp_arity('CCR', 'Proxy-Info') -> {0, '*'}; +avp_arity('CCR', 'Route-Record') -> {0, '*'}; +avp_arity('CCR', 'AVP') -> {0, '*'}; +avp_arity('CCA', 'Session-Id') -> 1; +avp_arity('CCA', 'Result-Code') -> 1; +avp_arity('CCA', 'Origin-Host') -> 1; +avp_arity('CCA', 'Origin-Realm') -> 1; +avp_arity('CCA', 'Auth-Application-Id') -> 1; +avp_arity('CCA', 'CC-Request-Type') -> 1; +avp_arity('CCA', 'CC-Request-Number') -> 1; +avp_arity('CCA', 'User-Name') -> {0, 1}; +avp_arity('CCA', 'CC-Session-Failover') -> {0, 1}; +avp_arity('CCA', 'CC-Sub-Session-Id') -> {0, 1}; +avp_arity('CCA', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('CCA', 'Origin-State-Id') -> {0, 1}; +avp_arity('CCA', 'Event-Timestamp') -> {0, 1}; +avp_arity('CCA', 'Granted-Service-Unit') -> {0, 1}; +avp_arity('CCA', 'Multiple-Services-Credit-Control') -> + {0, '*'}; +avp_arity('CCA', 'Cost-Information') -> {0, 1}; +avp_arity('CCA', 'Final-Unit-Indication') -> {0, 1}; +avp_arity('CCA', 'Check-Balance-Result') -> {0, 1}; +avp_arity('CCA', 'Credit-Control-Failure-Handling') -> + {0, 1}; +avp_arity('CCA', 'Direct-Debiting-Failure-Handling') -> + {0, 1}; +avp_arity('CCA', 'Validity-Time') -> {0, 1}; +avp_arity('CCA', 'Redirect-Host') -> {0, '*'}; +avp_arity('CCA', 'Redirect-Host-Usage') -> {0, 1}; +avp_arity('CCA', 'Redirect-Max-Cache-Time') -> {0, 1}; +avp_arity('CCA', 'Proxy-Info') -> {0, '*'}; +avp_arity('CCA', 'Route-Record') -> {0, '*'}; +avp_arity('CCA', 'Failed-AVP') -> {0, '*'}; +avp_arity('CCA', 'AVP') -> {0, '*'}; +avp_arity('Cost-Information', 'Unit-Value') -> 1; +avp_arity('Cost-Information', 'Currency-Code') -> 1; +avp_arity('Cost-Information', 'Cost-Unit') -> {0, 1}; +avp_arity('Unit-Value', 'Value-Digits') -> 1; +avp_arity('Unit-Value', 'Exponent') -> {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Granted-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Requested-Service-Unit') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Used-Service-Unit') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Service-Identifier') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Rating-Group') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'G-S-U-Pool-Reference') -> + {0, '*'}; +avp_arity('Multiple-Services-Credit-Control', + 'Validity-Time') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Result-Code') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', + 'Final-Unit-Indication') -> + {0, 1}; +avp_arity('Multiple-Services-Credit-Control', 'AVP') -> + {0, '*'}; +avp_arity('Granted-Service-Unit', + 'Tariff-Time-Change') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Granted-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Granted-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Requested-Service-Unit', 'CC-Time') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'CC-Money') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Requested-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Requested-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('Used-Service-Unit', 'Tariff-Change-Usage') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Time') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Money') -> {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Total-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Input-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'CC-Output-Octets') -> + {0, 1}; +avp_arity('Used-Service-Unit', + 'CC-Service-Specific-Units') -> + {0, 1}; +avp_arity('Used-Service-Unit', 'AVP') -> {0, '*'}; +avp_arity('CC-Money', 'Unit-Value') -> 1; +avp_arity('CC-Money', 'Currency-Code') -> {0, 1}; +avp_arity('G-S-U-Pool-Reference', + 'G-S-U-Pool-Identifier') -> + 1; +avp_arity('G-S-U-Pool-Reference', 'CC-Unit-Type') -> 1; +avp_arity('G-S-U-Pool-Reference', 'Unit-Value') -> 1; +avp_arity('Final-Unit-Indication', + 'Final-Unit-Action') -> + 1; +avp_arity('Final-Unit-Indication', + 'Restriction-Filter-Rule') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Filter-Id') -> + {0, '*'}; +avp_arity('Final-Unit-Indication', 'Redirect-Server') -> + {0, 1}; +avp_arity('Redirect-Server', 'Redirect-Address-Type') -> + 1; +avp_arity('Redirect-Server', + 'Redirect-Server-Address') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Type') -> + 1; +avp_arity('Service-Parameter-Info', + 'Service-Parameter-Value') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Type') -> + 1; +avp_arity('Subscription-Id', 'Subscription-Id-Data') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Type') -> + 1; +avp_arity('User-Equipment-Info', + 'User-Equipment-Info-Value') -> + 1; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('CC-Correlation-Id') -> {411, 0, undefined}; +avp_header('CC-Input-Octets') -> {412, 64, undefined}; +avp_header('CC-Money') -> {413, 64, undefined}; +avp_header('CC-Output-Octets') -> {414, 64, undefined}; +avp_header('CC-Request-Number') -> {415, 64, undefined}; +avp_header('CC-Request-Type') -> {416, 64, undefined}; +avp_header('CC-Service-Specific-Units') -> + {417, 64, undefined}; +avp_header('CC-Session-Failover') -> + {418, 64, undefined}; +avp_header('CC-Sub-Session-Id') -> {419, 64, undefined}; +avp_header('CC-Time') -> {420, 64, undefined}; +avp_header('CC-Total-Octets') -> {421, 64, undefined}; +avp_header('CC-Unit-Type') -> {454, 64, undefined}; +avp_header('Check-Balance-Result') -> + {422, 64, undefined}; +avp_header('Cost-Information') -> {423, 64, undefined}; +avp_header('Cost-Unit') -> {424, 64, undefined}; +avp_header('Credit-Control') -> {426, 64, undefined}; +avp_header('Credit-Control-Failure-Handling') -> + {427, 64, undefined}; +avp_header('Currency-Code') -> {425, 64, undefined}; +avp_header('Direct-Debiting-Failure-Handling') -> + {428, 64, undefined}; +avp_header('Exponent') -> {429, 64, undefined}; +avp_header('Final-Unit-Action') -> {449, 64, undefined}; +avp_header('Final-Unit-Indication') -> + {430, 64, undefined}; +avp_header('G-S-U-Pool-Identifier') -> + {453, 64, undefined}; +avp_header('G-S-U-Pool-Reference') -> + {457, 64, undefined}; +avp_header('Granted-Service-Unit') -> + {431, 64, undefined}; +avp_header('Multiple-Services-Credit-Control') -> + {456, 64, undefined}; +avp_header('Multiple-Services-Indicator') -> + {455, 64, undefined}; +avp_header('Rating-Group') -> {432, 64, undefined}; +avp_header('Redirect-Address-Type') -> + {433, 64, undefined}; +avp_header('Redirect-Server') -> {434, 64, undefined}; +avp_header('Redirect-Server-Address') -> + {435, 64, undefined}; +avp_header('Requested-Action') -> {436, 64, undefined}; +avp_header('Requested-Service-Unit') -> + {437, 64, undefined}; +avp_header('Restriction-Filter-Rule') -> + {438, 64, undefined}; +avp_header('Service-Context-Id') -> + {461, 64, undefined}; +avp_header('Service-Identifier') -> + {439, 64, undefined}; +avp_header('Service-Parameter-Info') -> + {440, 0, undefined}; +avp_header('Service-Parameter-Type') -> + {441, 0, undefined}; +avp_header('Service-Parameter-Value') -> + {442, 0, undefined}; +avp_header('Subscription-Id') -> {443, 64, undefined}; +avp_header('Subscription-Id-Data') -> + {444, 64, undefined}; +avp_header('Subscription-Id-Type') -> + {450, 64, undefined}; +avp_header('Tariff-Change-Usage') -> + {452, 64, undefined}; +avp_header('Tariff-Time-Change') -> + {451, 64, undefined}; +avp_header('Unit-Value') -> {445, 64, undefined}; +avp_header('Used-Service-Unit') -> {446, 64, undefined}; +avp_header('User-Equipment-Info') -> + {458, 0, undefined}; +avp_header('User-Equipment-Info-Type') -> + {459, 0, undefined}; +avp_header('User-Equipment-Info-Value') -> + {460, 0, undefined}; +avp_header('Validity-Time') -> {448, 64, undefined}; +avp_header('Value-Digits') -> {447, 64, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('Filter-Id') -> + diameter_rfc4005_nasreq:avp_header('Filter-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'CC-Correlation-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'CC-Input-Octets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'CC-Money', Opts) -> + grouped_avp(T, 'CC-Money', Data, Opts); +avp(T, Data, 'CC-Output-Octets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'CC-Request-Number', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'CC-Request-Type', _) -> + enumerated_avp(T, 'CC-Request-Type', Data); +avp(T, Data, 'CC-Service-Specific-Units', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'CC-Session-Failover', _) -> + enumerated_avp(T, 'CC-Session-Failover', Data); +avp(T, Data, 'CC-Sub-Session-Id', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'CC-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'CC-Total-Octets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'CC-Unit-Type', _) -> + enumerated_avp(T, 'CC-Unit-Type', Data); +avp(T, Data, 'Check-Balance-Result', _) -> + enumerated_avp(T, 'Check-Balance-Result', Data); +avp(T, Data, 'Cost-Information', Opts) -> + grouped_avp(T, 'Cost-Information', Data, Opts); +avp(T, Data, 'Cost-Unit', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Credit-Control', _) -> + enumerated_avp(T, 'Credit-Control', Data); +avp(T, Data, 'Credit-Control-Failure-Handling', _) -> + enumerated_avp(T, + 'Credit-Control-Failure-Handling', + Data); +avp(T, Data, 'Currency-Code', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Direct-Debiting-Failure-Handling', _) -> + enumerated_avp(T, + 'Direct-Debiting-Failure-Handling', + Data); +avp(T, Data, 'Exponent', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Final-Unit-Action', _) -> + enumerated_avp(T, 'Final-Unit-Action', Data); +avp(T, Data, 'Final-Unit-Indication', Opts) -> + grouped_avp(T, 'Final-Unit-Indication', Data, Opts); +avp(T, Data, 'G-S-U-Pool-Identifier', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'G-S-U-Pool-Reference', Opts) -> + grouped_avp(T, 'G-S-U-Pool-Reference', Data, Opts); +avp(T, Data, 'Granted-Service-Unit', Opts) -> + grouped_avp(T, 'Granted-Service-Unit', Data, Opts); +avp(T, Data, 'Multiple-Services-Credit-Control', + Opts) -> + grouped_avp(T, + 'Multiple-Services-Credit-Control', + Data, + Opts); +avp(T, Data, 'Multiple-Services-Indicator', _) -> + enumerated_avp(T, 'Multiple-Services-Indicator', Data); +avp(T, Data, 'Rating-Group', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Redirect-Address-Type', _) -> + enumerated_avp(T, 'Redirect-Address-Type', Data); +avp(T, Data, 'Redirect-Server', Opts) -> + grouped_avp(T, 'Redirect-Server', Data, Opts); +avp(T, Data, 'Redirect-Server-Address', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Requested-Action', _) -> + enumerated_avp(T, 'Requested-Action', Data); +avp(T, Data, 'Requested-Service-Unit', Opts) -> + grouped_avp(T, 'Requested-Service-Unit', Data, Opts); +avp(T, Data, 'Restriction-Filter-Rule', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'Service-Context-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Service-Identifier', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Service-Parameter-Info', Opts) -> + grouped_avp(T, 'Service-Parameter-Info', Data, Opts); +avp(T, Data, 'Service-Parameter-Type', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Service-Parameter-Value', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Subscription-Id', Opts) -> + grouped_avp(T, 'Subscription-Id', Data, Opts); +avp(T, Data, 'Subscription-Id-Data', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Subscription-Id-Type', _) -> + enumerated_avp(T, 'Subscription-Id-Type', Data); +avp(T, Data, 'Tariff-Change-Usage', _) -> + enumerated_avp(T, 'Tariff-Change-Usage', Data); +avp(T, Data, 'Tariff-Time-Change', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Unit-Value', Opts) -> + grouped_avp(T, 'Unit-Value', Data, Opts); +avp(T, Data, 'Used-Service-Unit', Opts) -> + grouped_avp(T, 'Used-Service-Unit', Data, Opts); +avp(T, Data, 'User-Equipment-Info', Opts) -> + grouped_avp(T, 'User-Equipment-Info', Data, Opts); +avp(T, Data, 'User-Equipment-Info-Type', _) -> + enumerated_avp(T, 'User-Equipment-Info-Type', Data); +avp(T, Data, 'User-Equipment-Info-Value', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Validity-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Value-Digits', Opts) -> + diameter_types:'Integer64'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'Filter-Id', Opts) -> + avp(T, + Data, + 'Filter-Id', + Opts, + diameter_rfc4005_nasreq); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'CC-Request-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'CC-Request-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'CC-Request-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'CC-Request-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'CC-Request-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'CC-Request-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'CC-Request-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'CC-Request-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'CC-Session-Failover', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'CC-Session-Failover', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'CC-Session-Failover', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'CC-Session-Failover', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Check-Balance-Result', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Check-Balance-Result', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Check-Balance-Result', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Check-Balance-Result', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Credit-Control', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Credit-Control', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Credit-Control', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Credit-Control', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'Credit-Control-Failure-Handling', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Credit-Control-Failure-Handling', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'Credit-Control-Failure-Handling', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'Credit-Control-Failure-Handling', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, + 'Credit-Control-Failure-Handling', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, + 'Credit-Control-Failure-Handling', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, + 'Direct-Debiting-Failure-Handling', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, + 'Direct-Debiting-Failure-Handling', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, + 'Direct-Debiting-Failure-Handling', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, + 'Direct-Debiting-Failure-Handling', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Tariff-Change-Usage', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Tariff-Change-Usage', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Tariff-Change-Usage', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Tariff-Change-Usage', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Tariff-Change-Usage', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Tariff-Change-Usage', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'CC-Unit-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'CC-Unit-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'CC-Unit-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'CC-Unit-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'CC-Unit-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'CC-Unit-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'CC-Unit-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'CC-Unit-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'CC-Unit-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'CC-Unit-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'CC-Unit-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'CC-Unit-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Final-Unit-Action', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Final-Unit-Action', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Final-Unit-Action', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Final-Unit-Action', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Final-Unit-Action', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Final-Unit-Action', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Redirect-Address-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Redirect-Address-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Redirect-Address-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Redirect-Address-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Redirect-Address-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Redirect-Address-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Redirect-Address-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Redirect-Address-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Multiple-Services-Indicator', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Multiple-Services-Indicator', + 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Multiple-Services-Indicator', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Multiple-Services-Indicator', + 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Requested-Action', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Requested-Action', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Requested-Action', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Requested-Action', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Requested-Action', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Requested-Action', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Requested-Action', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Requested-Action', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Subscription-Id-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Subscription-Id-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Subscription-Id-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Subscription-Id-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Subscription-Id-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Subscription-Id-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Subscription-Id-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Subscription-Id-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Subscription-Id-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Subscription-Id-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'User-Equipment-Info-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'User-Equipment-Info-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'User-Equipment-Info-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'User-Equipment-Info-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'User-Equipment-Info-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'User-Equipment-Info-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'User-Equipment-Info-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'User-Equipment-Info-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Cost-Information', Opts) -> + empty_group('Cost-Information', Opts); +empty_value('Unit-Value', Opts) -> + empty_group('Unit-Value', Opts); +empty_value('Multiple-Services-Credit-Control', Opts) -> + empty_group('Multiple-Services-Credit-Control', Opts); +empty_value('Granted-Service-Unit', Opts) -> + empty_group('Granted-Service-Unit', Opts); +empty_value('Requested-Service-Unit', Opts) -> + empty_group('Requested-Service-Unit', Opts); +empty_value('Used-Service-Unit', Opts) -> + empty_group('Used-Service-Unit', Opts); +empty_value('CC-Money', Opts) -> + empty_group('CC-Money', Opts); +empty_value('G-S-U-Pool-Reference', Opts) -> + empty_group('G-S-U-Pool-Reference', Opts); +empty_value('Final-Unit-Indication', Opts) -> + empty_group('Final-Unit-Indication', Opts); +empty_value('Redirect-Server', Opts) -> + empty_group('Redirect-Server', Opts); +empty_value('Service-Parameter-Info', Opts) -> + empty_group('Service-Parameter-Info', Opts); +empty_value('Subscription-Id', Opts) -> + empty_group('Subscription-Id', Opts); +empty_value('User-Equipment-Info', Opts) -> + empty_group('User-Equipment-Info', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('CC-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Session-Failover', _) -> <<0, 0, 0, 0>>; +empty_value('Check-Balance-Result', _) -> + <<0, 0, 0, 0>>; +empty_value('Credit-Control', _) -> <<0, 0, 0, 0>>; +empty_value('Credit-Control-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Direct-Debiting-Failure-Handling', _) -> + <<0, 0, 0, 0>>; +empty_value('Tariff-Change-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('CC-Unit-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Final-Unit-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Address-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Multiple-Services-Indicator', _) -> + <<0, 0, 0, 0>>; +empty_value('Requested-Action', _) -> <<0, 0, 0, 0>>; +empty_value('Subscription-Id-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('User-Equipment-Info-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"CC-Correlation-Id", 411, "OctetString", []}, + {"CC-Input-Octets", 412, "Unsigned64", "M"}, + {"CC-Money", 413, "Grouped", "M"}, + {"CC-Output-Octets", 414, "Unsigned64", "M"}, + {"CC-Request-Number", 415, "Unsigned32", "M"}, + {"CC-Request-Type", 416, "Enumerated", "M"}, + {"CC-Service-Specific-Units", 417, "Unsigned64", "M"}, + {"CC-Session-Failover", 418, "Enumerated", "M"}, + {"CC-Sub-Session-Id", 419, "Unsigned64", "M"}, + {"CC-Time", 420, "Unsigned32", "M"}, + {"CC-Total-Octets", 421, "Unsigned64", "M"}, + {"CC-Unit-Type", 454, "Enumerated", "M"}, + {"Check-Balance-Result", 422, "Enumerated", "M"}, + {"Cost-Information", 423, "Grouped", "M"}, + {"Cost-Unit", 424, "UTF8String", "M"}, + {"Credit-Control", 426, "Enumerated", "M"}, + {"Credit-Control-Failure-Handling", + 427, + "Enumerated", + "M"}, + {"Currency-Code", 425, "Unsigned32", "M"}, + {"Direct-Debiting-Failure-Handling", + 428, + "Enumerated", + "M"}, + {"Exponent", 429, "Integer32", "M"}, + {"Final-Unit-Action", 449, "Enumerated", "M"}, + {"Final-Unit-Indication", 430, "Grouped", "M"}, + {"G-S-U-Pool-Identifier", 453, "Unsigned32", "M"}, + {"G-S-U-Pool-Reference", 457, "Grouped", "M"}, + {"Granted-Service-Unit", 431, "Grouped", "M"}, + {"Multiple-Services-Credit-Control", + 456, + "Grouped", + "M"}, + {"Multiple-Services-Indicator", 455, "Enumerated", "M"}, + {"Rating-Group", 432, "Unsigned32", "M"}, + {"Redirect-Address-Type", 433, "Enumerated", "M"}, + {"Redirect-Server", 434, "Grouped", "M"}, + {"Redirect-Server-Address", 435, "UTF8String", "M"}, + {"Requested-Action", 436, "Enumerated", "M"}, + {"Requested-Service-Unit", 437, "Grouped", "M"}, + {"Restriction-Filter-Rule", 438, "IPFilterRule", "M"}, + {"Service-Context-Id", 461, "UTF8String", "M"}, + {"Service-Identifier", 439, "Unsigned32", "M"}, + {"Service-Parameter-Info", 440, "Grouped", []}, + {"Service-Parameter-Type", 441, "Unsigned32", []}, + {"Service-Parameter-Value", 442, "OctetString", []}, + {"Subscription-Id", 443, "Grouped", "M"}, + {"Subscription-Id-Data", 444, "UTF8String", "M"}, + {"Subscription-Id-Type", 450, "Enumerated", "M"}, + {"Tariff-Change-Usage", 452, "Enumerated", "M"}, + {"Tariff-Time-Change", 451, "Time", "M"}, + {"Unit-Value", 445, "Grouped", "M"}, + {"Used-Service-Unit", 446, "Grouped", "M"}, + {"User-Equipment-Info", 458, "Grouped", []}, + {"User-Equipment-Info-Type", 459, "Enumerated", []}, + {"User-Equipment-Info-Value", 460, "OctetString", []}, + {"Validity-Time", 448, "Unsigned32", "M"}, + {"Value-Digits", 447, "Integer64", "M"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, [{272, "CCR", "CCA"}]}, + {custom_types, []}, + {define, + [{"Result-Code", + [{"END_USER_SERVICE_DENIED", 4010}, + {"CREDIT_CONTROL_NOT_APPLICABLE", 4011}, + {"CREDIT_LIMIT_REACHED", 4012}, + {"USER_UNKNOWN", 5030}, + {"RATING_FAILED", 5031}]}]}, + {enum, + [{"CC-Request-Type", + [{"INITIAL_REQUEST", 1}, + {"UPDATE_REQUEST", 2}, + {"TERMINATION_REQUEST", 3}, + {"EVENT_REQUEST", 4}]}, + {"CC-Session-Failover", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Check-Balance-Result", + [{"ENOUGH_CREDIT", 0}, {"NO_CREDIT", 1}]}, + {"Credit-Control", + [{"AUTHORIZATION", 0}, {"RE_AUTHORIZATION", 1}]}, + {"Credit-Control-Failure-Handling", + [{"TERMINATE", 0}, + {"CONTINUE", 1}, + {"RETRY_AND_TERMINATE", 2}]}, + {"Direct-Debiting-Failure-Handling", + [{"TERMINATE_OR_BUFFER", 0}, {"CONTINUE", 1}]}, + {"Tariff-Change-Usage", + [{"UNIT_BEFORE_TARIFF_CHANGE", 0}, + {"UNIT_AFTER_TARIFF_CHANGE", 1}, + {"UNIT_INDETERMINATE", 2}]}, + {"CC-Unit-Type", + [{"TIME", 0}, + {"MONEY", 1}, + {"TOTAL-OCTETS", 2}, + {"INPUT-OCTETS", 3}, + {"OUTPUT-OCTETS", 4}, + {"SERVICE-SPECIFIC-UNITS", 5}]}, + {"Final-Unit-Action", + [{"TERMINATE", 0}, + {"REDIRECT", 1}, + {"RESTRICT_ACCESS", 2}]}, + {"Redirect-Address-Type", + [{"IPV4", 0}, {"IPV6", 1}, {"URL", 2}, {"SIP_URI", 3}]}, + {"Multiple-Services-Indicator", + [{"NOT_SUPPORTED", 0}, {"SUPPORTED", 1}]}, + {"Requested-Action", + [{"DIRECT_DEBITING", 0}, + {"REFUND_ACCOUNT", 1}, + {"CHECK_BALANCE", 2}, + {"PRICE_ENQUIRY", 3}]}, + {"Subscription-Id-Type", + [{"END_USER_E164", 0}, + {"END_USER_IMSI", 1}, + {"END_USER_SIP_URI", 2}, + {"END_USER_NAI", 3}, + {"END_USER_PRIVATE", 4}]}, + {"User-Equipment-Info-Type", + [{"IMEISV", 0}, + {"MAC", 1}, + {"EUI64", 2}, + {"MODIFIED_EUI64", 3}]}]}, + {grouped, + [{"Cost-Information", + 423, + [], + [{"Unit-Value"}, {"Currency-Code"}, ["Cost-Unit"]]}, + {"Unit-Value", + 445, + [], + [{"Value-Digits"}, ["Exponent"]]}, + {"Multiple-Services-Credit-Control", + 456, + [], + [["Granted-Service-Unit"], + ["Requested-Service-Unit"], + {'*', ["Used-Service-Unit"]}, + ["Tariff-Change-Usage"], + {'*', ["Service-Identifier"]}, + ["Rating-Group"], + {'*', ["G-S-U-Pool-Reference"]}, + ["Validity-Time"], + ["Result-Code"], + ["Final-Unit-Indication"], + {'*', ["AVP"]}]}, + {"Granted-Service-Unit", + 431, + [], + [["Tariff-Time-Change"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Requested-Service-Unit", + 437, + [], + [["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"Used-Service-Unit", + 446, + [], + [["Tariff-Change-Usage"], + ["CC-Time"], + ["CC-Money"], + ["CC-Total-Octets"], + ["CC-Input-Octets"], + ["CC-Output-Octets"], + ["CC-Service-Specific-Units"], + {'*', ["AVP"]}]}, + {"CC-Money", + 413, + [], + [{"Unit-Value"}, ["Currency-Code"]]}, + {"G-S-U-Pool-Reference", + 457, + [], + [{"G-S-U-Pool-Identifier"}, + {"CC-Unit-Type"}, + {"Unit-Value"}]}, + {"Final-Unit-Indication", + 430, + [], + [{"Final-Unit-Action"}, + {'*', ["Restriction-Filter-Rule"]}, + {'*', ["Filter-Id"]}, + ["Redirect-Server"]]}, + {"Redirect-Server", + 434, + [], + [{"Redirect-Address-Type"}, + {"Redirect-Server-Address"}]}, + {"Service-Parameter-Info", + 440, + [], + [{"Service-Parameter-Type"}, + {"Service-Parameter-Value"}]}, + {"Subscription-Id", + 443, + [], + [{"Subscription-Id-Type"}, {"Subscription-Id-Data"}]}, + {"User-Equipment-Info", + 458, + [], + [{"User-Equipment-Info-Type"}, + {"User-Equipment-Info-Value"}]}]}, + {id, 4}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_rfc4005_nasreq, + [{"Filter-Id", 11, "UTF8String", "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, + [{"diameter_rfc4005_nasreq", ["Filter-Id"]}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"CCR", + 272, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Auth-Application-Id"}, + {"Service-Context-Id"}, + {"CC-Request-Type"}, + {"CC-Request-Number"}, + ["Destination-Host"], + ["User-Name"], + ["CC-Sub-Session-Id"], + ["Acct-Multi-Session-Id"], + ["Origin-State-Id"], + ["Event-Timestamp"], + {'*', ["Subscription-Id"]}, + ["Service-Identifier"], + ["Termination-Cause"], + ["Requested-Service-Unit"], + ["Requested-Action"], + {'*', ["Used-Service-Unit"]}, + ["Multiple-Services-Indicator"], + {'*', ["Multiple-Services-Credit-Control"]}, + {'*', ["Service-Parameter-Info"]}, + ["CC-Correlation-Id"], + ["User-Equipment-Info"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"CCA", + 272, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Auth-Application-Id"}, + {"CC-Request-Type"}, + {"CC-Request-Number"}, + ["User-Name"], + ["CC-Session-Failover"], + ["CC-Sub-Session-Id"], + ["Acct-Multi-Session-Id"], + ["Origin-State-Id"], + ["Event-Timestamp"], + ["Granted-Service-Unit"], + {'*', ["Multiple-Services-Credit-Control"]}, + ["Cost-Information"], + ["Final-Unit-Indication"], + ["Check-Balance-Result"], + ["Credit-Control-Failure-Handling"], + ["Direct-Debiting-Failure-Handling"], + ["Validity-Time"], + {'*', ["Redirect-Host"]}, + ["Redirect-Host-Usage"], + ["Redirect-Max-Cache-Time"], + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["Failed-AVP"]}, + {'*', ["AVP"]}]}]}]. + + diff --git a/src/diameter_rfc4072.erl b/src/diameter_rfc4072.erl new file mode 100644 index 0000000..e2a0328 --- /dev/null +++ b/src/diameter_rfc4072.erl @@ -0,0 +1,2275 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc4072). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['DER', + 'DEA', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id', + 'CHAP-Auth', + 'Tunneling']). + +-record('DER', + {'Session-Id', + 'Auth-Application-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Auth-Request-Type', + 'EAP-Payload', + 'Destination-Host' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Origin-State-Id' = [], + 'Port-Limit' = [], + 'User-Name' = [], + 'EAP-Key-Name' = [], + 'Service-Type' = [], + 'State' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Originating-Line-Info' = [], + 'Connect-Info' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IP-Netmask' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record('DEA', + {'Session-Id', + 'Auth-Application-Id', + 'Auth-Request-Type', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'User-Name' = [], + 'EAP-Payload' = [], + 'EAP-Reissued-Payload' = [], + 'EAP-Master-Session-Key' = [], + 'EAP-Key-Name' = [], + 'Multi-Round-Time-Out' = [], + 'Accounting-EAP-Auth-Method' = [], + 'Service-Type' = [], + 'Class' = [], + 'Configuration-Token' = [], + 'Acct-Interim-Interval' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Idle-Timeout' = [], + 'Authorization-Lifetime' = [], + 'Auth-Grace-Period' = [], + 'Auth-Session-State' = [], + 'Re-Auth-Request-Type' = [], + 'Session-Timeout' = [], + 'State' = [], + 'Reply-Message' = [], + 'Origin-State-Id' = [], + 'Filter-Id' = [], + 'Port-Limit' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IP-Netmask' = [], + 'Framed-Route' = [], + 'Framed-Pool' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Protocol' = [], + 'Framed-Routing' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Tunneling' = [], + 'Redirect-Host' = [], + 'Redirect-Host-Usage' = [], + 'Redirect-Max-Cache-Time' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('CHAP-Auth', + {'CHAP-Algorithm', + 'CHAP-Ident', + 'CHAP-Response' = [], + 'AVP' = []}). + +-record('Tunneling', + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc4072. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(268, true) -> 'DER'; +msg_name(268, false) -> 'DEA'; +msg_name(_, _) -> ''. + +msg_header('DER') -> {268, 192, 1}; +msg_header('DEA') -> {268, 64, 1}; +msg_header(_) -> erlang:error(badarg). + +rec2msg('DER') -> 'DER'; +rec2msg('DEA') -> 'DEA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('DER') -> 'DER'; +msg2rec('DEA') -> 'DEA'; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec('CHAP-Auth') -> 'CHAP-Auth'; +name2rec('Tunneling') -> 'Tunneling'; +name2rec(T) -> msg2rec(T). + +avp_name(465, undefined) -> + {'Accounting-EAP-Auth-Method', 'Unsigned64'}; +avp_name(102, undefined) -> + {'EAP-Key-Name', 'OctetString'}; +avp_name(464, undefined) -> + {'EAP-Master-Session-Key', 'OctetString'}; +avp_name(462, undefined) -> + {'EAP-Payload', 'OctetString'}; +avp_name(463, undefined) -> + {'EAP-Reissued-Payload', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(84, undefined) -> + {'ARAP-Challenge-Response', 'OctetString'}; +avp_name(71, undefined) -> + {'ARAP-Features', 'OctetString'}; +avp_name(70, undefined) -> + {'ARAP-Password', 'OctetString'}; +avp_name(73, undefined) -> + {'ARAP-Security', 'Unsigned32'}; +avp_name(74, undefined) -> + {'ARAP-Security-Data', 'OctetString'}; +avp_name(72, undefined) -> + {'ARAP-Zone-Access', 'Enumerated'}; +avp_name(406, undefined) -> + {'Accounting-Auth-Method', 'Enumerated'}; +avp_name(363, undefined) -> + {'Accounting-Input-Octets', 'Unsigned64'}; +avp_name(365, undefined) -> + {'Accounting-Input-Packets', 'Unsigned64'}; +avp_name(364, undefined) -> + {'Accounting-Output-Octets', 'Unsigned64'}; +avp_name(366, undefined) -> + {'Accounting-Output-Packets', 'Unsigned64'}; +avp_name(45, undefined) -> + {'Acct-Authentic', 'Enumerated'}; +avp_name(41, undefined) -> + {'Acct-Delay-Time', 'Unsigned32'}; +avp_name(51, undefined) -> + {'Acct-Link-Count', 'Unsigned32'}; +avp_name(46, undefined) -> + {'Acct-Session-Time', 'Unsigned32'}; +avp_name(68, undefined) -> + {'Acct-Tunnel-Connection', 'OctetString'}; +avp_name(86, undefined) -> + {'Acct-Tunnel-Packets-Lost', 'Unsigned32'}; +avp_name(403, undefined) -> + {'CHAP-Algorithm', 'Enumerated'}; +avp_name(402, undefined) -> {'CHAP-Auth', 'Grouped'}; +avp_name(60, undefined) -> + {'CHAP-Challenge', 'OctetString'}; +avp_name(404, undefined) -> + {'CHAP-Ident', 'OctetString'}; +avp_name(405, undefined) -> + {'CHAP-Response', 'OctetString'}; +avp_name(20, undefined) -> + {'Callback-Id', 'UTF8String'}; +avp_name(19, undefined) -> + {'Callback-Number', 'UTF8String'}; +avp_name(30, undefined) -> + {'Called-Station-Id', 'UTF8String'}; +avp_name(31, undefined) -> + {'Calling-Station-Id', 'UTF8String'}; +avp_name(78, undefined) -> + {'Configuration-Token', 'OctetString'}; +avp_name(77, undefined) -> + {'Connect-Info', 'UTF8String'}; +avp_name(11, undefined) -> {'Filter-Id', 'UTF8String'}; +avp_name(37, undefined) -> + {'Framed-AppleTalk-Link', 'Unsigned32'}; +avp_name(38, undefined) -> + {'Framed-AppleTalk-Network', 'Unsigned32'}; +avp_name(39, undefined) -> + {'Framed-AppleTalk-Zone', 'OctetString'}; +avp_name(13, undefined) -> + {'Framed-Compression', 'Enumerated'}; +avp_name(8, undefined) -> + {'Framed-IP-Address', 'OctetString'}; +avp_name(9, undefined) -> + {'Framed-IP-Netmask', 'OctetString'}; +avp_name(23, undefined) -> + {'Framed-IPX-Network', 'UTF8String'}; +avp_name(100, undefined) -> + {'Framed-IPv6-Pool', 'OctetString'}; +avp_name(97, undefined) -> + {'Framed-IPv6-Prefix', 'OctetString'}; +avp_name(99, undefined) -> + {'Framed-IPv6-Route', 'UTF8String'}; +avp_name(96, undefined) -> + {'Framed-Interface-Id', 'Unsigned64'}; +avp_name(12, undefined) -> {'Framed-MTU', 'Unsigned32'}; +avp_name(88, undefined) -> + {'Framed-Pool', 'OctetString'}; +avp_name(7, undefined) -> + {'Framed-Protocol', 'Enumerated'}; +avp_name(22, undefined) -> + {'Framed-Route', 'UTF8String'}; +avp_name(10, undefined) -> + {'Framed-Routing', 'Enumerated'}; +avp_name(28, undefined) -> + {'Idle-Timeout', 'Unsigned32'}; +avp_name(14, undefined) -> + {'Login-IP-Host', 'OctetString'}; +avp_name(98, undefined) -> + {'Login-IPv6-Host', 'OctetString'}; +avp_name(36, undefined) -> + {'Login-LAT-Group', 'OctetString'}; +avp_name(35, undefined) -> + {'Login-LAT-Node', 'OctetString'}; +avp_name(63, undefined) -> + {'Login-LAT-Port', 'OctetString'}; +avp_name(34, undefined) -> + {'Login-LAT-Service', 'OctetString'}; +avp_name(15, undefined) -> + {'Login-Service', 'Enumerated'}; +avp_name(16, undefined) -> + {'Login-TCP-Port', 'Unsigned32'}; +avp_name(400, undefined) -> + {'NAS-Filter-Rule', 'IPFilterRule'}; +avp_name(4, undefined) -> + {'NAS-IP-Address', 'OctetString'}; +avp_name(95, undefined) -> + {'NAS-IPv6-Address', 'OctetString'}; +avp_name(32, undefined) -> + {'NAS-Identifier', 'UTF8String'}; +avp_name(5, undefined) -> {'NAS-Port', 'Unsigned32'}; +avp_name(87, undefined) -> + {'NAS-Port-Id', 'UTF8String'}; +avp_name(61, undefined) -> + {'NAS-Port-Type', 'Enumerated'}; +avp_name(408, undefined) -> + {'Origin-AAA-Protocol', 'Enumerated'}; +avp_name(94, undefined) -> + {'Originating-Line-Info', 'OctetString'}; +avp_name(75, undefined) -> + {'Password-Retry', 'Unsigned32'}; +avp_name(62, undefined) -> {'Port-Limit', 'Unsigned32'}; +avp_name(76, undefined) -> {'Prompt', 'Enumerated'}; +avp_name(407, undefined) -> + {'QoS-Filter-Rule', 'QoSFilterRule'}; +avp_name(18, undefined) -> + {'Reply-Message', 'UTF8String'}; +avp_name(6, undefined) -> + {'Service-Type', 'Enumerated'}; +avp_name(24, undefined) -> {'State', 'OctetString'}; +avp_name(82, undefined) -> + {'Tunnel-Assignment-Id', 'OctetString'}; +avp_name(90, undefined) -> + {'Tunnel-Client-Auth-Id', 'UTF8String'}; +avp_name(66, undefined) -> + {'Tunnel-Client-Endpoint', 'UTF8String'}; +avp_name(65, undefined) -> + {'Tunnel-Medium-Type', 'Enumerated'}; +avp_name(69, undefined) -> + {'Tunnel-Password', 'OctetString'}; +avp_name(83, undefined) -> + {'Tunnel-Preference', 'Unsigned32'}; +avp_name(81, undefined) -> + {'Tunnel-Private-Group-Id', 'OctetString'}; +avp_name(91, undefined) -> + {'Tunnel-Server-Auth-Id', 'UTF8String'}; +avp_name(67, undefined) -> + {'Tunnel-Server-Endpoint', 'UTF8String'}; +avp_name(64, undefined) -> + {'Tunnel-Type', 'Enumerated'}; +avp_name(401, undefined) -> {'Tunneling', 'Grouped'}; +avp_name(2, undefined) -> + {'User-Password', 'OctetString'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('DER') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Auth-Request-Type', 1}, + {'EAP-Payload', 1}, + {'Destination-Host', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Port-Limit', {0, 1}}, + {'User-Name', {0, 1}}, + {'EAP-Key-Name', {0, 1}}, + {'Service-Type', {0, 1}}, + {'State', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Auth-Grace-Period', {0, 1}}, + {'Auth-Session-State', {0, 1}}, + {'Callback-Number', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'Calling-Station-Id', {0, 1}}, + {'Originating-Line-Info', {0, 1}}, + {'Connect-Info', {0, 1}}, + {'Framed-Compression', {0, '*'}}, + {'Framed-Interface-Id', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, '*'}}, + {'Framed-IP-Netmask', {0, 1}}, + {'Framed-MTU', {0, 1}}, + {'Framed-Protocol', {0, 1}}, + {'Tunneling', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('DEA') -> + [{'Session-Id', 1}, + {'Auth-Application-Id', 1}, + {'Auth-Request-Type', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'User-Name', {0, 1}}, + {'EAP-Payload', {0, 1}}, + {'EAP-Reissued-Payload', {0, 1}}, + {'EAP-Master-Session-Key', {0, 1}}, + {'EAP-Key-Name', {0, 1}}, + {'Multi-Round-Time-Out', {0, 1}}, + {'Accounting-EAP-Auth-Method', {0, 1}}, + {'Service-Type', {0, 1}}, + {'Class', {0, '*'}}, + {'Configuration-Token', {0, '*'}}, + {'Acct-Interim-Interval', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Idle-Timeout', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Auth-Grace-Period', {0, 1}}, + {'Auth-Session-State', {0, 1}}, + {'Re-Auth-Request-Type', {0, 1}}, + {'Session-Timeout', {0, 1}}, + {'State', {0, 1}}, + {'Reply-Message', {0, '*'}}, + {'Origin-State-Id', {0, 1}}, + {'Filter-Id', {0, '*'}}, + {'Port-Limit', {0, 1}}, + {'Callback-Id', {0, 1}}, + {'Callback-Number', {0, 1}}, + {'Framed-AppleTalk-Link', {0, 1}}, + {'Framed-AppleTalk-Network', {0, '*'}}, + {'Framed-AppleTalk-Zone', {0, 1}}, + {'Framed-Compression', {0, '*'}}, + {'Framed-Interface-Id', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IPv6-Prefix', {0, '*'}}, + {'Framed-IPv6-Pool', {0, 1}}, + {'Framed-IPv6-Route', {0, '*'}}, + {'Framed-IP-Netmask', {0, 1}}, + {'Framed-Route', {0, '*'}}, + {'Framed-Pool', {0, 1}}, + {'Framed-IPX-Network', {0, 1}}, + {'Framed-MTU', {0, 1}}, + {'Framed-Protocol', {0, 1}}, + {'Framed-Routing', {0, 1}}, + {'NAS-Filter-Rule', {0, '*'}}, + {'QoS-Filter-Rule', {0, '*'}}, + {'Tunneling', {0, '*'}}, + {'Redirect-Host', {0, '*'}}, + {'Redirect-Host-Usage', {0, 1}}, + {'Redirect-Max-Cache-Time', {0, 1}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('CHAP-Auth') -> + [{'CHAP-Algorithm', 1}, + {'CHAP-Ident', 1}, + {'CHAP-Response', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Tunneling') -> + [{'Tunnel-Type', 1}, + {'Tunnel-Medium-Type', 1}, + {'Tunnel-Client-Endpoint', 1}, + {'Tunnel-Server-Endpoint', 1}, + {'Tunnel-Preference', {0, 1}}, + {'Tunnel-Client-Auth-Id', {0, 1}}, + {'Tunnel-Server-Auth-Id', {0, 1}}, + {'Tunnel-Assignment-Id', {0, 1}}, + {'Tunnel-Password', {0, 1}}, + {'Tunnel-Private-Group-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('DER', 'Session-Id') -> 1; +avp_arity('DER', 'Auth-Application-Id') -> 1; +avp_arity('DER', 'Origin-Host') -> 1; +avp_arity('DER', 'Origin-Realm') -> 1; +avp_arity('DER', 'Destination-Realm') -> 1; +avp_arity('DER', 'Auth-Request-Type') -> 1; +avp_arity('DER', 'EAP-Payload') -> 1; +avp_arity('DER', 'Destination-Host') -> {0, 1}; +avp_arity('DER', 'NAS-Identifier') -> {0, 1}; +avp_arity('DER', 'NAS-IP-Address') -> {0, 1}; +avp_arity('DER', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('DER', 'NAS-Port') -> {0, 1}; +avp_arity('DER', 'NAS-Port-Id') -> {0, 1}; +avp_arity('DER', 'NAS-Port-Type') -> {0, 1}; +avp_arity('DER', 'Origin-State-Id') -> {0, 1}; +avp_arity('DER', 'Port-Limit') -> {0, 1}; +avp_arity('DER', 'User-Name') -> {0, 1}; +avp_arity('DER', 'EAP-Key-Name') -> {0, 1}; +avp_arity('DER', 'Service-Type') -> {0, 1}; +avp_arity('DER', 'State') -> {0, 1}; +avp_arity('DER', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('DER', 'Auth-Grace-Period') -> {0, 1}; +avp_arity('DER', 'Auth-Session-State') -> {0, 1}; +avp_arity('DER', 'Callback-Number') -> {0, 1}; +avp_arity('DER', 'Called-Station-Id') -> {0, 1}; +avp_arity('DER', 'Calling-Station-Id') -> {0, 1}; +avp_arity('DER', 'Originating-Line-Info') -> {0, 1}; +avp_arity('DER', 'Connect-Info') -> {0, 1}; +avp_arity('DER', 'Framed-Compression') -> {0, '*'}; +avp_arity('DER', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('DER', 'Framed-IP-Address') -> {0, 1}; +avp_arity('DER', 'Framed-IPv6-Prefix') -> {0, '*'}; +avp_arity('DER', 'Framed-IP-Netmask') -> {0, 1}; +avp_arity('DER', 'Framed-MTU') -> {0, 1}; +avp_arity('DER', 'Framed-Protocol') -> {0, 1}; +avp_arity('DER', 'Tunneling') -> {0, '*'}; +avp_arity('DER', 'Proxy-Info') -> {0, '*'}; +avp_arity('DER', 'Route-Record') -> {0, '*'}; +avp_arity('DER', 'AVP') -> {0, '*'}; +avp_arity('DEA', 'Session-Id') -> 1; +avp_arity('DEA', 'Auth-Application-Id') -> 1; +avp_arity('DEA', 'Auth-Request-Type') -> 1; +avp_arity('DEA', 'Result-Code') -> 1; +avp_arity('DEA', 'Origin-Host') -> 1; +avp_arity('DEA', 'Origin-Realm') -> 1; +avp_arity('DEA', 'User-Name') -> {0, 1}; +avp_arity('DEA', 'EAP-Payload') -> {0, 1}; +avp_arity('DEA', 'EAP-Reissued-Payload') -> {0, 1}; +avp_arity('DEA', 'EAP-Master-Session-Key') -> {0, 1}; +avp_arity('DEA', 'EAP-Key-Name') -> {0, 1}; +avp_arity('DEA', 'Multi-Round-Time-Out') -> {0, 1}; +avp_arity('DEA', 'Accounting-EAP-Auth-Method') -> + {0, 1}; +avp_arity('DEA', 'Service-Type') -> {0, 1}; +avp_arity('DEA', 'Class') -> {0, '*'}; +avp_arity('DEA', 'Configuration-Token') -> {0, '*'}; +avp_arity('DEA', 'Acct-Interim-Interval') -> {0, 1}; +avp_arity('DEA', 'Error-Message') -> {0, 1}; +avp_arity('DEA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('DEA', 'Failed-AVP') -> {0, '*'}; +avp_arity('DEA', 'Idle-Timeout') -> {0, 1}; +avp_arity('DEA', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('DEA', 'Auth-Grace-Period') -> {0, 1}; +avp_arity('DEA', 'Auth-Session-State') -> {0, 1}; +avp_arity('DEA', 'Re-Auth-Request-Type') -> {0, 1}; +avp_arity('DEA', 'Session-Timeout') -> {0, 1}; +avp_arity('DEA', 'State') -> {0, 1}; +avp_arity('DEA', 'Reply-Message') -> {0, '*'}; +avp_arity('DEA', 'Origin-State-Id') -> {0, 1}; +avp_arity('DEA', 'Filter-Id') -> {0, '*'}; +avp_arity('DEA', 'Port-Limit') -> {0, 1}; +avp_arity('DEA', 'Callback-Id') -> {0, 1}; +avp_arity('DEA', 'Callback-Number') -> {0, 1}; +avp_arity('DEA', 'Framed-AppleTalk-Link') -> {0, 1}; +avp_arity('DEA', 'Framed-AppleTalk-Network') -> + {0, '*'}; +avp_arity('DEA', 'Framed-AppleTalk-Zone') -> {0, 1}; +avp_arity('DEA', 'Framed-Compression') -> {0, '*'}; +avp_arity('DEA', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('DEA', 'Framed-IP-Address') -> {0, 1}; +avp_arity('DEA', 'Framed-IPv6-Prefix') -> {0, '*'}; +avp_arity('DEA', 'Framed-IPv6-Pool') -> {0, 1}; +avp_arity('DEA', 'Framed-IPv6-Route') -> {0, '*'}; +avp_arity('DEA', 'Framed-IP-Netmask') -> {0, 1}; +avp_arity('DEA', 'Framed-Route') -> {0, '*'}; +avp_arity('DEA', 'Framed-Pool') -> {0, 1}; +avp_arity('DEA', 'Framed-IPX-Network') -> {0, 1}; +avp_arity('DEA', 'Framed-MTU') -> {0, 1}; +avp_arity('DEA', 'Framed-Protocol') -> {0, 1}; +avp_arity('DEA', 'Framed-Routing') -> {0, 1}; +avp_arity('DEA', 'NAS-Filter-Rule') -> {0, '*'}; +avp_arity('DEA', 'QoS-Filter-Rule') -> {0, '*'}; +avp_arity('DEA', 'Tunneling') -> {0, '*'}; +avp_arity('DEA', 'Redirect-Host') -> {0, '*'}; +avp_arity('DEA', 'Redirect-Host-Usage') -> {0, 1}; +avp_arity('DEA', 'Redirect-Max-Cache-Time') -> {0, 1}; +avp_arity('DEA', 'Proxy-Info') -> {0, '*'}; +avp_arity('DEA', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('CHAP-Auth', 'CHAP-Algorithm') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Ident') -> 1; +avp_arity('CHAP-Auth', 'CHAP-Response') -> {0, 1}; +avp_arity('CHAP-Auth', 'AVP') -> {0, '*'}; +avp_arity('Tunneling', 'Tunnel-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Medium-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Client-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Server-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Preference') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Client-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Server-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Assignment-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Password') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Private-Group-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Accounting-EAP-Auth-Method') -> + {465, 0, undefined}; +avp_header('EAP-Key-Name') -> {102, 0, undefined}; +avp_header('EAP-Master-Session-Key') -> + {464, 0, undefined}; +avp_header('EAP-Payload') -> {462, 0, undefined}; +avp_header('EAP-Reissued-Payload') -> + {463, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('ARAP-Challenge-Response') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Challenge-Response'); +avp_header('ARAP-Features') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Features'); +avp_header('ARAP-Password') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Password'); +avp_header('ARAP-Security') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Security'); +avp_header('ARAP-Security-Data') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Security-Data'); +avp_header('ARAP-Zone-Access') -> + diameter_rfc4005_nasreq:avp_header('ARAP-Zone-Access'); +avp_header('Accounting-Auth-Method') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Auth-Method'); +avp_header('Accounting-Input-Octets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Input-Octets'); +avp_header('Accounting-Input-Packets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Input-Packets'); +avp_header('Accounting-Output-Octets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Output-Octets'); +avp_header('Accounting-Output-Packets') -> + diameter_rfc4005_nasreq:avp_header('Accounting-Output-Packets'); +avp_header('Acct-Authentic') -> + diameter_rfc4005_nasreq:avp_header('Acct-Authentic'); +avp_header('Acct-Delay-Time') -> + diameter_rfc4005_nasreq:avp_header('Acct-Delay-Time'); +avp_header('Acct-Link-Count') -> + diameter_rfc4005_nasreq:avp_header('Acct-Link-Count'); +avp_header('Acct-Session-Time') -> + diameter_rfc4005_nasreq:avp_header('Acct-Session-Time'); +avp_header('Acct-Tunnel-Connection') -> + diameter_rfc4005_nasreq:avp_header('Acct-Tunnel-Connection'); +avp_header('Acct-Tunnel-Packets-Lost') -> + diameter_rfc4005_nasreq:avp_header('Acct-Tunnel-Packets-Lost'); +avp_header('CHAP-Algorithm') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Algorithm'); +avp_header('CHAP-Auth') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Auth'); +avp_header('CHAP-Challenge') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Challenge'); +avp_header('CHAP-Ident') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Ident'); +avp_header('CHAP-Response') -> + diameter_rfc4005_nasreq:avp_header('CHAP-Response'); +avp_header('Callback-Id') -> + diameter_rfc4005_nasreq:avp_header('Callback-Id'); +avp_header('Callback-Number') -> + diameter_rfc4005_nasreq:avp_header('Callback-Number'); +avp_header('Called-Station-Id') -> + diameter_rfc4005_nasreq:avp_header('Called-Station-Id'); +avp_header('Calling-Station-Id') -> + diameter_rfc4005_nasreq:avp_header('Calling-Station-Id'); +avp_header('Configuration-Token') -> + diameter_rfc4005_nasreq:avp_header('Configuration-Token'); +avp_header('Connect-Info') -> + diameter_rfc4005_nasreq:avp_header('Connect-Info'); +avp_header('Filter-Id') -> + diameter_rfc4005_nasreq:avp_header('Filter-Id'); +avp_header('Framed-AppleTalk-Link') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Link'); +avp_header('Framed-AppleTalk-Network') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Network'); +avp_header('Framed-AppleTalk-Zone') -> + diameter_rfc4005_nasreq:avp_header('Framed-AppleTalk-Zone'); +avp_header('Framed-Compression') -> + diameter_rfc4005_nasreq:avp_header('Framed-Compression'); +avp_header('Framed-IP-Address') -> + diameter_rfc4005_nasreq:avp_header('Framed-IP-Address'); +avp_header('Framed-IP-Netmask') -> + diameter_rfc4005_nasreq:avp_header('Framed-IP-Netmask'); +avp_header('Framed-IPX-Network') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPX-Network'); +avp_header('Framed-IPv6-Pool') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Pool'); +avp_header('Framed-IPv6-Prefix') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Prefix'); +avp_header('Framed-IPv6-Route') -> + diameter_rfc4005_nasreq:avp_header('Framed-IPv6-Route'); +avp_header('Framed-Interface-Id') -> + diameter_rfc4005_nasreq:avp_header('Framed-Interface-Id'); +avp_header('Framed-MTU') -> + diameter_rfc4005_nasreq:avp_header('Framed-MTU'); +avp_header('Framed-Pool') -> + diameter_rfc4005_nasreq:avp_header('Framed-Pool'); +avp_header('Framed-Protocol') -> + diameter_rfc4005_nasreq:avp_header('Framed-Protocol'); +avp_header('Framed-Route') -> + diameter_rfc4005_nasreq:avp_header('Framed-Route'); +avp_header('Framed-Routing') -> + diameter_rfc4005_nasreq:avp_header('Framed-Routing'); +avp_header('Idle-Timeout') -> + diameter_rfc4005_nasreq:avp_header('Idle-Timeout'); +avp_header('Login-IP-Host') -> + diameter_rfc4005_nasreq:avp_header('Login-IP-Host'); +avp_header('Login-IPv6-Host') -> + diameter_rfc4005_nasreq:avp_header('Login-IPv6-Host'); +avp_header('Login-LAT-Group') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Group'); +avp_header('Login-LAT-Node') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Node'); +avp_header('Login-LAT-Port') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Port'); +avp_header('Login-LAT-Service') -> + diameter_rfc4005_nasreq:avp_header('Login-LAT-Service'); +avp_header('Login-Service') -> + diameter_rfc4005_nasreq:avp_header('Login-Service'); +avp_header('Login-TCP-Port') -> + diameter_rfc4005_nasreq:avp_header('Login-TCP-Port'); +avp_header('NAS-Filter-Rule') -> + diameter_rfc4005_nasreq:avp_header('NAS-Filter-Rule'); +avp_header('NAS-IP-Address') -> + diameter_rfc4005_nasreq:avp_header('NAS-IP-Address'); +avp_header('NAS-IPv6-Address') -> + diameter_rfc4005_nasreq:avp_header('NAS-IPv6-Address'); +avp_header('NAS-Identifier') -> + diameter_rfc4005_nasreq:avp_header('NAS-Identifier'); +avp_header('NAS-Port') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port'); +avp_header('NAS-Port-Id') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port-Id'); +avp_header('NAS-Port-Type') -> + diameter_rfc4005_nasreq:avp_header('NAS-Port-Type'); +avp_header('Origin-AAA-Protocol') -> + diameter_rfc4005_nasreq:avp_header('Origin-AAA-Protocol'); +avp_header('Originating-Line-Info') -> + diameter_rfc4005_nasreq:avp_header('Originating-Line-Info'); +avp_header('Password-Retry') -> + diameter_rfc4005_nasreq:avp_header('Password-Retry'); +avp_header('Port-Limit') -> + diameter_rfc4005_nasreq:avp_header('Port-Limit'); +avp_header('Prompt') -> + diameter_rfc4005_nasreq:avp_header('Prompt'); +avp_header('QoS-Filter-Rule') -> + diameter_rfc4005_nasreq:avp_header('QoS-Filter-Rule'); +avp_header('Reply-Message') -> + diameter_rfc4005_nasreq:avp_header('Reply-Message'); +avp_header('Service-Type') -> + diameter_rfc4005_nasreq:avp_header('Service-Type'); +avp_header('State') -> + diameter_rfc4005_nasreq:avp_header('State'); +avp_header('Tunnel-Assignment-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Assignment-Id'); +avp_header('Tunnel-Client-Auth-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Client-Auth-Id'); +avp_header('Tunnel-Client-Endpoint') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Client-Endpoint'); +avp_header('Tunnel-Medium-Type') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Medium-Type'); +avp_header('Tunnel-Password') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Password'); +avp_header('Tunnel-Preference') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Preference'); +avp_header('Tunnel-Private-Group-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Private-Group-Id'); +avp_header('Tunnel-Server-Auth-Id') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Server-Auth-Id'); +avp_header('Tunnel-Server-Endpoint') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Server-Endpoint'); +avp_header('Tunnel-Type') -> + diameter_rfc4005_nasreq:avp_header('Tunnel-Type'); +avp_header('Tunneling') -> + diameter_rfc4005_nasreq:avp_header('Tunneling'); +avp_header('User-Password') -> + diameter_rfc4005_nasreq:avp_header('User-Password'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Accounting-EAP-Auth-Method', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'EAP-Key-Name', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'EAP-Master-Session-Key', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'EAP-Payload', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'EAP-Reissued-Payload', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'ARAP-Challenge-Response', Opts) -> + avp(T, + Data, + 'ARAP-Challenge-Response', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Features', Opts) -> + avp(T, + Data, + 'ARAP-Features', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Password', Opts) -> + avp(T, + Data, + 'ARAP-Password', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Security', Opts) -> + avp(T, + Data, + 'ARAP-Security', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Security-Data', Opts) -> + avp(T, + Data, + 'ARAP-Security-Data', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'ARAP-Zone-Access', Opts) -> + avp(T, + Data, + 'ARAP-Zone-Access', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Auth-Method', Opts) -> + avp(T, + Data, + 'Accounting-Auth-Method', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Input-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Octets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Input-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Input-Packets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Output-Octets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Octets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Accounting-Output-Packets', Opts) -> + avp(T, + Data, + 'Accounting-Output-Packets', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Authentic', Opts) -> + avp(T, + Data, + 'Acct-Authentic', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Delay-Time', Opts) -> + avp(T, + Data, + 'Acct-Delay-Time', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Link-Count', Opts) -> + avp(T, + Data, + 'Acct-Link-Count', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Session-Time', Opts) -> + avp(T, + Data, + 'Acct-Session-Time', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Tunnel-Connection', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Connection', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Acct-Tunnel-Packets-Lost', Opts) -> + avp(T, + Data, + 'Acct-Tunnel-Packets-Lost', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Algorithm', Opts) -> + avp(T, + Data, + 'CHAP-Algorithm', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Auth', Opts) -> + grouped_avp(T, 'CHAP-Auth', Data, Opts); +avp(T, Data, 'CHAP-Challenge', Opts) -> + avp(T, + Data, + 'CHAP-Challenge', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Ident', Opts) -> + avp(T, + Data, + 'CHAP-Ident', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'CHAP-Response', Opts) -> + avp(T, + Data, + 'CHAP-Response', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Callback-Id', Opts) -> + avp(T, + Data, + 'Callback-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Callback-Number', Opts) -> + avp(T, + Data, + 'Callback-Number', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Called-Station-Id', Opts) -> + avp(T, + Data, + 'Called-Station-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Calling-Station-Id', Opts) -> + avp(T, + Data, + 'Calling-Station-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Configuration-Token', Opts) -> + avp(T, + Data, + 'Configuration-Token', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Connect-Info', Opts) -> + avp(T, + Data, + 'Connect-Info', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Filter-Id', Opts) -> + avp(T, + Data, + 'Filter-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Link', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Link', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Network', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Network', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-AppleTalk-Zone', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Zone', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Compression', Opts) -> + avp(T, + Data, + 'Framed-Compression', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IP-Address', Opts) -> + avp(T, + Data, + 'Framed-IP-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IP-Netmask', Opts) -> + avp(T, + Data, + 'Framed-IP-Netmask', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPX-Network', Opts) -> + avp(T, + Data, + 'Framed-IPX-Network', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Pool', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Pool', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Prefix', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Prefix', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-IPv6-Route', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Route', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Interface-Id', Opts) -> + avp(T, + Data, + 'Framed-Interface-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-MTU', Opts) -> + avp(T, + Data, + 'Framed-MTU', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Pool', Opts) -> + avp(T, + Data, + 'Framed-Pool', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Protocol', Opts) -> + avp(T, + Data, + 'Framed-Protocol', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Route', Opts) -> + avp(T, + Data, + 'Framed-Route', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Framed-Routing', Opts) -> + avp(T, + Data, + 'Framed-Routing', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Idle-Timeout', Opts) -> + avp(T, + Data, + 'Idle-Timeout', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-IP-Host', Opts) -> + avp(T, + Data, + 'Login-IP-Host', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-IPv6-Host', Opts) -> + avp(T, + Data, + 'Login-IPv6-Host', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Group', Opts) -> + avp(T, + Data, + 'Login-LAT-Group', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Node', Opts) -> + avp(T, + Data, + 'Login-LAT-Node', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Port', Opts) -> + avp(T, + Data, + 'Login-LAT-Port', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-LAT-Service', Opts) -> + avp(T, + Data, + 'Login-LAT-Service', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-Service', Opts) -> + avp(T, + Data, + 'Login-Service', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Login-TCP-Port', Opts) -> + avp(T, + Data, + 'Login-TCP-Port', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Filter-Rule', Opts) -> + avp(T, + Data, + 'NAS-Filter-Rule', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-IP-Address', Opts) -> + avp(T, + Data, + 'NAS-IP-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-IPv6-Address', Opts) -> + avp(T, + Data, + 'NAS-IPv6-Address', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Identifier', Opts) -> + avp(T, + Data, + 'NAS-Identifier', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port', Opts) -> + avp(T, Data, 'NAS-Port', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port-Id', Opts) -> + avp(T, + Data, + 'NAS-Port-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'NAS-Port-Type', Opts) -> + avp(T, + Data, + 'NAS-Port-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Origin-AAA-Protocol', Opts) -> + avp(T, + Data, + 'Origin-AAA-Protocol', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Originating-Line-Info', Opts) -> + avp(T, + Data, + 'Originating-Line-Info', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Password-Retry', Opts) -> + avp(T, + Data, + 'Password-Retry', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Port-Limit', Opts) -> + avp(T, + Data, + 'Port-Limit', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Prompt', Opts) -> + avp(T, Data, 'Prompt', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'QoS-Filter-Rule', Opts) -> + avp(T, + Data, + 'QoS-Filter-Rule', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Reply-Message', Opts) -> + avp(T, + Data, + 'Reply-Message', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Service-Type', Opts) -> + avp(T, + Data, + 'Service-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'State', Opts) -> + avp(T, Data, 'State', Opts, diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Assignment-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Assignment-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Client-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Auth-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Client-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Client-Endpoint', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Medium-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Medium-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Password', Opts) -> + avp(T, + Data, + 'Tunnel-Password', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Preference', Opts) -> + avp(T, + Data, + 'Tunnel-Preference', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Private-Group-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Private-Group-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Server-Auth-Id', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Auth-Id', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Server-Endpoint', Opts) -> + avp(T, + Data, + 'Tunnel-Server-Endpoint', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunnel-Type', Opts) -> + avp(T, + Data, + 'Tunnel-Type', + Opts, + diameter_rfc4005_nasreq); +avp(T, Data, 'Tunneling', Opts) -> + grouped_avp(T, 'Tunneling', Data, Opts); +avp(T, Data, 'User-Password', Opts) -> + avp(T, + Data, + 'User-Password', + Opts, + diameter_rfc4005_nasreq); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('CHAP-Auth', Opts) -> + empty_group('CHAP-Auth', Opts); +empty_value('Tunneling', Opts) -> + empty_group('Tunneling', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value('NAS-Port-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Prompt', _) -> <<0, 0, 0, 0>>; +empty_value('CHAP-Algorithm', _) -> <<0, 0, 0, 0>>; +empty_value('Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Routing', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Compression', _) -> <<0, 0, 0, 0>>; +empty_value('ARAP-Zone-Access', _) -> <<0, 0, 0, 0>>; +empty_value('Login-Service', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Medium-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Acct-Authentic', _) -> <<0, 0, 0, 0>>; +empty_value('Accounting-Auth-Method', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Accounting-EAP-Auth-Method", 465, "Unsigned64", []}, + {"EAP-Key-Name", 102, "OctetString", []}, + {"EAP-Master-Session-Key", 464, "OctetString", []}, + {"EAP-Payload", 462, "OctetString", []}, + {"EAP-Reissued-Payload", 463, "OctetString", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, [{268, "DER", "DEA"}]}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_rfc4005_nasreq, + [{"ARAP-Challenge-Response", 84, "OctetString", "M"}, + {"ARAP-Features", 71, "OctetString", "M"}, + {"ARAP-Password", 70, "OctetString", "M"}, + {"ARAP-Security", 73, "Unsigned32", "M"}, + {"ARAP-Security-Data", 74, "OctetString", "M"}, + {"ARAP-Zone-Access", 72, "Enumerated", "M"}, + {"Accounting-Auth-Method", 406, "Enumerated", "M"}, + {"Accounting-Input-Octets", 363, "Unsigned64", "M"}, + {"Accounting-Input-Packets", 365, "Unsigned64", "M"}, + {"Accounting-Output-Octets", 364, "Unsigned64", "M"}, + {"Accounting-Output-Packets", 366, "Unsigned64", "M"}, + {"Acct-Authentic", 45, "Enumerated", "M"}, + {"Acct-Delay-Time", 41, "Unsigned32", "M"}, + {"Acct-Link-Count", 51, "Unsigned32", "M"}, + {"Acct-Session-Time", 46, "Unsigned32", "M"}, + {"Acct-Tunnel-Connection", 68, "OctetString", "M"}, + {"Acct-Tunnel-Packets-Lost", 86, "Unsigned32", "M"}, + {"CHAP-Algorithm", 403, "Enumerated", "M"}, + {"CHAP-Auth", 402, "Grouped", "M"}, + {"CHAP-Challenge", 60, "OctetString", "M"}, + {"CHAP-Ident", 404, "OctetString", "M"}, + {"CHAP-Response", 405, "OctetString", "M"}, + {"Callback-Id", 20, "UTF8String", "M"}, + {"Callback-Number", 19, "UTF8String", "M"}, + {"Called-Station-Id", 30, "UTF8String", "M"}, + {"Calling-Station-Id", 31, "UTF8String", "M"}, + {"Configuration-Token", 78, "OctetString", "M"}, + {"Connect-Info", 77, "UTF8String", "M"}, + {"Filter-Id", 11, "UTF8String", "M"}, + {"Framed-AppleTalk-Link", 37, "Unsigned32", "M"}, + {"Framed-AppleTalk-Network", 38, "Unsigned32", "M"}, + {"Framed-AppleTalk-Zone", 39, "OctetString", "M"}, + {"Framed-Compression", 13, "Enumerated", "M"}, + {"Framed-IP-Address", 8, "OctetString", "M"}, + {"Framed-IP-Netmask", 9, "OctetString", "M"}, + {"Framed-IPX-Network", 23, "UTF8String", "M"}, + {"Framed-IPv6-Pool", 100, "OctetString", "M"}, + {"Framed-IPv6-Prefix", 97, "OctetString", "M"}, + {"Framed-IPv6-Route", 99, "UTF8String", "M"}, + {"Framed-Interface-Id", 96, "Unsigned64", "M"}, + {"Framed-MTU", 12, "Unsigned32", "M"}, + {"Framed-Pool", 88, "OctetString", "M"}, + {"Framed-Protocol", 7, "Enumerated", "M"}, + {"Framed-Route", 22, "UTF8String", "M"}, + {"Framed-Routing", 10, "Enumerated", "M"}, + {"Idle-Timeout", 28, "Unsigned32", "M"}, + {"Login-IP-Host", 14, "OctetString", "M"}, + {"Login-IPv6-Host", 98, "OctetString", "M"}, + {"Login-LAT-Group", 36, "OctetString", "M"}, + {"Login-LAT-Node", 35, "OctetString", "M"}, + {"Login-LAT-Port", 63, "OctetString", "M"}, + {"Login-LAT-Service", 34, "OctetString", "M"}, + {"Login-Service", 15, "Enumerated", "M"}, + {"Login-TCP-Port", 16, "Unsigned32", "M"}, + {"NAS-Filter-Rule", 400, "IPFilterRule", "M"}, + {"NAS-IP-Address", 4, "OctetString", "M"}, + {"NAS-IPv6-Address", 95, "OctetString", "M"}, + {"NAS-Identifier", 32, "UTF8String", "M"}, + {"NAS-Port", 5, "Unsigned32", "M"}, + {"NAS-Port-Id", 87, "UTF8String", "M"}, + {"NAS-Port-Type", 61, "Enumerated", "M"}, + {"Origin-AAA-Protocol", 408, "Enumerated", "M"}, + {"Originating-Line-Info", 94, "OctetString", []}, + {"Password-Retry", 75, "Unsigned32", "M"}, + {"Port-Limit", 62, "Unsigned32", "M"}, + {"Prompt", 76, "Enumerated", "M"}, + {"QoS-Filter-Rule", 407, "QoSFilterRule", []}, + {"Reply-Message", 18, "UTF8String", "M"}, + {"Service-Type", 6, "Enumerated", "M"}, + {"State", 24, "OctetString", "M"}, + {"Tunnel-Assignment-Id", 82, "OctetString", "M"}, + {"Tunnel-Client-Auth-Id", 90, "UTF8String", "M"}, + {"Tunnel-Client-Endpoint", 66, "UTF8String", "M"}, + {"Tunnel-Medium-Type", 65, "Enumerated", "M"}, + {"Tunnel-Password", 69, "OctetString", "M"}, + {"Tunnel-Preference", 83, "Unsigned32", "M"}, + {"Tunnel-Private-Group-Id", 81, "OctetString", "M"}, + {"Tunnel-Server-Auth-Id", 91, "UTF8String", "M"}, + {"Tunnel-Server-Endpoint", 67, "UTF8String", "M"}, + {"Tunnel-Type", 64, "Enumerated", "M"}, + {"Tunneling", 401, "Grouped", "M"}, + {"User-Password", 2, "OctetString", "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}, + {diameter_rfc4005_nasreq, + [{"NAS-Port-Type", + [{"ASYNC", 0}, + {"SYNC", 1}, + {"ISDN_SYNC", 2}, + {"ISDN_ASYNC_V120", 3}, + {"ISDN_ASYNC_V110", 4}, + {"VIRTUAL", 5}, + {"PIAFS", 6}, + {"HDLC_CLEAR_CHANNEL", 7}, + {"X25", 8}, + {"X75", 9}, + {"G3FAX", 10}, + {"SDSL", 11}, + {"ADSL-CAP", 12}, + {"ADSL-DMT", 13}, + {"IDSL", 14}, + {"ETHERNET", 15}, + {"XDSL", 16}, + {"CABLE", 17}, + {"WIRELESS_OTHER", 18}, + {"WIRELESS_802.11", 19}, + {"TOKEN-RING", 20}, + {"FDDI", 21}, + {"WIRELESS_CDMA2000", 22}, + {"WIRELESS_UMTS", 23}, + {"WIRELESS_1X-EV", 24}, + {"IAPP", 25}]}, + {"Prompt", [{"NO_ECHO", 0}, {"ECHO", 1}]}, + {"CHAP-Algorithm", [{"WITH_MD5", 5}]}, + {"Service-Type", + [{"LOGIN", 1}, + {"FRAMED", 2}, + {"CALLBACK_LOGIN", 3}, + {"CALLBACK_FRAMED", 4}, + {"OUTBOUND", 5}, + {"ADMINISTRATIVE", 6}, + {"NAS_PROMPT", 7}, + {"AUTHENTICATE_ONLY", 8}, + {"CALLBACK_NAS_PROMPT", 9}, + {"CALL_CHECK", 10}, + {"CALLBACK_ADMINISTRATIVE", 11}, + {"VOICE", 12}, + {"FAX", 13}, + {"MODEM_RELAY", 14}, + {"IAPP-REGISTER", 15}, + {"IAPP-AP-CHECK", 16}, + {"AUTHORIZE_ONLY", 17}]}, + {"Framed-Protocol", + [{"PPP", 1}, + {"SLIP", 2}, + {"ARAP", 3}, + {"GANDALF", 4}, + {"XYLOGICS", 5}, + {"X75", 6}]}, + {"Framed-Routing", + [{"NONE", 0}, + {"SEND", 1}, + {"LISTEN", 2}, + {"SEND_AND_LISTEN", 3}]}, + {"Framed-Compression", + [{"NONE", 0}, {"VJ", 1}, {"IPX", 2}, {"STAC-LZS", 3}]}, + {"ARAP-Zone-Access", + [{"DEFAULT", 1}, + {"FILTER_INCLUSIVELY", 2}, + {"FILTER_EXCLUSIVELY", 4}]}, + {"Login-Service", + [{"TELNET", 0}, + {"RLOGIN", 1}, + {"TCP_CLEAR", 2}, + {"PORTMASTER", 3}, + {"LAT", 4}, + {"X25-PAD", 5}, + {"X25-T3POS", 6}, + {"TCP_CLEAR_QUIET", 8}]}, + {"Tunnel-Type", + [{"PPTP", 1}, + {"L2F", 2}, + {"L2TP", 3}, + {"ATMP", 4}, + {"VTP", 5}, + {"AH", 6}, + {"IP-IP", 7}, + {"MIN-IP-IP", 8}, + {"ESP", 9}, + {"GRE", 10}, + {"DVS", 11}, + {"IP-IN-IP", 12}, + {"VLAN", 13}]}, + {"Tunnel-Medium-Type", + [{"IPV4", 1}, + {"IPV6", 2}, + {"NSAP", 3}, + {"HDLC", 4}, + {"BBN_1822", 5}, + {"802", 6}, + {"E163", 7}, + {"E164", 8}, + {"F69", 9}, + {"X121", 10}, + {"IPX", 11}, + {"APPLETALK", 12}, + {"DECNET_IV", 13}, + {"BANYAN_VINES", 14}, + {"E164_NSAP", 15}]}, + {"Acct-Authentic", + [{"RADIUS", 1}, + {"LOCAL", 2}, + {"REMOTE", 3}, + {"DIAMETER", 4}]}, + {"Accounting-Auth-Method", + [{"PAP", 1}, + {"CHAP", 2}, + {"MS-CHAP-1", 3}, + {"MS-CHAP-2", 4}, + {"EAP", 5}, + {"NONE", 7}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_rfc4005_nasreq, + [{"CHAP-Auth", + 402, + [], + [{"CHAP-Algorithm"}, + {"CHAP-Ident"}, + ["CHAP-Response"], + {'*', ["AVP"]}]}, + {"Tunneling", + 401, + [], + [{"Tunnel-Type"}, + {"Tunnel-Medium-Type"}, + {"Tunnel-Client-Endpoint"}, + {"Tunnel-Server-Endpoint"}, + ["Tunnel-Preference"], + ["Tunnel-Client-Auth-Id"], + ["Tunnel-Server-Auth-Id"], + ["Tunnel-Assignment-Id"], + ["Tunnel-Password"], + ["Tunnel-Private-Group-Id"]]}]}]}, + {inherits, + [{"diameter_rfc4005_nasreq", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"DER", + 268, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Auth-Request-Type"}, + {"EAP-Payload"}, + ["Destination-Host"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + ["Origin-State-Id"], + ["Port-Limit"], + ["User-Name"], + ["EAP-Key-Name"], + ["Service-Type"], + ["State"], + ["Authorization-Lifetime"], + ["Auth-Grace-Period"], + ["Auth-Session-State"], + ["Callback-Number"], + ["Called-Station-Id"], + ["Calling-Station-Id"], + ["Originating-Line-Info"], + ["Connect-Info"], + {'*', ["Framed-Compression"]}, + ["Framed-Interface-Id"], + ["Framed-IP-Address"], + {'*', ["Framed-IPv6-Prefix"]}, + ["Framed-IP-Netmask"], + ["Framed-MTU"], + ["Framed-Protocol"], + {'*', ["Tunneling"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"DEA", + 268, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Auth-Application-Id"}, + {"Auth-Request-Type"}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + ["User-Name"], + ["EAP-Payload"], + ["EAP-Reissued-Payload"], + ["EAP-Master-Session-Key"], + ["EAP-Key-Name"], + ["Multi-Round-Time-Out"], + ["Accounting-EAP-Auth-Method"], + ["Service-Type"], + {'*', ["Class"]}, + {'*', ["Configuration-Token"]}, + ["Acct-Interim-Interval"], + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + ["Idle-Timeout"], + ["Authorization-Lifetime"], + ["Auth-Grace-Period"], + ["Auth-Session-State"], + ["Re-Auth-Request-Type"], + ["Session-Timeout"], + ["State"], + {'*', ["Reply-Message"]}, + ["Origin-State-Id"], + {'*', ["Filter-Id"]}, + ["Port-Limit"], + ["Callback-Id"], + ["Callback-Number"], + ["Framed-AppleTalk-Link"], + {'*', ["Framed-AppleTalk-Network"]}, + ["Framed-AppleTalk-Zone"], + {'*', ["Framed-Compression"]}, + ["Framed-Interface-Id"], + ["Framed-IP-Address"], + {'*', ["Framed-IPv6-Prefix"]}, + ["Framed-IPv6-Pool"], + {'*', ["Framed-IPv6-Route"]}, + ["Framed-IP-Netmask"], + {'*', ["Framed-Route"]}, + ["Framed-Pool"], + ["Framed-IPX-Network"], + ["Framed-MTU"], + ["Framed-Protocol"], + ["Framed-Routing"], + {'*', ["NAS-Filter-Rule"]}, + {'*', ["QoS-Filter-Rule"]}, + {'*', ["Tunneling"]}, + {'*', ["Redirect-Host"]}, + ["Redirect-Host-Usage"], + ["Redirect-Max-Cache-Time"], + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}]}]. + + diff --git a/src/diameter_rfc4740.erl b/src/diameter_rfc4740.erl new file mode 100644 index 0000000..870d7f0 --- /dev/null +++ b/src/diameter_rfc4740.erl @@ -0,0 +1,769 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc4740). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['ERP-RK-Request', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('ERP-RK-Request', {'ERP-Realm', 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc4740. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('ERP-RK-Request') -> 'ERP-RK-Request'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(618, undefined) -> + {'ERP-RK-Request', 'Grouped'}; +avp_name(619, undefined) -> + {'ERP-Realm', 'DiameterIdentity'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('ERP-RK-Request') -> + [{'ERP-Realm', 1}, {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('ERP-RK-Request', 'ERP-Realm') -> 1; +avp_arity('ERP-RK-Request', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('ERP-RK-Request') -> {618, 0, undefined}; +avp_header('ERP-Realm') -> {619, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'ERP-RK-Request', Opts) -> + grouped_avp(T, 'ERP-RK-Request', Data, Opts); +avp(T, Data, 'ERP-Realm', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('ERP-RK-Request', Opts) -> + empty_group('ERP-RK-Request', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"ERP-RK-Request", 618, "Grouped", []}, + {"ERP-Realm", 619, "DiameterIdentity", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, + [{"ERP-RK-Request", + 618, + [], + [{"ERP-Realm"}, {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + + diff --git a/src/diameter_rfc5447.erl b/src/diameter_rfc5447.erl new file mode 100644 index 0000000..d6fea4b --- /dev/null +++ b/src/diameter_rfc5447.erl @@ -0,0 +1,1291 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc5447). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['MIP6-Agent-Info', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id', + 'MIP-MN-AAA-Auth', + 'MIP-MN-to-FA-MSA', + 'MIP-FA-to-MN-MSA', + 'MIP-MN-to-HA-MSA', + 'MIP-HA-to-MN-MSA', + 'MIP-FA-to-HA-MSA', + 'MIP-HA-to-FA-MSA', + 'MIP-Originating-Foreign-AAA', + 'MIP-Home-Agent-Host']). + +-record('MIP6-Agent-Info', + {'MIP-Home-Agent-Address' = [], + 'MIP-Home-Agent-Host' = [], + 'MIP6-Home-Link-Prefix' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-record('MIP-MN-AAA-Auth', + {'MIP-MN-AAA-SPI', + 'MIP-Auth-Input-Data-Length', + 'MIP-Authenticator-Length', + 'MIP-Authenticator-Offset', + 'AVP' = []}). + +-record('MIP-MN-to-FA-MSA', + {'MIP-Algorithm-Type', 'MIP-Nonce', 'AVP' = []}). + +-record('MIP-FA-to-MN-MSA', + {'MIP-FA-to-MN-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-MN-to-HA-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Nonce', + 'AVP' = []}). + +-record('MIP-HA-to-MN-MSA', + {'MIP-Algorithm-Type', + 'MIP-Replay-Mode', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-FA-to-HA-MSA', + {'MIP-FA-to-HA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-HA-to-FA-MSA', + {'MIP-HA-to-FA-SPI', + 'MIP-Algorithm-Type', + 'MIP-Session-Key', + 'AVP' = []}). + +-record('MIP-Originating-Foreign-AAA', + {'Origin-Realm', 'Origin-Host', 'AVP' = []}). + +-record('MIP-Home-Agent-Host', + {'Destination-Realm', 'Destination-Host', 'AVP' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc5447. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('MIP6-Agent-Info') -> 'MIP6-Agent-Info'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec('MIP-MN-AAA-Auth') -> 'MIP-MN-AAA-Auth'; +name2rec('MIP-MN-to-FA-MSA') -> 'MIP-MN-to-FA-MSA'; +name2rec('MIP-FA-to-MN-MSA') -> 'MIP-FA-to-MN-MSA'; +name2rec('MIP-MN-to-HA-MSA') -> 'MIP-MN-to-HA-MSA'; +name2rec('MIP-HA-to-MN-MSA') -> 'MIP-HA-to-MN-MSA'; +name2rec('MIP-FA-to-HA-MSA') -> 'MIP-FA-to-HA-MSA'; +name2rec('MIP-HA-to-FA-MSA') -> 'MIP-HA-to-FA-MSA'; +name2rec('MIP-Originating-Foreign-AAA') -> + 'MIP-Originating-Foreign-AAA'; +name2rec('MIP-Home-Agent-Host') -> + 'MIP-Home-Agent-Host'; +name2rec(T) -> msg2rec(T). + +avp_name(486, undefined) -> + {'MIP6-Agent-Info', 'Grouped'}; +avp_name(125, undefined) -> + {'MIP6-Home-Link-Prefix', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(345, undefined) -> + {'MIP-Algorithm-Type', 'Enumerated'}; +avp_name(338, undefined) -> + {'MIP-Auth-Input-Data-Length', 'Unsigned32'}; +avp_name(339, undefined) -> + {'MIP-Authenticator-Length', 'Unsigned32'}; +avp_name(340, undefined) -> + {'MIP-Authenticator-Offset', 'Unsigned32'}; +avp_name(336, undefined) -> + {'MIP-Candidate-Home-Agent-Host', 'DiameterIdentity'}; +avp_name(344, undefined) -> + {'MIP-FA-Challenge', 'OctetString'}; +avp_name(328, undefined) -> + {'MIP-FA-to-HA-MSA', 'Grouped'}; +avp_name(318, undefined) -> + {'MIP-FA-to-HA-SPI', 'Unsigned32'}; +avp_name(326, undefined) -> + {'MIP-FA-to-MN-MSA', 'Grouped'}; +avp_name(319, undefined) -> + {'MIP-FA-to-MN-SPI', 'Unsigned32'}; +avp_name(337, undefined) -> + {'MIP-Feature-Vector', 'Unsigned32'}; +avp_name(342, undefined) -> + {'MIP-Filter-Rule', 'IPFilterRule'}; +avp_name(329, undefined) -> + {'MIP-HA-to-FA-MSA', 'Grouped'}; +avp_name(323, undefined) -> + {'MIP-HA-to-FA-SPI', 'Unsigned32'}; +avp_name(332, undefined) -> + {'MIP-HA-to-MN-MSA', 'Grouped'}; +avp_name(334, undefined) -> + {'MIP-Home-Agent-Address', 'Address'}; +avp_name(348, undefined) -> + {'MIP-Home-Agent-Host', 'Grouped'}; +avp_name(322, undefined) -> + {'MIP-MN-AAA-Auth', 'Grouped'}; +avp_name(341, undefined) -> + {'MIP-MN-AAA-SPI', 'Unsigned32'}; +avp_name(325, undefined) -> + {'MIP-MN-to-FA-MSA', 'Grouped'}; +avp_name(331, undefined) -> + {'MIP-MN-to-HA-MSA', 'Grouped'}; +avp_name(367, undefined) -> + {'MIP-MSA-Lifetime', 'Unsigned32'}; +avp_name(333, undefined) -> + {'MIP-Mobile-Node-Address', 'Address'}; +avp_name(335, undefined) -> + {'MIP-Nonce', 'OctetString'}; +avp_name(347, undefined) -> + {'MIP-Originating-Foreign-AAA', 'Grouped'}; +avp_name(321, undefined) -> + {'MIP-Reg-Reply', 'OctetString'}; +avp_name(320, undefined) -> + {'MIP-Reg-Request', 'OctetString'}; +avp_name(346, undefined) -> + {'MIP-Replay-Mode', 'Enumerated'}; +avp_name(343, undefined) -> + {'MIP-Session-Key', 'OctetString'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('MIP6-Agent-Info') -> + [{'MIP-Home-Agent-Address', {0, 2}}, + {'MIP-Home-Agent-Host', {0, 1}}, + {'MIP6-Home-Link-Prefix', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity('MIP-MN-AAA-Auth') -> + [{'MIP-MN-AAA-SPI', 1}, + {'MIP-Auth-Input-Data-Length', 1}, + {'MIP-Authenticator-Length', 1}, + {'MIP-Authenticator-Offset', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-MN-to-FA-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Nonce', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-FA-to-MN-MSA') -> + [{'MIP-FA-to-MN-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-MN-to-HA-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Replay-Mode', 1}, + {'MIP-Nonce', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-HA-to-MN-MSA') -> + [{'MIP-Algorithm-Type', 1}, + {'MIP-Replay-Mode', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-FA-to-HA-MSA') -> + [{'MIP-FA-to-HA-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-HA-to-FA-MSA') -> + [{'MIP-HA-to-FA-SPI', 1}, + {'MIP-Algorithm-Type', 1}, + {'MIP-Session-Key', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-Originating-Foreign-AAA') -> + [{'Origin-Realm', 1}, + {'Origin-Host', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MIP-Home-Agent-Host') -> + [{'Destination-Realm', 1}, + {'Destination-Host', 1}, + {'AVP', {0, '*'}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('MIP6-Agent-Info', + 'MIP-Home-Agent-Address') -> + {0, 2}; +avp_arity('MIP6-Agent-Info', 'MIP-Home-Agent-Host') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'MIP6-Home-Link-Prefix') -> + {0, 1}; +avp_arity('MIP6-Agent-Info', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity('MIP-MN-AAA-Auth', 'MIP-MN-AAA-SPI') -> 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Auth-Input-Data-Length') -> + 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Authenticator-Length') -> + 1; +avp_arity('MIP-MN-AAA-Auth', + 'MIP-Authenticator-Offset') -> + 1; +avp_arity('MIP-MN-AAA-Auth', 'AVP') -> {0, '*'}; +avp_arity('MIP-MN-to-FA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-MN-to-FA-MSA', 'MIP-Nonce') -> 1; +avp_arity('MIP-MN-to-FA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-FA-to-MN-SPI') -> 1; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-FA-to-MN-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-FA-to-MN-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Replay-Mode') -> 1; +avp_arity('MIP-MN-to-HA-MSA', 'MIP-Nonce') -> 1; +avp_arity('MIP-MN-to-HA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Replay-Mode') -> 1; +avp_arity('MIP-HA-to-MN-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-HA-to-MN-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-FA-to-HA-SPI') -> 1; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-FA-to-HA-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-FA-to-HA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-HA-to-FA-SPI') -> 1; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-Algorithm-Type') -> + 1; +avp_arity('MIP-HA-to-FA-MSA', 'MIP-Session-Key') -> 1; +avp_arity('MIP-HA-to-FA-MSA', 'AVP') -> {0, '*'}; +avp_arity('MIP-Originating-Foreign-AAA', + 'Origin-Realm') -> + 1; +avp_arity('MIP-Originating-Foreign-AAA', + 'Origin-Host') -> + 1; +avp_arity('MIP-Originating-Foreign-AAA', 'AVP') -> + {0, '*'}; +avp_arity('MIP-Home-Agent-Host', 'Destination-Realm') -> + 1; +avp_arity('MIP-Home-Agent-Host', 'Destination-Host') -> + 1; +avp_arity('MIP-Home-Agent-Host', 'AVP') -> {0, '*'}; +avp_arity(_, _) -> 0. + +avp_header('MIP6-Agent-Info') -> {486, 64, undefined}; +avp_header('MIP6-Home-Link-Prefix') -> + {125, 64, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('MIP-Algorithm-Type') -> + diameter_rfc4004:avp_header('MIP-Algorithm-Type'); +avp_header('MIP-Auth-Input-Data-Length') -> + diameter_rfc4004:avp_header('MIP-Auth-Input-Data-Length'); +avp_header('MIP-Authenticator-Length') -> + diameter_rfc4004:avp_header('MIP-Authenticator-Length'); +avp_header('MIP-Authenticator-Offset') -> + diameter_rfc4004:avp_header('MIP-Authenticator-Offset'); +avp_header('MIP-Candidate-Home-Agent-Host') -> + diameter_rfc4004:avp_header('MIP-Candidate-Home-Agent-Host'); +avp_header('MIP-FA-Challenge') -> + diameter_rfc4004:avp_header('MIP-FA-Challenge'); +avp_header('MIP-FA-to-HA-MSA') -> + diameter_rfc4004:avp_header('MIP-FA-to-HA-MSA'); +avp_header('MIP-FA-to-HA-SPI') -> + diameter_rfc4004:avp_header('MIP-FA-to-HA-SPI'); +avp_header('MIP-FA-to-MN-MSA') -> + diameter_rfc4004:avp_header('MIP-FA-to-MN-MSA'); +avp_header('MIP-FA-to-MN-SPI') -> + diameter_rfc4004:avp_header('MIP-FA-to-MN-SPI'); +avp_header('MIP-Feature-Vector') -> + diameter_rfc4004:avp_header('MIP-Feature-Vector'); +avp_header('MIP-Filter-Rule') -> + diameter_rfc4004:avp_header('MIP-Filter-Rule'); +avp_header('MIP-HA-to-FA-MSA') -> + diameter_rfc4004:avp_header('MIP-HA-to-FA-MSA'); +avp_header('MIP-HA-to-FA-SPI') -> + diameter_rfc4004:avp_header('MIP-HA-to-FA-SPI'); +avp_header('MIP-HA-to-MN-MSA') -> + diameter_rfc4004:avp_header('MIP-HA-to-MN-MSA'); +avp_header('MIP-Home-Agent-Address') -> + diameter_rfc4004:avp_header('MIP-Home-Agent-Address'); +avp_header('MIP-Home-Agent-Host') -> + diameter_rfc4004:avp_header('MIP-Home-Agent-Host'); +avp_header('MIP-MN-AAA-Auth') -> + diameter_rfc4004:avp_header('MIP-MN-AAA-Auth'); +avp_header('MIP-MN-AAA-SPI') -> + diameter_rfc4004:avp_header('MIP-MN-AAA-SPI'); +avp_header('MIP-MN-to-FA-MSA') -> + diameter_rfc4004:avp_header('MIP-MN-to-FA-MSA'); +avp_header('MIP-MN-to-HA-MSA') -> + diameter_rfc4004:avp_header('MIP-MN-to-HA-MSA'); +avp_header('MIP-MSA-Lifetime') -> + diameter_rfc4004:avp_header('MIP-MSA-Lifetime'); +avp_header('MIP-Mobile-Node-Address') -> + diameter_rfc4004:avp_header('MIP-Mobile-Node-Address'); +avp_header('MIP-Nonce') -> + diameter_rfc4004:avp_header('MIP-Nonce'); +avp_header('MIP-Originating-Foreign-AAA') -> + diameter_rfc4004:avp_header('MIP-Originating-Foreign-AAA'); +avp_header('MIP-Reg-Reply') -> + diameter_rfc4004:avp_header('MIP-Reg-Reply'); +avp_header('MIP-Reg-Request') -> + diameter_rfc4004:avp_header('MIP-Reg-Request'); +avp_header('MIP-Replay-Mode') -> + diameter_rfc4004:avp_header('MIP-Replay-Mode'); +avp_header('MIP-Session-Key') -> + diameter_rfc4004:avp_header('MIP-Session-Key'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'MIP6-Agent-Info', Opts) -> + grouped_avp(T, 'MIP6-Agent-Info', Data, Opts); +avp(T, Data, 'MIP6-Home-Link-Prefix', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'MIP-Algorithm-Type', Opts) -> + avp(T, + Data, + 'MIP-Algorithm-Type', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Auth-Input-Data-Length', Opts) -> + avp(T, + Data, + 'MIP-Auth-Input-Data-Length', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Authenticator-Length', Opts) -> + avp(T, + Data, + 'MIP-Authenticator-Length', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Authenticator-Offset', Opts) -> + avp(T, + Data, + 'MIP-Authenticator-Offset', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Candidate-Home-Agent-Host', Opts) -> + avp(T, + Data, + 'MIP-Candidate-Home-Agent-Host', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-FA-Challenge', Opts) -> + avp(T, + Data, + 'MIP-FA-Challenge', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-FA-to-HA-MSA', Opts) -> + grouped_avp(T, 'MIP-FA-to-HA-MSA', Data, Opts); +avp(T, Data, 'MIP-FA-to-HA-SPI', Opts) -> + avp(T, + Data, + 'MIP-FA-to-HA-SPI', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-FA-to-MN-MSA', Opts) -> + grouped_avp(T, 'MIP-FA-to-MN-MSA', Data, Opts); +avp(T, Data, 'MIP-FA-to-MN-SPI', Opts) -> + avp(T, + Data, + 'MIP-FA-to-MN-SPI', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Feature-Vector', Opts) -> + avp(T, + Data, + 'MIP-Feature-Vector', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Filter-Rule', Opts) -> + avp(T, Data, 'MIP-Filter-Rule', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-HA-to-FA-MSA', Opts) -> + grouped_avp(T, 'MIP-HA-to-FA-MSA', Data, Opts); +avp(T, Data, 'MIP-HA-to-FA-SPI', Opts) -> + avp(T, + Data, + 'MIP-HA-to-FA-SPI', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-HA-to-MN-MSA', Opts) -> + grouped_avp(T, 'MIP-HA-to-MN-MSA', Data, Opts); +avp(T, Data, 'MIP-Home-Agent-Address', Opts) -> + avp(T, + Data, + 'MIP-Home-Agent-Address', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Home-Agent-Host', Opts) -> + grouped_avp(T, 'MIP-Home-Agent-Host', Data, Opts); +avp(T, Data, 'MIP-MN-AAA-Auth', Opts) -> + grouped_avp(T, 'MIP-MN-AAA-Auth', Data, Opts); +avp(T, Data, 'MIP-MN-AAA-SPI', Opts) -> + avp(T, Data, 'MIP-MN-AAA-SPI', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-MN-to-FA-MSA', Opts) -> + grouped_avp(T, 'MIP-MN-to-FA-MSA', Data, Opts); +avp(T, Data, 'MIP-MN-to-HA-MSA', Opts) -> + grouped_avp(T, 'MIP-MN-to-HA-MSA', Data, Opts); +avp(T, Data, 'MIP-MSA-Lifetime', Opts) -> + avp(T, + Data, + 'MIP-MSA-Lifetime', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Mobile-Node-Address', Opts) -> + avp(T, + Data, + 'MIP-Mobile-Node-Address', + Opts, + diameter_rfc4004); +avp(T, Data, 'MIP-Nonce', Opts) -> + avp(T, Data, 'MIP-Nonce', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Originating-Foreign-AAA', Opts) -> + grouped_avp(T, + 'MIP-Originating-Foreign-AAA', + Data, + Opts); +avp(T, Data, 'MIP-Reg-Reply', Opts) -> + avp(T, Data, 'MIP-Reg-Reply', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Reg-Request', Opts) -> + avp(T, Data, 'MIP-Reg-Request', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Replay-Mode', Opts) -> + avp(T, Data, 'MIP-Replay-Mode', Opts, diameter_rfc4004); +avp(T, Data, 'MIP-Session-Key', Opts) -> + avp(T, Data, 'MIP-Session-Key', Opts, diameter_rfc4004); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('MIP6-Agent-Info', Opts) -> + empty_group('MIP6-Agent-Info', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('MIP-MN-AAA-Auth', Opts) -> + empty_group('MIP-MN-AAA-Auth', Opts); +empty_value('MIP-MN-to-FA-MSA', Opts) -> + empty_group('MIP-MN-to-FA-MSA', Opts); +empty_value('MIP-FA-to-MN-MSA', Opts) -> + empty_group('MIP-FA-to-MN-MSA', Opts); +empty_value('MIP-MN-to-HA-MSA', Opts) -> + empty_group('MIP-MN-to-HA-MSA', Opts); +empty_value('MIP-HA-to-MN-MSA', Opts) -> + empty_group('MIP-HA-to-MN-MSA', Opts); +empty_value('MIP-FA-to-HA-MSA', Opts) -> + empty_group('MIP-FA-to-HA-MSA', Opts); +empty_value('MIP-HA-to-FA-MSA', Opts) -> + empty_group('MIP-HA-to-FA-MSA', Opts); +empty_value('MIP-Originating-Foreign-AAA', Opts) -> + empty_group('MIP-Originating-Foreign-AAA', Opts); +empty_value('MIP-Home-Agent-Host', Opts) -> + empty_group('MIP-Home-Agent-Host', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"MIP6-Agent-Info", 486, "Grouped", "M"}, + {"MIP6-Home-Link-Prefix", 125, "OctetString", "M"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, + [{"MIP6-Agent-Info", + 486, + [], + [{{0, 2}, ["MIP-Home-Agent-Address"]}, + ["MIP-Home-Agent-Host"], + ["MIP6-Home-Link-Prefix"], + {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_rfc4004, + [{"MIP-Algorithm-Type", 345, "Enumerated", "M"}, + {"MIP-Auth-Input-Data-Length", 338, "Unsigned32", "M"}, + {"MIP-Authenticator-Length", 339, "Unsigned32", "M"}, + {"MIP-Authenticator-Offset", 340, "Unsigned32", "M"}, + {"MIP-Candidate-Home-Agent-Host", + 336, + "DiameterIdentity", + "M"}, + {"MIP-FA-Challenge", 344, "OctetString", "M"}, + {"MIP-FA-to-HA-MSA", 328, "Grouped", "M"}, + {"MIP-FA-to-HA-SPI", 318, "Unsigned32", "M"}, + {"MIP-FA-to-MN-MSA", 326, "Grouped", "M"}, + {"MIP-FA-to-MN-SPI", 319, "Unsigned32", "M"}, + {"MIP-Feature-Vector", 337, "Unsigned32", "M"}, + {"MIP-Filter-Rule", 342, "IPFilterRule", "M"}, + {"MIP-HA-to-FA-MSA", 329, "Grouped", "M"}, + {"MIP-HA-to-FA-SPI", 323, "Unsigned32", "M"}, + {"MIP-HA-to-MN-MSA", 332, "Grouped", "M"}, + {"MIP-Home-Agent-Address", 334, "Address", "M"}, + {"MIP-Home-Agent-Host", 348, "Grouped", "M"}, + {"MIP-MN-AAA-Auth", 322, "Grouped", "M"}, + {"MIP-MN-AAA-SPI", 341, "Unsigned32", "M"}, + {"MIP-MN-to-FA-MSA", 325, "Grouped", "M"}, + {"MIP-MN-to-HA-MSA", 331, "Grouped", "M"}, + {"MIP-MSA-Lifetime", 367, "Unsigned32", "M"}, + {"MIP-Mobile-Node-Address", 333, "Address", "M"}, + {"MIP-Nonce", 335, "OctetString", "M"}, + {"MIP-Originating-Foreign-AAA", 347, "Grouped", "M"}, + {"MIP-Reg-Reply", 321, "OctetString", "M"}, + {"MIP-Reg-Request", 320, "OctetString", "M"}, + {"MIP-Replay-Mode", 346, "Enumerated", "M"}, + {"MIP-Session-Key", 343, "OctetString", "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}, + {diameter_rfc4004, + [{"MIP-MN-AAA-Auth", + 322, + [], + [{"MIP-MN-AAA-SPI"}, + {"MIP-Auth-Input-Data-Length"}, + {"MIP-Authenticator-Length"}, + {"MIP-Authenticator-Offset"}, + {'*', ["AVP"]}]}, + {"MIP-MN-to-FA-MSA", + 325, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Nonce"}, + {'*', ["AVP"]}]}, + {"MIP-FA-to-MN-MSA", + 326, + [], + [{"MIP-FA-to-MN-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-MN-to-HA-MSA", + 331, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Replay-Mode"}, + {"MIP-Nonce"}, + {'*', ["AVP"]}]}, + {"MIP-HA-to-MN-MSA", + 332, + [], + [{"MIP-Algorithm-Type"}, + {"MIP-Replay-Mode"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-FA-to-HA-MSA", + 328, + [], + [{"MIP-FA-to-HA-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-HA-to-FA-MSA", + 329, + [], + [{"MIP-HA-to-FA-SPI"}, + {"MIP-Algorithm-Type"}, + {"MIP-Session-Key"}, + {'*', ["AVP"]}]}, + {"MIP-Originating-Foreign-AAA", + 347, + [], + [{"Origin-Realm"}, {"Origin-Host"}, {'*', ["AVP"]}]}, + {"MIP-Home-Agent-Host", + 348, + [], + [{"Destination-Realm"}, + {"Destination-Host"}, + {'*', ["AVP"]}]}]}]}, + {inherits, + [{"diameter_rfc4004", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_rfc5447"}]. + + diff --git a/src/diameter_rfc5580.erl b/src/diameter_rfc5580.erl new file mode 100644 index 0000000..25680cf --- /dev/null +++ b/src/diameter_rfc5580.erl @@ -0,0 +1,763 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc5580). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc5580. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(128, undefined) -> + {'Location-Data', 'OctetString'}; +avp_name(127, undefined) -> + {'Location-Information', 'OctetString'}; +avp_name(126, undefined) -> + {'Operator-Name', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Location-Data') -> {128, 0, undefined}; +avp_header('Location-Information') -> + {127, 0, undefined}; +avp_header('Operator-Name') -> {126, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Location-Data', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Location-Information', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Operator-Name', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Location-Data", 128, "OctetString", []}, + {"Location-Information", 127, "OctetString", []}, + {"Operator-Name", 126, "OctetString", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_rfc5580"}]. + + diff --git a/src/diameter_rfc5777.erl b/src/diameter_rfc5777.erl new file mode 100644 index 0000000..5cc0cd5 --- /dev/null +++ b/src/diameter_rfc5777.erl @@ -0,0 +1,2031 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc5777). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['QoS-Resources', + 'Filter-Rule', + 'Classifier', + 'From-Spec', + 'To-Spec', + 'IP-Address-Range', + 'IP-Address-Mask', + 'MAC-Address-Mask', + 'EUI64-Address-Mask', + 'Port-Range', + 'IP-Option', + 'TCP-Option', + 'TCP-Flags', + 'ICMP-Type', + 'ETH-Option', + 'ETH-Proto-Type', + 'VLAN-ID-Range', + 'User-Priority-Range', + 'Time-Of-Day-Condition', + 'QoS-Profile-Template', + 'QoS-Parameters', + 'Excess-Treatment', + 'QoS-Capability', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('QoS-Resources', + {'Filter-Rule' = [], 'AVP' = []}). + +-record('Filter-Rule', + {'Filter-Rule-Precedence' = [], + 'Classifier' = [], + 'Time-Of-Day-Condition' = [], + 'Treatment-Action' = [], + 'QoS-Semantics' = [], + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'Excess-Treatment' = [], + 'AVP' = []}). + +-record('Classifier', + {'Classifier-ID', + 'Protocol' = [], + 'Direction' = [], + 'From-Spec' = [], + 'To-Spec' = [], + 'Diffserv-Code-Point' = [], + 'Fragmentation-Flag' = [], + 'IP-Option' = [], + 'TCP-Option' = [], + 'TCP-Flags' = [], + 'ICMP-Type' = [], + 'ETH-Option' = [], + 'AVP' = []}). + +-record('From-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('To-Spec', + {'IP-Address' = [], + 'IP-Address-Range' = [], + 'IP-Address-Mask' = [], + 'MAC-Address' = [], + 'MAC-Address-Mask' = [], + 'EUI64-Address' = [], + 'EUI64-Address-Mask' = [], + 'Port' = [], + 'Port-Range' = [], + 'Negated' = [], + 'Use-Assigned-Address' = [], + 'AVP' = []}). + +-record('IP-Address-Range', + {'IP-Address-Start' = [], + 'IP-Address-End' = [], + 'AVP' = []}). + +-record('IP-Address-Mask', + {'IP-Address', 'IP-Mask-Bit-Mask-Width', 'AVP' = []}). + +-record('MAC-Address-Mask', + {'MAC-Address', + 'MAC-Address-Mask-Pattern', + 'AVP' = []}). + +-record('EUI64-Address-Mask', + {'EUI64-Address', + 'EUI64-Address-Mask-Pattern', + 'AVP' = []}). + +-record('Port-Range', + {'Port-Start' = [], 'Port-End' = [], 'AVP' = []}). + +-record('IP-Option', + {'IP-Option-Type', + 'IP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Option', + {'TCP-Option-Type', + 'TCP-Option-Value' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('TCP-Flags', + {'TCP-Flag-Type', 'Negated' = [], 'AVP' = []}). + +-record('ICMP-Type', + {'ICMP-Type-Number', + 'ICMP-Code' = [], + 'Negated' = [], + 'AVP' = []}). + +-record('ETH-Option', + {'ETH-Proto-Type', + 'VLAN-ID-Range' = [], + 'User-Priority-Range' = [], + 'AVP' = []}). + +-record('ETH-Proto-Type', + {'ETH-Ether-Type' = [], 'ETH-SAP' = [], 'AVP' = []}). + +-record('VLAN-ID-Range', + {'S-VID-Start' = [], + 'S-VID-End' = [], + 'C-VID-Start' = [], + 'C-VID-End' = [], + 'AVP' = []}). + +-record('User-Priority-Range', + {'Low-User-Priority' = [], + 'High-User-Priority' = [], + 'AVP' = []}). + +-record('Time-Of-Day-Condition', + {'Time-Of-Day-Start' = [], + 'Time-Of-Day-End' = [], + 'Day-Of-Week-Mask' = [], + 'Day-Of-Month-Mask' = [], + 'Month-Of-Year-Mask' = [], + 'Absolute-Start-Time' = [], + 'Absolute-End-Time' = [], + 'Timezone-Flag' = [], + 'AVP' = []}). + +-record('QoS-Profile-Template', + {'Vendor-Id', 'QoS-Profile-Id', 'AVP' = []}). + +-record('QoS-Parameters', {'AVP' = []}). + +-record('Excess-Treatment', + {'Treatment-Action', + 'QoS-Profile-Template' = [], + 'QoS-Parameters' = [], + 'AVP' = []}). + +-record('QoS-Capability', + {'QoS-Profile-Template' = [], 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc5777. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('QoS-Resources') -> 'QoS-Resources'; +name2rec('Filter-Rule') -> 'Filter-Rule'; +name2rec('Classifier') -> 'Classifier'; +name2rec('From-Spec') -> 'From-Spec'; +name2rec('To-Spec') -> 'To-Spec'; +name2rec('IP-Address-Range') -> 'IP-Address-Range'; +name2rec('IP-Address-Mask') -> 'IP-Address-Mask'; +name2rec('MAC-Address-Mask') -> 'MAC-Address-Mask'; +name2rec('EUI64-Address-Mask') -> 'EUI64-Address-Mask'; +name2rec('Port-Range') -> 'Port-Range'; +name2rec('IP-Option') -> 'IP-Option'; +name2rec('TCP-Option') -> 'TCP-Option'; +name2rec('TCP-Flags') -> 'TCP-Flags'; +name2rec('ICMP-Type') -> 'ICMP-Type'; +name2rec('ETH-Option') -> 'ETH-Option'; +name2rec('ETH-Proto-Type') -> 'ETH-Proto-Type'; +name2rec('VLAN-ID-Range') -> 'VLAN-ID-Range'; +name2rec('User-Priority-Range') -> + 'User-Priority-Range'; +name2rec('Time-Of-Day-Condition') -> + 'Time-Of-Day-Condition'; +name2rec('QoS-Profile-Template') -> + 'QoS-Profile-Template'; +name2rec('QoS-Parameters') -> 'QoS-Parameters'; +name2rec('Excess-Treatment') -> 'Excess-Treatment'; +name2rec('QoS-Capability') -> 'QoS-Capability'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(569, undefined) -> + {'Absolute-End-Fractional-Seconds', 'Unsigned32'}; +avp_name(568, undefined) -> + {'Absolute-End-Time', 'Time'}; +avp_name(567, undefined) -> + {'Absolute-Start-Fractional-Seconds', 'Unsigned32'}; +avp_name(566, undefined) -> + {'Absolute-Start-Time', 'Time'}; +avp_name(556, undefined) -> {'C-VID-End', 'Unsigned32'}; +avp_name(555, undefined) -> + {'C-VID-Start', 'Unsigned32'}; +avp_name(511, undefined) -> {'Classifier', 'Grouped'}; +avp_name(512, undefined) -> + {'Classifier-ID', 'OctetString'}; +avp_name(564, undefined) -> + {'Day-Of-Month-Mask', 'Unsigned32'}; +avp_name(563, undefined) -> + {'Day-Of-Week-Mask', 'Unsigned32'}; +avp_name(535, undefined) -> + {'Diffserv-Code-Point', 'Enumerated'}; +avp_name(514, undefined) -> {'Direction', 'Enumerated'}; +avp_name(550, undefined) -> + {'ETH-Ether-Type', 'OctetString'}; +avp_name(548, undefined) -> {'ETH-Option', 'Grouped'}; +avp_name(549, undefined) -> + {'ETH-Proto-Type', 'Grouped'}; +avp_name(551, undefined) -> {'ETH-SAP', 'OctetString'}; +avp_name(527, undefined) -> + {'EUI64-Address', 'OctetString'}; +avp_name(528, undefined) -> + {'EUI64-Address-Mask', 'Grouped'}; +avp_name(529, undefined) -> + {'EUI64-Address-Mask-Pattern', 'OctetString'}; +avp_name(577, undefined) -> + {'Excess-Treatment', 'Grouped'}; +avp_name(509, undefined) -> {'Filter-Rule', 'Grouped'}; +avp_name(510, undefined) -> + {'Filter-Rule-Precedence', 'Unsigned32'}; +avp_name(536, undefined) -> + {'Fragmentation-Flag', 'Enumerated'}; +avp_name(515, undefined) -> {'From-Spec', 'Grouped'}; +avp_name(559, undefined) -> + {'High-User-Priority', 'Unsigned32'}; +avp_name(547, undefined) -> {'ICMP-Code', 'Enumerated'}; +avp_name(545, undefined) -> {'ICMP-Type', 'Grouped'}; +avp_name(546, undefined) -> + {'ICMP-Type-Number', 'Enumerated'}; +avp_name(518, undefined) -> {'IP-Address', 'Address'}; +avp_name(521, undefined) -> + {'IP-Address-End', 'Address'}; +avp_name(522, undefined) -> + {'IP-Address-Mask', 'Grouped'}; +avp_name(519, undefined) -> + {'IP-Address-Range', 'Grouped'}; +avp_name(520, undefined) -> + {'IP-Address-Start', 'Address'}; +avp_name(523, undefined) -> + {'IP-Mask-Bit-Mask-Width', 'Unsigned32'}; +avp_name(537, undefined) -> {'IP-Option', 'Grouped'}; +avp_name(538, undefined) -> + {'IP-Option-Type', 'Enumerated'}; +avp_name(539, undefined) -> + {'IP-Option-Value', 'OctetString'}; +avp_name(558, undefined) -> + {'Low-User-Priority', 'Unsigned32'}; +avp_name(524, undefined) -> + {'MAC-Address', 'OctetString'}; +avp_name(525, undefined) -> + {'MAC-Address-Mask', 'Grouped'}; +avp_name(526, undefined) -> + {'MAC-Address-Mask-Pattern', 'OctetString'}; +avp_name(565, undefined) -> + {'Month-Of-Year-Mask', 'Unsigned32'}; +avp_name(517, undefined) -> {'Negated', 'Enumerated'}; +avp_name(530, undefined) -> {'Port', 'Integer32'}; +avp_name(533, undefined) -> {'Port-End', 'Integer32'}; +avp_name(531, undefined) -> {'Port-Range', 'Grouped'}; +avp_name(532, undefined) -> {'Port-Start', 'Integer32'}; +avp_name(513, undefined) -> {'Protocol', 'Enumerated'}; +avp_name(578, undefined) -> + {'QoS-Capability', 'Grouped'}; +avp_name(576, undefined) -> + {'QoS-Parameters', 'Grouped'}; +avp_name(573, undefined) -> + {'QoS-Profile-Id', 'Unsigned32'}; +avp_name(574, undefined) -> + {'QoS-Profile-Template', 'Grouped'}; +avp_name(508, undefined) -> + {'QoS-Resources', 'Grouped'}; +avp_name(575, undefined) -> + {'QoS-Semantics', 'Enumerated'}; +avp_name(554, undefined) -> {'S-VID-End', 'Unsigned32'}; +avp_name(553, undefined) -> + {'S-VID-Start', 'Unsigned32'}; +avp_name(544, undefined) -> + {'TCP-Flag-Type', 'Unsigned32'}; +avp_name(543, undefined) -> {'TCP-Flags', 'Grouped'}; +avp_name(540, undefined) -> {'TCP-Option', 'Grouped'}; +avp_name(541, undefined) -> + {'TCP-Option-Type', 'Enumerated'}; +avp_name(542, undefined) -> + {'TCP-Option-Value', 'OctetString'}; +avp_name(560, undefined) -> + {'Time-Of-Day-Condition', 'Grouped'}; +avp_name(562, undefined) -> + {'Time-Of-Day-End', 'Unsigned32'}; +avp_name(561, undefined) -> + {'Time-Of-Day-Start', 'Unsigned32'}; +avp_name(570, undefined) -> + {'Timezone-Flag', 'Enumerated'}; +avp_name(571, undefined) -> + {'Timezone-Offset', 'Integer32'}; +avp_name(516, undefined) -> {'To-Spec', 'Grouped'}; +avp_name(572, undefined) -> + {'Treatment-Action', 'Enumerated'}; +avp_name(534, undefined) -> + {'Use-Assigned-Address', 'Enumerated'}; +avp_name(557, undefined) -> + {'User-Priority-Range', 'Grouped'}; +avp_name(552, undefined) -> + {'VLAN-ID-Range', 'Grouped'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('QoS-Resources') -> + [{'Filter-Rule', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('Filter-Rule') -> + [{'Filter-Rule-Precedence', {0, 1}}, + {'Classifier', {0, 1}}, + {'Time-Of-Day-Condition', {0, '*'}}, + {'Treatment-Action', {0, 1}}, + {'QoS-Semantics', {0, 1}}, + {'QoS-Profile-Template', {0, 1}}, + {'QoS-Parameters', {0, 1}}, + {'Excess-Treatment', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Classifier') -> + [{'Classifier-ID', 1}, + {'Protocol', {0, 1}}, + {'Direction', {0, 1}}, + {'From-Spec', {0, '*'}}, + {'To-Spec', {0, '*'}}, + {'Diffserv-Code-Point', {0, '*'}}, + {'Fragmentation-Flag', {0, 1}}, + {'IP-Option', {0, '*'}}, + {'TCP-Option', {0, '*'}}, + {'TCP-Flags', {0, 1}}, + {'ICMP-Type', {0, '*'}}, + {'ETH-Option', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('From-Spec') -> + [{'IP-Address', {0, '*'}}, + {'IP-Address-Range', {0, '*'}}, + {'IP-Address-Mask', {0, '*'}}, + {'MAC-Address', {0, '*'}}, + {'MAC-Address-Mask', {0, '*'}}, + {'EUI64-Address', {0, '*'}}, + {'EUI64-Address-Mask', {0, '*'}}, + {'Port', {0, '*'}}, + {'Port-Range', {0, '*'}}, + {'Negated', {0, 1}}, + {'Use-Assigned-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('To-Spec') -> + [{'IP-Address', {0, '*'}}, + {'IP-Address-Range', {0, '*'}}, + {'IP-Address-Mask', {0, '*'}}, + {'MAC-Address', {0, '*'}}, + {'MAC-Address-Mask', {0, '*'}}, + {'EUI64-Address', {0, '*'}}, + {'EUI64-Address-Mask', {0, '*'}}, + {'Port', {0, '*'}}, + {'Port-Range', {0, '*'}}, + {'Negated', {0, 1}}, + {'Use-Assigned-Address', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('IP-Address-Range') -> + [{'IP-Address-Start', {0, 1}}, + {'IP-Address-End', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('IP-Address-Mask') -> + [{'IP-Address', 1}, + {'IP-Mask-Bit-Mask-Width', 1}, + {'AVP', {0, '*'}}]; +avp_arity('MAC-Address-Mask') -> + [{'MAC-Address', 1}, + {'MAC-Address-Mask-Pattern', 1}, + {'AVP', {0, '*'}}]; +avp_arity('EUI64-Address-Mask') -> + [{'EUI64-Address', 1}, + {'EUI64-Address-Mask-Pattern', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Port-Range') -> + [{'Port-Start', {0, 1}}, + {'Port-End', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('IP-Option') -> + [{'IP-Option-Type', 1}, + {'IP-Option-Value', {0, '*'}}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TCP-Option') -> + [{'TCP-Option-Type', 1}, + {'TCP-Option-Value', {0, '*'}}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('TCP-Flags') -> + [{'TCP-Flag-Type', 1}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('ICMP-Type') -> + [{'ICMP-Type-Number', 1}, + {'ICMP-Code', {0, '*'}}, + {'Negated', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('ETH-Option') -> + [{'ETH-Proto-Type', 1}, + {'VLAN-ID-Range', {0, '*'}}, + {'User-Priority-Range', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ETH-Proto-Type') -> + [{'ETH-Ether-Type', {0, '*'}}, + {'ETH-SAP', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('VLAN-ID-Range') -> + [{'S-VID-Start', {0, 1}}, + {'S-VID-End', {0, 1}}, + {'C-VID-Start', {0, 1}}, + {'C-VID-End', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('User-Priority-Range') -> + [{'Low-User-Priority', {0, '*'}}, + {'High-User-Priority', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Time-Of-Day-Condition') -> + [{'Time-Of-Day-Start', {0, 1}}, + {'Time-Of-Day-End', {0, 1}}, + {'Day-Of-Week-Mask', {0, 1}}, + {'Day-Of-Month-Mask', {0, 1}}, + {'Month-Of-Year-Mask', {0, 1}}, + {'Absolute-Start-Time', {0, 1}}, + {'Absolute-End-Time', {0, 1}}, + {'Timezone-Flag', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Profile-Template') -> + [{'Vendor-Id', 1}, + {'QoS-Profile-Id', 1}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Parameters') -> [{'AVP', {0, '*'}}]; +avp_arity('Excess-Treatment') -> + [{'Treatment-Action', 1}, + {'QoS-Profile-Template', {0, 1}}, + {'QoS-Parameters', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('QoS-Capability') -> + [{'QoS-Profile-Template', {1, '*'}}, {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('QoS-Resources', 'Filter-Rule') -> {1, '*'}; +avp_arity('QoS-Resources', 'AVP') -> {0, '*'}; +avp_arity('Filter-Rule', 'Filter-Rule-Precedence') -> + {0, 1}; +avp_arity('Filter-Rule', 'Classifier') -> {0, 1}; +avp_arity('Filter-Rule', 'Time-Of-Day-Condition') -> + {0, '*'}; +avp_arity('Filter-Rule', 'Treatment-Action') -> {0, 1}; +avp_arity('Filter-Rule', 'QoS-Semantics') -> {0, 1}; +avp_arity('Filter-Rule', 'QoS-Profile-Template') -> + {0, 1}; +avp_arity('Filter-Rule', 'QoS-Parameters') -> {0, 1}; +avp_arity('Filter-Rule', 'Excess-Treatment') -> {0, 1}; +avp_arity('Filter-Rule', 'AVP') -> {0, '*'}; +avp_arity('Classifier', 'Classifier-ID') -> 1; +avp_arity('Classifier', 'Protocol') -> {0, 1}; +avp_arity('Classifier', 'Direction') -> {0, 1}; +avp_arity('Classifier', 'From-Spec') -> {0, '*'}; +avp_arity('Classifier', 'To-Spec') -> {0, '*'}; +avp_arity('Classifier', 'Diffserv-Code-Point') -> + {0, '*'}; +avp_arity('Classifier', 'Fragmentation-Flag') -> {0, 1}; +avp_arity('Classifier', 'IP-Option') -> {0, '*'}; +avp_arity('Classifier', 'TCP-Option') -> {0, '*'}; +avp_arity('Classifier', 'TCP-Flags') -> {0, 1}; +avp_arity('Classifier', 'ICMP-Type') -> {0, '*'}; +avp_arity('Classifier', 'ETH-Option') -> {0, '*'}; +avp_arity('Classifier', 'AVP') -> {0, '*'}; +avp_arity('From-Spec', 'IP-Address') -> {0, '*'}; +avp_arity('From-Spec', 'IP-Address-Range') -> {0, '*'}; +avp_arity('From-Spec', 'IP-Address-Mask') -> {0, '*'}; +avp_arity('From-Spec', 'MAC-Address') -> {0, '*'}; +avp_arity('From-Spec', 'MAC-Address-Mask') -> {0, '*'}; +avp_arity('From-Spec', 'EUI64-Address') -> {0, '*'}; +avp_arity('From-Spec', 'EUI64-Address-Mask') -> + {0, '*'}; +avp_arity('From-Spec', 'Port') -> {0, '*'}; +avp_arity('From-Spec', 'Port-Range') -> {0, '*'}; +avp_arity('From-Spec', 'Negated') -> {0, 1}; +avp_arity('From-Spec', 'Use-Assigned-Address') -> + {0, 1}; +avp_arity('From-Spec', 'AVP') -> {0, '*'}; +avp_arity('To-Spec', 'IP-Address') -> {0, '*'}; +avp_arity('To-Spec', 'IP-Address-Range') -> {0, '*'}; +avp_arity('To-Spec', 'IP-Address-Mask') -> {0, '*'}; +avp_arity('To-Spec', 'MAC-Address') -> {0, '*'}; +avp_arity('To-Spec', 'MAC-Address-Mask') -> {0, '*'}; +avp_arity('To-Spec', 'EUI64-Address') -> {0, '*'}; +avp_arity('To-Spec', 'EUI64-Address-Mask') -> {0, '*'}; +avp_arity('To-Spec', 'Port') -> {0, '*'}; +avp_arity('To-Spec', 'Port-Range') -> {0, '*'}; +avp_arity('To-Spec', 'Negated') -> {0, 1}; +avp_arity('To-Spec', 'Use-Assigned-Address') -> {0, 1}; +avp_arity('To-Spec', 'AVP') -> {0, '*'}; +avp_arity('IP-Address-Range', 'IP-Address-Start') -> + {0, 1}; +avp_arity('IP-Address-Range', 'IP-Address-End') -> + {0, 1}; +avp_arity('IP-Address-Range', 'AVP') -> {0, '*'}; +avp_arity('IP-Address-Mask', 'IP-Address') -> 1; +avp_arity('IP-Address-Mask', + 'IP-Mask-Bit-Mask-Width') -> + 1; +avp_arity('IP-Address-Mask', 'AVP') -> {0, '*'}; +avp_arity('MAC-Address-Mask', 'MAC-Address') -> 1; +avp_arity('MAC-Address-Mask', + 'MAC-Address-Mask-Pattern') -> + 1; +avp_arity('MAC-Address-Mask', 'AVP') -> {0, '*'}; +avp_arity('EUI64-Address-Mask', 'EUI64-Address') -> 1; +avp_arity('EUI64-Address-Mask', + 'EUI64-Address-Mask-Pattern') -> + 1; +avp_arity('EUI64-Address-Mask', 'AVP') -> {0, '*'}; +avp_arity('Port-Range', 'Port-Start') -> {0, 1}; +avp_arity('Port-Range', 'Port-End') -> {0, 1}; +avp_arity('Port-Range', 'AVP') -> {0, '*'}; +avp_arity('IP-Option', 'IP-Option-Type') -> 1; +avp_arity('IP-Option', 'IP-Option-Value') -> {0, '*'}; +avp_arity('IP-Option', 'Negated') -> {0, 1}; +avp_arity('IP-Option', 'AVP') -> {0, '*'}; +avp_arity('TCP-Option', 'TCP-Option-Type') -> 1; +avp_arity('TCP-Option', 'TCP-Option-Value') -> {0, '*'}; +avp_arity('TCP-Option', 'Negated') -> {0, 1}; +avp_arity('TCP-Option', 'AVP') -> {0, '*'}; +avp_arity('TCP-Flags', 'TCP-Flag-Type') -> 1; +avp_arity('TCP-Flags', 'Negated') -> {0, 1}; +avp_arity('TCP-Flags', 'AVP') -> {0, '*'}; +avp_arity('ICMP-Type', 'ICMP-Type-Number') -> 1; +avp_arity('ICMP-Type', 'ICMP-Code') -> {0, '*'}; +avp_arity('ICMP-Type', 'Negated') -> {0, 1}; +avp_arity('ICMP-Type', 'AVP') -> {0, '*'}; +avp_arity('ETH-Option', 'ETH-Proto-Type') -> 1; +avp_arity('ETH-Option', 'VLAN-ID-Range') -> {0, '*'}; +avp_arity('ETH-Option', 'User-Priority-Range') -> + {0, '*'}; +avp_arity('ETH-Option', 'AVP') -> {0, '*'}; +avp_arity('ETH-Proto-Type', 'ETH-Ether-Type') -> + {0, '*'}; +avp_arity('ETH-Proto-Type', 'ETH-SAP') -> {0, '*'}; +avp_arity('ETH-Proto-Type', 'AVP') -> {0, '*'}; +avp_arity('VLAN-ID-Range', 'S-VID-Start') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'S-VID-End') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'C-VID-Start') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'C-VID-End') -> {0, 1}; +avp_arity('VLAN-ID-Range', 'AVP') -> {0, '*'}; +avp_arity('User-Priority-Range', 'Low-User-Priority') -> + {0, '*'}; +avp_arity('User-Priority-Range', + 'High-User-Priority') -> + {0, '*'}; +avp_arity('User-Priority-Range', 'AVP') -> {0, '*'}; +avp_arity('Time-Of-Day-Condition', + 'Time-Of-Day-Start') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', 'Time-Of-Day-End') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Day-Of-Week-Mask') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Day-Of-Month-Mask') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Month-Of-Year-Mask') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Absolute-Start-Time') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', + 'Absolute-End-Time') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', 'Timezone-Flag') -> + {0, 1}; +avp_arity('Time-Of-Day-Condition', 'AVP') -> {0, '*'}; +avp_arity('QoS-Profile-Template', 'Vendor-Id') -> 1; +avp_arity('QoS-Profile-Template', 'QoS-Profile-Id') -> + 1; +avp_arity('QoS-Profile-Template', 'AVP') -> {0, '*'}; +avp_arity('QoS-Parameters', 'AVP') -> {0, '*'}; +avp_arity('Excess-Treatment', 'Treatment-Action') -> 1; +avp_arity('Excess-Treatment', 'QoS-Profile-Template') -> + {0, 1}; +avp_arity('Excess-Treatment', 'QoS-Parameters') -> + {0, 1}; +avp_arity('Excess-Treatment', 'AVP') -> {0, '*'}; +avp_arity('QoS-Capability', 'QoS-Profile-Template') -> + {1, '*'}; +avp_arity('QoS-Capability', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Absolute-End-Fractional-Seconds') -> + {569, 0, undefined}; +avp_header('Absolute-End-Time') -> {568, 0, undefined}; +avp_header('Absolute-Start-Fractional-Seconds') -> + {567, 0, undefined}; +avp_header('Absolute-Start-Time') -> + {566, 0, undefined}; +avp_header('C-VID-End') -> {556, 0, undefined}; +avp_header('C-VID-Start') -> {555, 0, undefined}; +avp_header('Classifier') -> {511, 0, undefined}; +avp_header('Classifier-ID') -> {512, 0, undefined}; +avp_header('Day-Of-Month-Mask') -> {564, 0, undefined}; +avp_header('Day-Of-Week-Mask') -> {563, 0, undefined}; +avp_header('Diffserv-Code-Point') -> + {535, 0, undefined}; +avp_header('Direction') -> {514, 0, undefined}; +avp_header('ETH-Ether-Type') -> {550, 0, undefined}; +avp_header('ETH-Option') -> {548, 0, undefined}; +avp_header('ETH-Proto-Type') -> {549, 0, undefined}; +avp_header('ETH-SAP') -> {551, 0, undefined}; +avp_header('EUI64-Address') -> {527, 0, undefined}; +avp_header('EUI64-Address-Mask') -> {528, 0, undefined}; +avp_header('EUI64-Address-Mask-Pattern') -> + {529, 0, undefined}; +avp_header('Excess-Treatment') -> {577, 0, undefined}; +avp_header('Filter-Rule') -> {509, 0, undefined}; +avp_header('Filter-Rule-Precedence') -> + {510, 0, undefined}; +avp_header('Fragmentation-Flag') -> {536, 0, undefined}; +avp_header('From-Spec') -> {515, 0, undefined}; +avp_header('High-User-Priority') -> {559, 0, undefined}; +avp_header('ICMP-Code') -> {547, 0, undefined}; +avp_header('ICMP-Type') -> {545, 0, undefined}; +avp_header('ICMP-Type-Number') -> {546, 0, undefined}; +avp_header('IP-Address') -> {518, 0, undefined}; +avp_header('IP-Address-End') -> {521, 0, undefined}; +avp_header('IP-Address-Mask') -> {522, 0, undefined}; +avp_header('IP-Address-Range') -> {519, 0, undefined}; +avp_header('IP-Address-Start') -> {520, 0, undefined}; +avp_header('IP-Mask-Bit-Mask-Width') -> + {523, 0, undefined}; +avp_header('IP-Option') -> {537, 0, undefined}; +avp_header('IP-Option-Type') -> {538, 0, undefined}; +avp_header('IP-Option-Value') -> {539, 0, undefined}; +avp_header('Low-User-Priority') -> {558, 0, undefined}; +avp_header('MAC-Address') -> {524, 0, undefined}; +avp_header('MAC-Address-Mask') -> {525, 0, undefined}; +avp_header('MAC-Address-Mask-Pattern') -> + {526, 0, undefined}; +avp_header('Month-Of-Year-Mask') -> {565, 0, undefined}; +avp_header('Negated') -> {517, 0, undefined}; +avp_header('Port') -> {530, 0, undefined}; +avp_header('Port-End') -> {533, 0, undefined}; +avp_header('Port-Range') -> {531, 0, undefined}; +avp_header('Port-Start') -> {532, 0, undefined}; +avp_header('Protocol') -> {513, 0, undefined}; +avp_header('QoS-Capability') -> {578, 0, undefined}; +avp_header('QoS-Parameters') -> {576, 0, undefined}; +avp_header('QoS-Profile-Id') -> {573, 0, undefined}; +avp_header('QoS-Profile-Template') -> + {574, 0, undefined}; +avp_header('QoS-Resources') -> {508, 0, undefined}; +avp_header('QoS-Semantics') -> {575, 0, undefined}; +avp_header('S-VID-End') -> {554, 0, undefined}; +avp_header('S-VID-Start') -> {553, 0, undefined}; +avp_header('TCP-Flag-Type') -> {544, 0, undefined}; +avp_header('TCP-Flags') -> {543, 0, undefined}; +avp_header('TCP-Option') -> {540, 0, undefined}; +avp_header('TCP-Option-Type') -> {541, 0, undefined}; +avp_header('TCP-Option-Value') -> {542, 0, undefined}; +avp_header('Time-Of-Day-Condition') -> + {560, 0, undefined}; +avp_header('Time-Of-Day-End') -> {562, 0, undefined}; +avp_header('Time-Of-Day-Start') -> {561, 0, undefined}; +avp_header('Timezone-Flag') -> {570, 0, undefined}; +avp_header('Timezone-Offset') -> {571, 0, undefined}; +avp_header('To-Spec') -> {516, 0, undefined}; +avp_header('Treatment-Action') -> {572, 0, undefined}; +avp_header('Use-Assigned-Address') -> + {534, 0, undefined}; +avp_header('User-Priority-Range') -> + {557, 0, undefined}; +avp_header('VLAN-ID-Range') -> {552, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Absolute-End-Fractional-Seconds', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Absolute-End-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'Absolute-Start-Fractional-Seconds', + Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Absolute-Start-Time', Opts) -> + diameter_types:'Time'(T, Data, Opts); +avp(T, Data, 'C-VID-End', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'C-VID-Start', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Classifier', Opts) -> + grouped_avp(T, 'Classifier', Data, Opts); +avp(T, Data, 'Classifier-ID', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Day-Of-Month-Mask', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Day-Of-Week-Mask', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Diffserv-Code-Point', _) -> + enumerated_avp(T, 'Diffserv-Code-Point', Data); +avp(T, Data, 'Direction', _) -> + enumerated_avp(T, 'Direction', Data); +avp(T, Data, 'ETH-Ether-Type', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'ETH-Option', Opts) -> + grouped_avp(T, 'ETH-Option', Data, Opts); +avp(T, Data, 'ETH-Proto-Type', Opts) -> + grouped_avp(T, 'ETH-Proto-Type', Data, Opts); +avp(T, Data, 'ETH-SAP', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'EUI64-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'EUI64-Address-Mask', Opts) -> + grouped_avp(T, 'EUI64-Address-Mask', Data, Opts); +avp(T, Data, 'EUI64-Address-Mask-Pattern', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Excess-Treatment', Opts) -> + grouped_avp(T, 'Excess-Treatment', Data, Opts); +avp(T, Data, 'Filter-Rule', Opts) -> + grouped_avp(T, 'Filter-Rule', Data, Opts); +avp(T, Data, 'Filter-Rule-Precedence', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Fragmentation-Flag', _) -> + enumerated_avp(T, 'Fragmentation-Flag', Data); +avp(T, Data, 'From-Spec', Opts) -> + grouped_avp(T, 'From-Spec', Data, Opts); +avp(T, Data, 'High-User-Priority', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'ICMP-Code', _) -> + enumerated_avp(T, 'ICMP-Code', Data); +avp(T, Data, 'ICMP-Type', Opts) -> + grouped_avp(T, 'ICMP-Type', Data, Opts); +avp(T, Data, 'ICMP-Type-Number', _) -> + enumerated_avp(T, 'ICMP-Type-Number', Data); +avp(T, Data, 'IP-Address', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'IP-Address-End', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'IP-Address-Mask', Opts) -> + grouped_avp(T, 'IP-Address-Mask', Data, Opts); +avp(T, Data, 'IP-Address-Range', Opts) -> + grouped_avp(T, 'IP-Address-Range', Data, Opts); +avp(T, Data, 'IP-Address-Start', Opts) -> + diameter_types:'Address'(T, Data, Opts); +avp(T, Data, 'IP-Mask-Bit-Mask-Width', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'IP-Option', Opts) -> + grouped_avp(T, 'IP-Option', Data, Opts); +avp(T, Data, 'IP-Option-Type', _) -> + enumerated_avp(T, 'IP-Option-Type', Data); +avp(T, Data, 'IP-Option-Value', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Low-User-Priority', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'MAC-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'MAC-Address-Mask', Opts) -> + grouped_avp(T, 'MAC-Address-Mask', Data, Opts); +avp(T, Data, 'MAC-Address-Mask-Pattern', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Month-Of-Year-Mask', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Negated', _) -> + enumerated_avp(T, 'Negated', Data); +avp(T, Data, 'Port', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Port-End', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Port-Range', Opts) -> + grouped_avp(T, 'Port-Range', Data, Opts); +avp(T, Data, 'Port-Start', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'Protocol', _) -> + enumerated_avp(T, 'Protocol', Data); +avp(T, Data, 'QoS-Capability', Opts) -> + grouped_avp(T, 'QoS-Capability', Data, Opts); +avp(T, Data, 'QoS-Parameters', Opts) -> + grouped_avp(T, 'QoS-Parameters', Data, Opts); +avp(T, Data, 'QoS-Profile-Id', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'QoS-Profile-Template', Opts) -> + grouped_avp(T, 'QoS-Profile-Template', Data, Opts); +avp(T, Data, 'QoS-Resources', Opts) -> + grouped_avp(T, 'QoS-Resources', Data, Opts); +avp(T, Data, 'QoS-Semantics', _) -> + enumerated_avp(T, 'QoS-Semantics', Data); +avp(T, Data, 'S-VID-End', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'S-VID-Start', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'TCP-Flag-Type', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'TCP-Flags', Opts) -> + grouped_avp(T, 'TCP-Flags', Data, Opts); +avp(T, Data, 'TCP-Option', Opts) -> + grouped_avp(T, 'TCP-Option', Data, Opts); +avp(T, Data, 'TCP-Option-Type', _) -> + enumerated_avp(T, 'TCP-Option-Type', Data); +avp(T, Data, 'TCP-Option-Value', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Time-Of-Day-Condition', Opts) -> + grouped_avp(T, 'Time-Of-Day-Condition', Data, Opts); +avp(T, Data, 'Time-Of-Day-End', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Time-Of-Day-Start', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Timezone-Flag', _) -> + enumerated_avp(T, 'Timezone-Flag', Data); +avp(T, Data, 'Timezone-Offset', Opts) -> + diameter_types:'Integer32'(T, Data, Opts); +avp(T, Data, 'To-Spec', Opts) -> + grouped_avp(T, 'To-Spec', Data, Opts); +avp(T, Data, 'Treatment-Action', _) -> + enumerated_avp(T, 'Treatment-Action', Data); +avp(T, Data, 'Use-Assigned-Address', _) -> + enumerated_avp(T, 'Use-Assigned-Address', Data); +avp(T, Data, 'User-Priority-Range', Opts) -> + grouped_avp(T, 'User-Priority-Range', Data, Opts); +avp(T, Data, 'VLAN-ID-Range', Opts) -> + grouped_avp(T, 'VLAN-ID-Range', Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'Protocol', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'Protocol', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Direction', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Direction', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Direction', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Direction', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Direction', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Direction', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Negated', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'Negated', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Negated', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'Negated', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Use-Assigned-Address', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Use-Assigned-Address', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Use-Assigned-Address', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Use-Assigned-Address', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Diffserv-Code-Point', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Diffserv-Code-Point', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Fragmentation-Flag', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Fragmentation-Flag', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Fragmentation-Flag', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Fragmentation-Flag', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'IP-Option-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'IP-Option-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'TCP-Option-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'TCP-Option-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ICMP-Type-Number', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ICMP-Type-Number', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'ICMP-Code', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'ICMP-Code', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Timezone-Flag', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Timezone-Flag', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Timezone-Flag', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Timezone-Flag', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Timezone-Flag', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Timezone-Flag', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Treatment-Action', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Treatment-Action', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Treatment-Action', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Treatment-Action', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Treatment-Action', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Treatment-Action', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Treatment-Action', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Treatment-Action', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'QoS-Semantics', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'QoS-Semantics', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'QoS-Semantics', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'QoS-Semantics', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'QoS-Semantics', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'QoS-Semantics', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'QoS-Semantics', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'QoS-Semantics', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'QoS-Semantics', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'QoS-Semantics', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('QoS-Resources', Opts) -> + empty_group('QoS-Resources', Opts); +empty_value('Filter-Rule', Opts) -> + empty_group('Filter-Rule', Opts); +empty_value('Classifier', Opts) -> + empty_group('Classifier', Opts); +empty_value('From-Spec', Opts) -> + empty_group('From-Spec', Opts); +empty_value('To-Spec', Opts) -> + empty_group('To-Spec', Opts); +empty_value('IP-Address-Range', Opts) -> + empty_group('IP-Address-Range', Opts); +empty_value('IP-Address-Mask', Opts) -> + empty_group('IP-Address-Mask', Opts); +empty_value('MAC-Address-Mask', Opts) -> + empty_group('MAC-Address-Mask', Opts); +empty_value('EUI64-Address-Mask', Opts) -> + empty_group('EUI64-Address-Mask', Opts); +empty_value('Port-Range', Opts) -> + empty_group('Port-Range', Opts); +empty_value('IP-Option', Opts) -> + empty_group('IP-Option', Opts); +empty_value('TCP-Option', Opts) -> + empty_group('TCP-Option', Opts); +empty_value('TCP-Flags', Opts) -> + empty_group('TCP-Flags', Opts); +empty_value('ICMP-Type', Opts) -> + empty_group('ICMP-Type', Opts); +empty_value('ETH-Option', Opts) -> + empty_group('ETH-Option', Opts); +empty_value('ETH-Proto-Type', Opts) -> + empty_group('ETH-Proto-Type', Opts); +empty_value('VLAN-ID-Range', Opts) -> + empty_group('VLAN-ID-Range', Opts); +empty_value('User-Priority-Range', Opts) -> + empty_group('User-Priority-Range', Opts); +empty_value('Time-Of-Day-Condition', Opts) -> + empty_group('Time-Of-Day-Condition', Opts); +empty_value('QoS-Profile-Template', Opts) -> + empty_group('QoS-Profile-Template', Opts); +empty_value('QoS-Parameters', Opts) -> + empty_group('QoS-Parameters', Opts); +empty_value('Excess-Treatment', Opts) -> + empty_group('Excess-Treatment', Opts); +empty_value('QoS-Capability', Opts) -> + empty_group('QoS-Capability', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Direction', _) -> <<0, 0, 0, 0>>; +empty_value('Negated', _) -> <<0, 0, 0, 0>>; +empty_value('Use-Assigned-Address', _) -> + <<0, 0, 0, 0>>; +empty_value('Diffserv-Code-Point', _) -> <<0, 0, 0, 0>>; +empty_value('Fragmentation-Flag', _) -> <<0, 0, 0, 0>>; +empty_value('IP-Option-Type', _) -> <<0, 0, 0, 0>>; +empty_value('TCP-Option-Type', _) -> <<0, 0, 0, 0>>; +empty_value('ICMP-Type-Number', _) -> <<0, 0, 0, 0>>; +empty_value('ICMP-Code', _) -> <<0, 0, 0, 0>>; +empty_value('Timezone-Flag', _) -> <<0, 0, 0, 0>>; +empty_value('Treatment-Action', _) -> <<0, 0, 0, 0>>; +empty_value('QoS-Semantics', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Absolute-End-Fractional-Seconds", + 569, + "Unsigned32", + []}, + {"Absolute-End-Time", 568, "Time", []}, + {"Absolute-Start-Fractional-Seconds", + 567, + "Unsigned32", + []}, + {"Absolute-Start-Time", 566, "Time", []}, + {"C-VID-End", 556, "Unsigned32", []}, + {"C-VID-Start", 555, "Unsigned32", []}, + {"Classifier", 511, "Grouped", []}, + {"Classifier-ID", 512, "OctetString", []}, + {"Day-Of-Month-Mask", 564, "Unsigned32", []}, + {"Day-Of-Week-Mask", 563, "Unsigned32", []}, + {"Diffserv-Code-Point", 535, "Enumerated", []}, + {"Direction", 514, "Enumerated", []}, + {"ETH-Ether-Type", 550, "OctetString", []}, + {"ETH-Option", 548, "Grouped", []}, + {"ETH-Proto-Type", 549, "Grouped", []}, + {"ETH-SAP", 551, "OctetString", []}, + {"EUI64-Address", 527, "OctetString", []}, + {"EUI64-Address-Mask", 528, "Grouped", []}, + {"EUI64-Address-Mask-Pattern", 529, "OctetString", []}, + {"Excess-Treatment", 577, "Grouped", []}, + {"Filter-Rule", 509, "Grouped", []}, + {"Filter-Rule-Precedence", 510, "Unsigned32", []}, + {"Fragmentation-Flag", 536, "Enumerated", []}, + {"From-Spec", 515, "Grouped", []}, + {"High-User-Priority", 559, "Unsigned32", []}, + {"ICMP-Code", 547, "Enumerated", []}, + {"ICMP-Type", 545, "Grouped", []}, + {"ICMP-Type-Number", 546, "Enumerated", []}, + {"IP-Address", 518, "Address", []}, + {"IP-Address-End", 521, "Address", []}, + {"IP-Address-Mask", 522, "Grouped", []}, + {"IP-Address-Range", 519, "Grouped", []}, + {"IP-Address-Start", 520, "Address", []}, + {"IP-Mask-Bit-Mask-Width", 523, "Unsigned32", []}, + {"IP-Option", 537, "Grouped", []}, + {"IP-Option-Type", 538, "Enumerated", []}, + {"IP-Option-Value", 539, "OctetString", []}, + {"Low-User-Priority", 558, "Unsigned32", []}, + {"MAC-Address", 524, "OctetString", []}, + {"MAC-Address-Mask", 525, "Grouped", []}, + {"MAC-Address-Mask-Pattern", 526, "OctetString", []}, + {"Month-Of-Year-Mask", 565, "Unsigned32", []}, + {"Negated", 517, "Enumerated", []}, + {"Port", 530, "Integer32", []}, + {"Port-End", 533, "Integer32", []}, + {"Port-Range", 531, "Grouped", []}, + {"Port-Start", 532, "Integer32", []}, + {"Protocol", 513, "Enumerated", []}, + {"QoS-Capability", 578, "Grouped", []}, + {"QoS-Parameters", 576, "Grouped", []}, + {"QoS-Profile-Id", 573, "Unsigned32", []}, + {"QoS-Profile-Template", 574, "Grouped", []}, + {"QoS-Resources", 508, "Grouped", []}, + {"QoS-Semantics", 575, "Enumerated", []}, + {"S-VID-End", 554, "Unsigned32", []}, + {"S-VID-Start", 553, "Unsigned32", []}, + {"TCP-Flag-Type", 544, "Unsigned32", []}, + {"TCP-Flags", 543, "Grouped", []}, + {"TCP-Option", 540, "Grouped", []}, + {"TCP-Option-Type", 541, "Enumerated", []}, + {"TCP-Option-Value", 542, "OctetString", []}, + {"Time-Of-Day-Condition", 560, "Grouped", []}, + {"Time-Of-Day-End", 562, "Unsigned32", []}, + {"Time-Of-Day-Start", 561, "Unsigned32", []}, + {"Timezone-Flag", 570, "Enumerated", []}, + {"Timezone-Offset", 571, "Integer32", []}, + {"To-Spec", 516, "Grouped", []}, + {"Treatment-Action", 572, "Enumerated", []}, + {"Use-Assigned-Address", 534, "Enumerated", []}, + {"User-Priority-Range", 557, "Grouped", []}, + {"VLAN-ID-Range", 552, "Grouped", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"Protocol", [{"PROTOCOL_TODO_CHECK_RFC2780", 0}]}, + {"Direction", + [{"DIRECTION_IN", 0}, + {"DIRECTION_OUT", 1}, + {"DIRECTION_BOTH", 2}]}, + {"Negated", + [{"NEGATED_FALSE", 0}, {"NEGATED_TRUE", 1}]}, + {"Use-Assigned-Address", + [{"USE_ASSIGNED_ADDRESS_FALSE", 0}, + {"USE_ASSIGNED_ADDRESS_TRUE", 1}]}, + {"Diffserv-Code-Point", + [{"DIFFSERV_CODE_POINT_TODO_CHECK_RFC2474", 0}]}, + {"Fragmentation-Flag", + [{"FRAGMENTATION_FLAG_DF", 0}, + {"FRAGMENTATION_FLAG_MF", 1}]}, + {"IP-Option-Type", + [{"IP_OPTION_TYPE_TODO_CHECK_RFC2780", 0}]}, + {"TCP-Option-Type", + [{"TCP_OPTION_TYPE_TODO_CHECK_RFC2780", 0}]}, + {"ICMP-Type-Number", + [{"ICMP_TYPE_NUMBER_TODO_CHECK_RFC2780", 0}]}, + {"ICMP-Code", [{"ICMP_CODE_TODO_CHECK_RFC2780", 0}]}, + {"Timezone-Flag", + [{"TIMEZOME_FLAG_UTC", 0}, + {"TIMEZOME_FLAG_LOCAL", 1}, + {"TIMEZOME_FLAG_OFFSET", 2}]}, + {"Treatment-Action", + [{"TREATMENT_ACTION_DROP", 0}, + {"TREATMENT_ACTION_SHAPE", 1}, + {"TREATMENT_ACTION_MARK", 2}, + {"TREATMENT_ACTION_PERMIT", 3}]}, + {"QoS-Semantics", + [{"QOS_SEMANTICS_DESIRED", 0}, + {"QOS_SEMANTICS_AVAILABLE", 1}, + {"QOS_SEMANTICS_DELIVERED", 2}, + {"QOS_SEMANTICS_MINIMUM", 3}, + {"QOS_SEMANTICS_AUTHORIZE", 4}]}]}, + {grouped, + [{"QoS-Resources", + 508, + [], + [{'*', {"Filter-Rule"}}, {'*', ["AVP"]}]}, + {"Filter-Rule", + 509, + [], + [["Filter-Rule-Precedence"], + ["Classifier"], + {'*', ["Time-Of-Day-Condition"]}, + ["Treatment-Action"], + ["QoS-Semantics"], + ["QoS-Profile-Template"], + ["QoS-Parameters"], + ["Excess-Treatment"], + {'*', ["AVP"]}]}, + {"Classifier", + 511, + [], + [{"Classifier-ID"}, + ["Protocol"], + ["Direction"], + {'*', ["From-Spec"]}, + {'*', ["To-Spec"]}, + {'*', ["Diffserv-Code-Point"]}, + ["Fragmentation-Flag"], + {'*', ["IP-Option"]}, + {'*', ["TCP-Option"]}, + ["TCP-Flags"], + {'*', ["ICMP-Type"]}, + {'*', ["ETH-Option"]}, + {'*', ["AVP"]}]}, + {"From-Spec", + 515, + [], + [{'*', ["IP-Address"]}, + {'*', ["IP-Address-Range"]}, + {'*', ["IP-Address-Mask"]}, + {'*', ["MAC-Address"]}, + {'*', ["MAC-Address-Mask"]}, + {'*', ["EUI64-Address"]}, + {'*', ["EUI64-Address-Mask"]}, + {'*', ["Port"]}, + {'*', ["Port-Range"]}, + ["Negated"], + ["Use-Assigned-Address"], + {'*', ["AVP"]}]}, + {"To-Spec", + 516, + [], + [{'*', ["IP-Address"]}, + {'*', ["IP-Address-Range"]}, + {'*', ["IP-Address-Mask"]}, + {'*', ["MAC-Address"]}, + {'*', ["MAC-Address-Mask"]}, + {'*', ["EUI64-Address"]}, + {'*', ["EUI64-Address-Mask"]}, + {'*', ["Port"]}, + {'*', ["Port-Range"]}, + ["Negated"], + ["Use-Assigned-Address"], + {'*', ["AVP"]}]}, + {"IP-Address-Range", + 519, + [], + [["IP-Address-Start"], + ["IP-Address-End"], + {'*', ["AVP"]}]}, + {"IP-Address-Mask", + 522, + [], + [{"IP-Address"}, + {"IP-Mask-Bit-Mask-Width"}, + {'*', ["AVP"]}]}, + {"MAC-Address-Mask", + 525, + [], + [{"MAC-Address"}, + {"MAC-Address-Mask-Pattern"}, + {'*', ["AVP"]}]}, + {"EUI64-Address-Mask", + 528, + [], + [{"EUI64-Address"}, + {"EUI64-Address-Mask-Pattern"}, + {'*', ["AVP"]}]}, + {"Port-Range", + 531, + [], + [["Port-Start"], ["Port-End"], {'*', ["AVP"]}]}, + {"IP-Option", + 537, + [], + [{"IP-Option-Type"}, + {'*', ["IP-Option-Value"]}, + ["Negated"], + {'*', ["AVP"]}]}, + {"TCP-Option", + 540, + [], + [{"TCP-Option-Type"}, + {'*', ["TCP-Option-Value"]}, + ["Negated"], + {'*', ["AVP"]}]}, + {"TCP-Flags", + 543, + [], + [{"TCP-Flag-Type"}, ["Negated"], {'*', ["AVP"]}]}, + {"ICMP-Type", + 545, + [], + [{"ICMP-Type-Number"}, + {'*', ["ICMP-Code"]}, + ["Negated"], + {'*', ["AVP"]}]}, + {"ETH-Option", + 548, + [], + [{"ETH-Proto-Type"}, + {'*', ["VLAN-ID-Range"]}, + {'*', ["User-Priority-Range"]}, + {'*', ["AVP"]}]}, + {"ETH-Proto-Type", + 549, + [], + [{'*', ["ETH-Ether-Type"]}, + {'*', ["ETH-SAP"]}, + {'*', ["AVP"]}]}, + {"VLAN-ID-Range", + 552, + [], + [["S-VID-Start"], + ["S-VID-End"], + ["C-VID-Start"], + ["C-VID-End"], + {'*', ["AVP"]}]}, + {"User-Priority-Range", + 557, + [], + [{'*', ["Low-User-Priority"]}, + {'*', ["High-User-Priority"]}, + {'*', ["AVP"]}]}, + {"Time-Of-Day-Condition", + 560, + [], + [["Time-Of-Day-Start"], + ["Time-Of-Day-End"], + ["Day-Of-Week-Mask"], + ["Day-Of-Month-Mask"], + ["Month-Of-Year-Mask"], + ["Absolute-Start-Time"], + ["Absolute-End-Time"], + ["Timezone-Flag"], + {'*', ["AVP"]}]}, + {"QoS-Profile-Template", + 574, + [], + [{"Vendor-Id"}, {"QoS-Profile-Id"}, {'*', ["AVP"]}]}, + {"QoS-Parameters", 576, [], [{'*', ["AVP"]}]}, + {"Excess-Treatment", + 577, + [], + [{"Treatment-Action"}, + ["QoS-Profile-Template"], + ["QoS-Parameters"], + {'*', ["AVP"]}]}, + {"QoS-Capability", + 578, + [], + [{'*', {"QoS-Profile-Template"}}, {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + + diff --git a/src/diameter_rfc5778.erl b/src/diameter_rfc5778.erl new file mode 100644 index 0000000..e873228 --- /dev/null +++ b/src/diameter_rfc5778.erl @@ -0,0 +1,749 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc5778). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc5778. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(493, undefined) -> + {'Service-Selection', 'UTF8String'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Service-Selection') -> {493, 64, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Service-Selection', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Service-Selection", 493, "UTF8String", "M"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + + diff --git a/src/diameter_rfc6734.erl b/src/diameter_rfc6734.erl new file mode 100644 index 0000000..5a236bc --- /dev/null +++ b/src/diameter_rfc6734.erl @@ -0,0 +1,816 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc6734). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['Key', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('Key', + {'Key-Type', + 'Keying-Material', + 'Key-Lifetime' = [], + 'Key-Name' = [], + 'Key-SPI' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc6734. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Key') -> 'Key'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(581, undefined) -> {'Key', 'Grouped'}; +avp_name(584, undefined) -> + {'Key-Lifetime', 'Unsigned32'}; +avp_name(586, undefined) -> {'Key-Name', 'OctetString'}; +avp_name(585, undefined) -> {'Key-SPI', 'Unsigned32'}; +avp_name(582, undefined) -> {'Key-Type', 'Enumerated'}; +avp_name(583, undefined) -> + {'Keying-Material', 'OctetString'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Key') -> + [{'Key-Type', 1}, + {'Keying-Material', 1}, + {'Key-Lifetime', {0, 1}}, + {'Key-Name', {0, 1}}, + {'Key-SPI', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Key', 'Key-Type') -> 1; +avp_arity('Key', 'Keying-Material') -> 1; +avp_arity('Key', 'Key-Lifetime') -> {0, 1}; +avp_arity('Key', 'Key-Name') -> {0, 1}; +avp_arity('Key', 'Key-SPI') -> {0, 1}; +avp_arity('Key', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Key') -> {581, 0, undefined}; +avp_header('Key-Lifetime') -> {584, 0, undefined}; +avp_header('Key-Name') -> {586, 0, undefined}; +avp_header('Key-SPI') -> {585, 0, undefined}; +avp_header('Key-Type') -> {582, 0, undefined}; +avp_header('Keying-Material') -> {583, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Key', Opts) -> + grouped_avp(T, 'Key', Data, Opts); +avp(T, Data, 'Key-Lifetime', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Key-Name', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Key-SPI', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Key-Type', _) -> + enumerated_avp(T, 'Key-Type', Data); +avp(T, Data, 'Keying-Material', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'Key-Type', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'Key-Type', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Key-Type', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'Key-Type', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Key-Type', <<0, 0, 0, 2>>) -> 2; +enumerated_avp(encode, 'Key-Type', 2) -> <<0, 0, 0, 2>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Key', Opts) -> empty_group('Key', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Key-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Key", 581, "Grouped", []}, + {"Key-Lifetime", 584, "Unsigned32", []}, + {"Key-Name", 586, "OctetString", []}, + {"Key-SPI", 585, "Unsigned32", []}, + {"Key-Type", 582, "Enumerated", []}, + {"Keying-Material", 583, "OctetString", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"Key-Type", [{"DSRK", 0}, {"RRK", 1}, {"RMSK", 2}]}]}, + {grouped, + [{"Key", + 581, + [], + [{{"Key-Type"}}, + {"Keying-Material"}, + ["Key-Lifetime"], + ["Key-Name"], + ["Key-SPI"], + {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + + diff --git a/src/diameter_rfc6942.erl b/src/diameter_rfc6942.erl new file mode 100644 index 0000000..ea28e1c --- /dev/null +++ b/src/diameter_rfc6942.erl @@ -0,0 +1,769 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc6942). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['ERP-RK-Request', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('ERP-RK-Request', {'ERP-Realm', 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc6942. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('ERP-RK-Request') -> 'ERP-RK-Request'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(618, undefined) -> + {'ERP-RK-Request', 'Grouped'}; +avp_name(619, undefined) -> + {'ERP-Realm', 'DiameterIdentity'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('ERP-RK-Request') -> + [{'ERP-Realm', 1}, {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('ERP-RK-Request', 'ERP-Realm') -> 1; +avp_arity('ERP-RK-Request', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('ERP-RK-Request') -> {618, 0, undefined}; +avp_header('ERP-Realm') -> {619, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'ERP-RK-Request', Opts) -> + grouped_avp(T, 'ERP-RK-Request', Data, Opts); +avp(T, Data, 'ERP-Realm', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('ERP-RK-Request', Opts) -> + empty_group('ERP-RK-Request', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"ERP-RK-Request", 618, "Grouped", []}, + {"ERP-Realm", 619, "DiameterIdentity", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, + [{"ERP-RK-Request", + 618, + [], + [{"ERP-Realm"}, {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + + diff --git a/src/diameter_rfc7155.erl b/src/diameter_rfc7155.erl new file mode 100644 index 0000000..40d9358 --- /dev/null +++ b/src/diameter_rfc7155.erl @@ -0,0 +1,845 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc7155). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['diameter_Proxy-Info', + 'diameter_Failed-AVP', + 'diameter_Experimental-Result', + 'diameter_Vendor-Specific-Application-Id']). + +-record('diameter_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_Failed-AVP', {'AVP' = []}). + +-record('diameter_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc7155. + +id() -> 1. + +vendor_id() -> 0. + +vendor_name() -> 'IETF'. + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'diameter_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(37, undefined) -> + {'Framed-AppleTalk-Link', 'Unsigned32'}; +avp_name(38, undefined) -> + {'Framed-AppleTalk-Network', 'Unsigned32'}; +avp_name(39, undefined) -> + {'Framed-AppleTalk-Zone', 'OctetString'}; +avp_name(13, undefined) -> + {'Framed-Compression', 'Enumerated'}; +avp_name(8, undefined) -> + {'Framed-IP-Address', 'OctetString'}; +avp_name(9, undefined) -> + {'Framed-IP-Netmask', 'OctetString'}; +avp_name(23, undefined) -> + {'Framed-IPX-Network', 'Unsigned32'}; +avp_name(100, undefined) -> + {'Framed-IPv6-Pool', 'OctetString'}; +avp_name(97, undefined) -> + {'Framed-IPv6-Prefix', 'OctetString'}; +avp_name(99, undefined) -> + {'Framed-IPv6-Route', 'UTF8String'}; +avp_name(96, undefined) -> + {'Framed-Interface-Id', 'Unsigned64'}; +avp_name(12, undefined) -> {'Framed-MTU', 'Unsigned32'}; +avp_name(88, undefined) -> + {'Framed-Pool', 'OctetString'}; +avp_name(7, undefined) -> + {'Framed-Protocol', 'Enumerated'}; +avp_name(22, undefined) -> + {'Framed-Route', 'UTF8String'}; +avp_name(10, undefined) -> + {'Framed-Routing', 'Enumerated'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Framed-AppleTalk-Link') -> + {37, 64, undefined}; +avp_header('Framed-AppleTalk-Network') -> + {38, 64, undefined}; +avp_header('Framed-AppleTalk-Zone') -> + {39, 64, undefined}; +avp_header('Framed-Compression') -> {13, 64, undefined}; +avp_header('Framed-IP-Address') -> {8, 64, undefined}; +avp_header('Framed-IP-Netmask') -> {9, 64, undefined}; +avp_header('Framed-IPX-Network') -> {23, 64, undefined}; +avp_header('Framed-IPv6-Pool') -> {100, 64, undefined}; +avp_header('Framed-IPv6-Prefix') -> {97, 64, undefined}; +avp_header('Framed-IPv6-Route') -> {99, 64, undefined}; +avp_header('Framed-Interface-Id') -> + {96, 64, undefined}; +avp_header('Framed-MTU') -> {12, 64, undefined}; +avp_header('Framed-Pool') -> {88, 64, undefined}; +avp_header('Framed-Protocol') -> {7, 64, undefined}; +avp_header('Framed-Route') -> {22, 64, undefined}; +avp_header('Framed-Routing') -> {10, 64, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Framed-AppleTalk-Link', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Framed-AppleTalk-Network', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Framed-AppleTalk-Zone', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-Compression', _) -> + enumerated_avp(T, 'Framed-Compression', Data); +avp(T, Data, 'Framed-IP-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IP-Netmask', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IPX-Network', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Framed-IPv6-Pool', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IPv6-Prefix', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-IPv6-Route', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Framed-Interface-Id', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Framed-MTU', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Framed-Pool', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Framed-Protocol', _) -> + enumerated_avp(T, 'Framed-Protocol', Data); +avp(T, Data, 'Framed-Route', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Framed-Routing', _) -> + enumerated_avp(T, 'Framed-Routing', Data); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Framed-AppleTalk-Link", 37, "Unsigned32", "M"}, + {"Framed-AppleTalk-Network", 38, "Unsigned32", "M"}, + {"Framed-AppleTalk-Zone", 39, "OctetString", "M"}, + {"Framed-Compression", 13, "Enumerated", "M"}, + {"Framed-IP-Address", 8, "OctetString", "M"}, + {"Framed-IP-Netmask", 9, "OctetString", "M"}, + {"Framed-IPX-Network", 23, "Unsigned32", "M"}, + {"Framed-IPv6-Pool", 100, "OctetString", "M"}, + {"Framed-IPv6-Prefix", 97, "OctetString", "M"}, + {"Framed-IPv6-Route", 99, "UTF8String", "M"}, + {"Framed-Interface-Id", 96, "Unsigned64", "M"}, + {"Framed-MTU", 12, "Unsigned32", "M"}, + {"Framed-Pool", 88, "OctetString", "M"}, + {"Framed-Protocol", 7, "Enumerated", "M"}, + {"Framed-Route", 22, "UTF8String", "M"}, + {"Framed-Routing", 10, "Enumerated", "M"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, []}, + {grouped, []}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}, + {name, "diameter_rfc7155"}, + {prefix, "diameter"}, + {vendor, {0, "IETF"}}]. + + diff --git a/src/diameter_rfc7155_nasreq.erl b/src/diameter_rfc7155_nasreq.erl new file mode 100644 index 0000000..b1c3430 --- /dev/null +++ b/src/diameter_rfc7155_nasreq.erl @@ -0,0 +1,2475 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc7155_nasreq). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records([diameter_nasreq_ACR, + diameter_nasreq_ACA, + diameter_nasreq_Tunneling, + 'diameter_nasreq_Proxy-Info', + 'diameter_nasreq_Failed-AVP', + 'diameter_nasreq_Experimental-Result', + 'diameter_nasreq_Vendor-Specific-Application-Id']). + +-record(diameter_nasreq_ACR, + {'Session-Id', + 'Origin-Host', + 'Origin-Realm', + 'Destination-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id', + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'Destination-Host' = [], + 'Event-Timestamp' = [], + 'Acct-Delay-Time' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Class' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Input-Octets' = [], + 'Accounting-Input-Packets' = [], + 'Accounting-Output-Octets' = [], + 'Accounting-Output-Packets' = [], + 'Acct-Authentic' = [], + 'Accounting-Auth-Method' = [], + 'Acct-Link-Count' = [], + 'Acct-Session-Time' = [], + 'Acct-Tunnel-Connection' = [], + 'Acct-Tunnel-Packets-Lost' = [], + 'Callback-Id' = [], + 'Callback-Number' = [], + 'Called-Station-Id' = [], + 'Calling-Station-Id' = [], + 'Connect-Info' = [], + 'Originating-Line-Info' = [], + 'Authorization-Lifetime' = [], + 'Session-Timeout' = [], + 'Idle-Timeout' = [], + 'Port-Limit' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Filter-Id' = [], + 'NAS-Filter-Rule' = [], + 'QoS-Filter-Rule' = [], + 'Framed-AppleTalk-Link' = [], + 'Framed-AppleTalk-Network' = [], + 'Framed-AppleTalk-Zone' = [], + 'Framed-Compression' = [], + 'Framed-Interface-Id' = [], + 'Framed-IP-Address' = [], + 'Framed-IP-Netmask' = [], + 'Framed-IPv6-Prefix' = [], + 'Framed-IPv6-Pool' = [], + 'Framed-IPv6-Route' = [], + 'Framed-IPX-Network' = [], + 'Framed-MTU' = [], + 'Framed-Pool' = [], + 'Framed-Protocol' = [], + 'Framed-Route' = [], + 'Framed-Routing' = [], + 'Login-IP-Host' = [], + 'Login-IPv6-Host' = [], + 'Login-LAT-Group' = [], + 'Login-LAT-Node' = [], + 'Login-LAT-Port' = [], + 'Login-LAT-Service' = [], + 'Login-Service' = [], + 'Login-TCP-Port' = [], + 'Tunneling' = [], + 'Proxy-Info' = [], + 'Route-Record' = [], + 'AVP' = []}). + +-record(diameter_nasreq_ACA, + {'Session-Id', + 'Result-Code', + 'Origin-Host', + 'Origin-Realm', + 'Accounting-Record-Type', + 'Accounting-Record-Number', + 'Acct-Application-Id', + 'User-Name' = [], + 'Accounting-Sub-Session-Id' = [], + 'Acct-Session-Id' = [], + 'Acct-Multi-Session-Id' = [], + 'Event-Timestamp' = [], + 'Error-Message' = [], + 'Error-Reporting-Host' = [], + 'Failed-AVP' = [], + 'Origin-AAA-Protocol' = [], + 'Origin-State-Id' = [], + 'NAS-Identifier' = [], + 'NAS-IP-Address' = [], + 'NAS-IPv6-Address' = [], + 'NAS-Port' = [], + 'NAS-Port-Id' = [], + 'NAS-Port-Type' = [], + 'Service-Type' = [], + 'Termination-Cause' = [], + 'Accounting-Realtime-Required' = [], + 'Acct-Interim-Interval' = [], + 'Class' = [], + 'Proxy-Info' = [], + 'AVP' = []}). + +-record(diameter_nasreq_Tunneling, + {'Tunnel-Type', + 'Tunnel-Medium-Type', + 'Tunnel-Client-Endpoint', + 'Tunnel-Server-Endpoint', + 'Tunnel-Preference' = [], + 'Tunnel-Client-Auth-Id' = [], + 'Tunnel-Server-Auth-Id' = [], + 'Tunnel-Assignment-Id' = [], + 'Tunnel-Password' = [], + 'Tunnel-Private-Group-Id' = []}). + +-record('diameter_nasreq_Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('diameter_nasreq_Failed-AVP', {'AVP' = []}). + +-record('diameter_nasreq_Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('diameter_nasreq_Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc7155_nasreq. + +id() -> 1. + +vendor_id() -> 0. + +vendor_name() -> 'IETF'. + +msg_name(271, true) -> 'ACR'; +msg_name(271, false) -> 'ACA'; +msg_name(_, _) -> ''. + +msg_header('ACR') -> {271, 192, 1}; +msg_header('ACA') -> {271, 64, 1}; +msg_header(_) -> erlang:error(badarg). + +rec2msg(diameter_nasreq_ACR) -> 'ACR'; +rec2msg(diameter_nasreq_ACA) -> 'ACA'; +rec2msg(_) -> erlang:error(badarg). + +msg2rec('ACR') -> diameter_nasreq_ACR; +msg2rec('ACA') -> diameter_nasreq_ACA; +msg2rec(_) -> erlang:error(badarg). + +name2rec('Tunneling') -> diameter_nasreq_Tunneling; +name2rec('Proxy-Info') -> 'diameter_nasreq_Proxy-Info'; +name2rec('Failed-AVP') -> 'diameter_nasreq_Failed-AVP'; +name2rec('Experimental-Result') -> + 'diameter_nasreq_Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'diameter_nasreq_Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(406, undefined) -> + {'Accounting-Auth-Method', 'Enumerated'}; +avp_name(363, undefined) -> + {'Accounting-Input-Octets', 'Unsigned64'}; +avp_name(365, undefined) -> + {'Accounting-Input-Packets', 'Unsigned64'}; +avp_name(364, undefined) -> + {'Accounting-Output-Octets', 'Unsigned64'}; +avp_name(366, undefined) -> + {'Accounting-Output-Packets', 'Unsigned64'}; +avp_name(45, undefined) -> + {'Acct-Authentic', 'Enumerated'}; +avp_name(41, undefined) -> + {'Acct-Delay-Time', 'Unsigned32'}; +avp_name(51, undefined) -> + {'Acct-Link-Count', 'Unsigned32'}; +avp_name(46, undefined) -> + {'Acct-Session-Time', 'Unsigned32'}; +avp_name(68, undefined) -> + {'Acct-Tunnel-Connection', 'OctetString'}; +avp_name(86, undefined) -> + {'Acct-Tunnel-Packets-Lost', 'Unsigned32'}; +avp_name(20, undefined) -> + {'Callback-Id', 'UTF8String'}; +avp_name(19, undefined) -> + {'Callback-Number', 'UTF8String'}; +avp_name(30, undefined) -> + {'Called-Station-Id', 'UTF8String'}; +avp_name(31, undefined) -> + {'Calling-Station-Id', 'UTF8String'}; +avp_name(77, undefined) -> + {'Connect-Info', 'UTF8String'}; +avp_name(11, undefined) -> {'Filter-Id', 'UTF8String'}; +avp_name(28, undefined) -> + {'Idle-Timeout', 'Unsigned32'}; +avp_name(14, undefined) -> + {'Login-IP-Host', 'OctetString'}; +avp_name(98, undefined) -> + {'Login-IPv6-Host', 'OctetString'}; +avp_name(36, undefined) -> + {'Login-LAT-Group', 'OctetString'}; +avp_name(35, undefined) -> + {'Login-LAT-Node', 'OctetString'}; +avp_name(63, undefined) -> + {'Login-LAT-Port', 'OctetString'}; +avp_name(34, undefined) -> + {'Login-LAT-Service', 'OctetString'}; +avp_name(15, undefined) -> + {'Login-Service', 'Enumerated'}; +avp_name(16, undefined) -> + {'Login-TCP-Port', 'Unsigned32'}; +avp_name(400, undefined) -> + {'NAS-Filter-Rule', 'IPFilterRule'}; +avp_name(4, undefined) -> + {'NAS-IP-Address', 'OctetString'}; +avp_name(95, undefined) -> + {'NAS-IPv6-Address', 'OctetString'}; +avp_name(32, undefined) -> + {'NAS-Identifier', 'UTF8String'}; +avp_name(5, undefined) -> {'NAS-Port', 'Unsigned32'}; +avp_name(87, undefined) -> + {'NAS-Port-Id', 'UTF8String'}; +avp_name(61, undefined) -> + {'NAS-Port-Type', 'Enumerated'}; +avp_name(408, undefined) -> + {'Origin-AAA-Protocol', 'Enumerated'}; +avp_name(94, undefined) -> + {'Originating-Line-Info', 'OctetString'}; +avp_name(62, undefined) -> {'Port-Limit', 'Unsigned32'}; +avp_name(407, undefined) -> + {'QoS-Filter-Rule', 'QoSFilterRule'}; +avp_name(6, undefined) -> + {'Service-Type', 'Enumerated'}; +avp_name(82, undefined) -> + {'Tunnel-Assignment-Id', 'OctetString'}; +avp_name(90, undefined) -> + {'Tunnel-Client-Auth-Id', 'UTF8String'}; +avp_name(66, undefined) -> + {'Tunnel-Client-Endpoint', 'UTF8String'}; +avp_name(65, undefined) -> + {'Tunnel-Medium-Type', 'Enumerated'}; +avp_name(69, undefined) -> + {'Tunnel-Password', 'OctetString'}; +avp_name(83, undefined) -> + {'Tunnel-Preference', 'Unsigned32'}; +avp_name(81, undefined) -> + {'Tunnel-Private-Group-Id', 'OctetString'}; +avp_name(91, undefined) -> + {'Tunnel-Server-Auth-Id', 'UTF8String'}; +avp_name(67, undefined) -> + {'Tunnel-Server-Endpoint', 'UTF8String'}; +avp_name(64, undefined) -> + {'Tunnel-Type', 'Enumerated'}; +avp_name(401, undefined) -> {'Tunneling', 'Grouped'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(37, undefined) -> + {'Framed-AppleTalk-Link', 'Unsigned32'}; +avp_name(38, undefined) -> + {'Framed-AppleTalk-Network', 'Unsigned32'}; +avp_name(39, undefined) -> + {'Framed-AppleTalk-Zone', 'OctetString'}; +avp_name(13, undefined) -> + {'Framed-Compression', 'Enumerated'}; +avp_name(8, undefined) -> + {'Framed-IP-Address', 'OctetString'}; +avp_name(9, undefined) -> + {'Framed-IP-Netmask', 'OctetString'}; +avp_name(23, undefined) -> + {'Framed-IPX-Network', 'Unsigned32'}; +avp_name(100, undefined) -> + {'Framed-IPv6-Pool', 'OctetString'}; +avp_name(97, undefined) -> + {'Framed-IPv6-Prefix', 'OctetString'}; +avp_name(99, undefined) -> + {'Framed-IPv6-Route', 'UTF8String'}; +avp_name(96, undefined) -> + {'Framed-Interface-Id', 'Unsigned64'}; +avp_name(12, undefined) -> {'Framed-MTU', 'Unsigned32'}; +avp_name(88, undefined) -> + {'Framed-Pool', 'OctetString'}; +avp_name(7, undefined) -> + {'Framed-Protocol', 'Enumerated'}; +avp_name(22, undefined) -> + {'Framed-Route', 'UTF8String'}; +avp_name(10, undefined) -> + {'Framed-Routing', 'Enumerated'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('ACR') -> + [{'Session-Id', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Destination-Realm', 1}, + {'Accounting-Record-Type', 1}, + {'Accounting-Record-Number', 1}, + {'Acct-Application-Id', 1}, + {'User-Name', {0, 1}}, + {'Accounting-Sub-Session-Id', {0, 1}}, + {'Acct-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'Destination-Host', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Acct-Delay-Time', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Class', {0, '*'}}, + {'Service-Type', {0, 1}}, + {'Termination-Cause', {0, 1}}, + {'Accounting-Input-Octets', {0, 1}}, + {'Accounting-Input-Packets', {0, 1}}, + {'Accounting-Output-Octets', {0, 1}}, + {'Accounting-Output-Packets', {0, 1}}, + {'Acct-Authentic', {0, 1}}, + {'Accounting-Auth-Method', {0, 1}}, + {'Acct-Link-Count', {0, 1}}, + {'Acct-Session-Time', {0, 1}}, + {'Acct-Tunnel-Connection', {0, 1}}, + {'Acct-Tunnel-Packets-Lost', {0, 1}}, + {'Callback-Id', {0, 1}}, + {'Callback-Number', {0, 1}}, + {'Called-Station-Id', {0, 1}}, + {'Calling-Station-Id', {0, 1}}, + {'Connect-Info', {0, '*'}}, + {'Originating-Line-Info', {0, 1}}, + {'Authorization-Lifetime', {0, 1}}, + {'Session-Timeout', {0, 1}}, + {'Idle-Timeout', {0, 1}}, + {'Port-Limit', {0, 1}}, + {'Accounting-Realtime-Required', {0, 1}}, + {'Acct-Interim-Interval', {0, 1}}, + {'Filter-Id', {0, '*'}}, + {'NAS-Filter-Rule', {0, '*'}}, + {'QoS-Filter-Rule', {0, '*'}}, + {'Framed-AppleTalk-Link', {0, 1}}, + {'Framed-AppleTalk-Network', {0, 1}}, + {'Framed-AppleTalk-Zone', {0, 1}}, + {'Framed-Compression', {0, 1}}, + {'Framed-Interface-Id', {0, 1}}, + {'Framed-IP-Address', {0, 1}}, + {'Framed-IP-Netmask', {0, 1}}, + {'Framed-IPv6-Prefix', {0, '*'}}, + {'Framed-IPv6-Pool', {0, 1}}, + {'Framed-IPv6-Route', {0, '*'}}, + {'Framed-IPX-Network', {0, 1}}, + {'Framed-MTU', {0, 1}}, + {'Framed-Pool', {0, 1}}, + {'Framed-Protocol', {0, 1}}, + {'Framed-Route', {0, '*'}}, + {'Framed-Routing', {0, 1}}, + {'Login-IP-Host', {0, '*'}}, + {'Login-IPv6-Host', {0, '*'}}, + {'Login-LAT-Group', {0, 1}}, + {'Login-LAT-Node', {0, 1}}, + {'Login-LAT-Port', {0, 1}}, + {'Login-LAT-Service', {0, 1}}, + {'Login-Service', {0, 1}}, + {'Login-TCP-Port', {0, 1}}, + {'Tunneling', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'Route-Record', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('ACA') -> + [{'Session-Id', 1}, + {'Result-Code', 1}, + {'Origin-Host', 1}, + {'Origin-Realm', 1}, + {'Accounting-Record-Type', 1}, + {'Accounting-Record-Number', 1}, + {'Acct-Application-Id', 1}, + {'User-Name', {0, 1}}, + {'Accounting-Sub-Session-Id', {0, 1}}, + {'Acct-Session-Id', {0, 1}}, + {'Acct-Multi-Session-Id', {0, 1}}, + {'Event-Timestamp', {0, 1}}, + {'Error-Message', {0, 1}}, + {'Error-Reporting-Host', {0, 1}}, + {'Failed-AVP', {0, '*'}}, + {'Origin-AAA-Protocol', {0, 1}}, + {'Origin-State-Id', {0, 1}}, + {'NAS-Identifier', {0, 1}}, + {'NAS-IP-Address', {0, 1}}, + {'NAS-IPv6-Address', {0, 1}}, + {'NAS-Port', {0, 1}}, + {'NAS-Port-Id', {0, 1}}, + {'NAS-Port-Type', {0, 1}}, + {'Service-Type', {0, 1}}, + {'Termination-Cause', {0, 1}}, + {'Accounting-Realtime-Required', {0, 1}}, + {'Acct-Interim-Interval', {0, 1}}, + {'Class', {0, '*'}}, + {'Proxy-Info', {0, '*'}}, + {'AVP', {0, '*'}}]; +avp_arity('Tunneling') -> + [{'Tunnel-Type', 1}, + {'Tunnel-Medium-Type', 1}, + {'Tunnel-Client-Endpoint', 1}, + {'Tunnel-Server-Endpoint', 1}, + {'Tunnel-Preference', {0, 1}}, + {'Tunnel-Client-Auth-Id', {0, 1}}, + {'Tunnel-Server-Auth-Id', {0, 1}}, + {'Tunnel-Assignment-Id', {0, 1}}, + {'Tunnel-Password', {0, 1}}, + {'Tunnel-Private-Group-Id', {0, 1}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('ACR', 'Session-Id') -> 1; +avp_arity('ACR', 'Origin-Host') -> 1; +avp_arity('ACR', 'Origin-Realm') -> 1; +avp_arity('ACR', 'Destination-Realm') -> 1; +avp_arity('ACR', 'Accounting-Record-Type') -> 1; +avp_arity('ACR', 'Accounting-Record-Number') -> 1; +avp_arity('ACR', 'Acct-Application-Id') -> 1; +avp_arity('ACR', 'User-Name') -> {0, 1}; +avp_arity('ACR', 'Accounting-Sub-Session-Id') -> {0, 1}; +avp_arity('ACR', 'Acct-Session-Id') -> {0, 1}; +avp_arity('ACR', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('ACR', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('ACR', 'Origin-State-Id') -> {0, 1}; +avp_arity('ACR', 'Destination-Host') -> {0, 1}; +avp_arity('ACR', 'Event-Timestamp') -> {0, 1}; +avp_arity('ACR', 'Acct-Delay-Time') -> {0, 1}; +avp_arity('ACR', 'NAS-Identifier') -> {0, 1}; +avp_arity('ACR', 'NAS-IP-Address') -> {0, 1}; +avp_arity('ACR', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('ACR', 'NAS-Port') -> {0, 1}; +avp_arity('ACR', 'NAS-Port-Id') -> {0, 1}; +avp_arity('ACR', 'NAS-Port-Type') -> {0, 1}; +avp_arity('ACR', 'Class') -> {0, '*'}; +avp_arity('ACR', 'Service-Type') -> {0, 1}; +avp_arity('ACR', 'Termination-Cause') -> {0, 1}; +avp_arity('ACR', 'Accounting-Input-Octets') -> {0, 1}; +avp_arity('ACR', 'Accounting-Input-Packets') -> {0, 1}; +avp_arity('ACR', 'Accounting-Output-Octets') -> {0, 1}; +avp_arity('ACR', 'Accounting-Output-Packets') -> {0, 1}; +avp_arity('ACR', 'Acct-Authentic') -> {0, 1}; +avp_arity('ACR', 'Accounting-Auth-Method') -> {0, 1}; +avp_arity('ACR', 'Acct-Link-Count') -> {0, 1}; +avp_arity('ACR', 'Acct-Session-Time') -> {0, 1}; +avp_arity('ACR', 'Acct-Tunnel-Connection') -> {0, 1}; +avp_arity('ACR', 'Acct-Tunnel-Packets-Lost') -> {0, 1}; +avp_arity('ACR', 'Callback-Id') -> {0, 1}; +avp_arity('ACR', 'Callback-Number') -> {0, 1}; +avp_arity('ACR', 'Called-Station-Id') -> {0, 1}; +avp_arity('ACR', 'Calling-Station-Id') -> {0, 1}; +avp_arity('ACR', 'Connect-Info') -> {0, '*'}; +avp_arity('ACR', 'Originating-Line-Info') -> {0, 1}; +avp_arity('ACR', 'Authorization-Lifetime') -> {0, 1}; +avp_arity('ACR', 'Session-Timeout') -> {0, 1}; +avp_arity('ACR', 'Idle-Timeout') -> {0, 1}; +avp_arity('ACR', 'Port-Limit') -> {0, 1}; +avp_arity('ACR', 'Accounting-Realtime-Required') -> + {0, 1}; +avp_arity('ACR', 'Acct-Interim-Interval') -> {0, 1}; +avp_arity('ACR', 'Filter-Id') -> {0, '*'}; +avp_arity('ACR', 'NAS-Filter-Rule') -> {0, '*'}; +avp_arity('ACR', 'QoS-Filter-Rule') -> {0, '*'}; +avp_arity('ACR', 'Framed-AppleTalk-Link') -> {0, 1}; +avp_arity('ACR', 'Framed-AppleTalk-Network') -> {0, 1}; +avp_arity('ACR', 'Framed-AppleTalk-Zone') -> {0, 1}; +avp_arity('ACR', 'Framed-Compression') -> {0, 1}; +avp_arity('ACR', 'Framed-Interface-Id') -> {0, 1}; +avp_arity('ACR', 'Framed-IP-Address') -> {0, 1}; +avp_arity('ACR', 'Framed-IP-Netmask') -> {0, 1}; +avp_arity('ACR', 'Framed-IPv6-Prefix') -> {0, '*'}; +avp_arity('ACR', 'Framed-IPv6-Pool') -> {0, 1}; +avp_arity('ACR', 'Framed-IPv6-Route') -> {0, '*'}; +avp_arity('ACR', 'Framed-IPX-Network') -> {0, 1}; +avp_arity('ACR', 'Framed-MTU') -> {0, 1}; +avp_arity('ACR', 'Framed-Pool') -> {0, 1}; +avp_arity('ACR', 'Framed-Protocol') -> {0, 1}; +avp_arity('ACR', 'Framed-Route') -> {0, '*'}; +avp_arity('ACR', 'Framed-Routing') -> {0, 1}; +avp_arity('ACR', 'Login-IP-Host') -> {0, '*'}; +avp_arity('ACR', 'Login-IPv6-Host') -> {0, '*'}; +avp_arity('ACR', 'Login-LAT-Group') -> {0, 1}; +avp_arity('ACR', 'Login-LAT-Node') -> {0, 1}; +avp_arity('ACR', 'Login-LAT-Port') -> {0, 1}; +avp_arity('ACR', 'Login-LAT-Service') -> {0, 1}; +avp_arity('ACR', 'Login-Service') -> {0, 1}; +avp_arity('ACR', 'Login-TCP-Port') -> {0, 1}; +avp_arity('ACR', 'Tunneling') -> {0, '*'}; +avp_arity('ACR', 'Proxy-Info') -> {0, '*'}; +avp_arity('ACR', 'Route-Record') -> {0, '*'}; +avp_arity('ACR', 'AVP') -> {0, '*'}; +avp_arity('ACA', 'Session-Id') -> 1; +avp_arity('ACA', 'Result-Code') -> 1; +avp_arity('ACA', 'Origin-Host') -> 1; +avp_arity('ACA', 'Origin-Realm') -> 1; +avp_arity('ACA', 'Accounting-Record-Type') -> 1; +avp_arity('ACA', 'Accounting-Record-Number') -> 1; +avp_arity('ACA', 'Acct-Application-Id') -> 1; +avp_arity('ACA', 'User-Name') -> {0, 1}; +avp_arity('ACA', 'Accounting-Sub-Session-Id') -> {0, 1}; +avp_arity('ACA', 'Acct-Session-Id') -> {0, 1}; +avp_arity('ACA', 'Acct-Multi-Session-Id') -> {0, 1}; +avp_arity('ACA', 'Event-Timestamp') -> {0, 1}; +avp_arity('ACA', 'Error-Message') -> {0, 1}; +avp_arity('ACA', 'Error-Reporting-Host') -> {0, 1}; +avp_arity('ACA', 'Failed-AVP') -> {0, '*'}; +avp_arity('ACA', 'Origin-AAA-Protocol') -> {0, 1}; +avp_arity('ACA', 'Origin-State-Id') -> {0, 1}; +avp_arity('ACA', 'NAS-Identifier') -> {0, 1}; +avp_arity('ACA', 'NAS-IP-Address') -> {0, 1}; +avp_arity('ACA', 'NAS-IPv6-Address') -> {0, 1}; +avp_arity('ACA', 'NAS-Port') -> {0, 1}; +avp_arity('ACA', 'NAS-Port-Id') -> {0, 1}; +avp_arity('ACA', 'NAS-Port-Type') -> {0, 1}; +avp_arity('ACA', 'Service-Type') -> {0, 1}; +avp_arity('ACA', 'Termination-Cause') -> {0, 1}; +avp_arity('ACA', 'Accounting-Realtime-Required') -> + {0, 1}; +avp_arity('ACA', 'Acct-Interim-Interval') -> {0, 1}; +avp_arity('ACA', 'Class') -> {0, '*'}; +avp_arity('ACA', 'Proxy-Info') -> {0, '*'}; +avp_arity('ACA', 'AVP') -> {0, '*'}; +avp_arity('Tunneling', 'Tunnel-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Medium-Type') -> 1; +avp_arity('Tunneling', 'Tunnel-Client-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Server-Endpoint') -> 1; +avp_arity('Tunneling', 'Tunnel-Preference') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Client-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Server-Auth-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Assignment-Id') -> + {0, 1}; +avp_arity('Tunneling', 'Tunnel-Password') -> {0, 1}; +avp_arity('Tunneling', 'Tunnel-Private-Group-Id') -> + {0, 1}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Accounting-Auth-Method') -> + {406, 64, undefined}; +avp_header('Accounting-Input-Octets') -> + {363, 64, undefined}; +avp_header('Accounting-Input-Packets') -> + {365, 64, undefined}; +avp_header('Accounting-Output-Octets') -> + {364, 64, undefined}; +avp_header('Accounting-Output-Packets') -> + {366, 64, undefined}; +avp_header('Acct-Authentic') -> {45, 64, undefined}; +avp_header('Acct-Delay-Time') -> {41, 64, undefined}; +avp_header('Acct-Link-Count') -> {51, 64, undefined}; +avp_header('Acct-Session-Time') -> {46, 64, undefined}; +avp_header('Acct-Tunnel-Connection') -> + {68, 64, undefined}; +avp_header('Acct-Tunnel-Packets-Lost') -> + {86, 64, undefined}; +avp_header('Callback-Id') -> {20, 64, undefined}; +avp_header('Callback-Number') -> {19, 64, undefined}; +avp_header('Called-Station-Id') -> {30, 64, undefined}; +avp_header('Calling-Station-Id') -> {31, 64, undefined}; +avp_header('Connect-Info') -> {77, 64, undefined}; +avp_header('Filter-Id') -> {11, 64, undefined}; +avp_header('Idle-Timeout') -> {28, 64, undefined}; +avp_header('Login-IP-Host') -> {14, 64, undefined}; +avp_header('Login-IPv6-Host') -> {98, 64, undefined}; +avp_header('Login-LAT-Group') -> {36, 64, undefined}; +avp_header('Login-LAT-Node') -> {35, 64, undefined}; +avp_header('Login-LAT-Port') -> {63, 64, undefined}; +avp_header('Login-LAT-Service') -> {34, 64, undefined}; +avp_header('Login-Service') -> {15, 64, undefined}; +avp_header('Login-TCP-Port') -> {16, 64, undefined}; +avp_header('NAS-Filter-Rule') -> {400, 64, undefined}; +avp_header('NAS-IP-Address') -> {4, 64, undefined}; +avp_header('NAS-IPv6-Address') -> {95, 64, undefined}; +avp_header('NAS-Identifier') -> {32, 64, undefined}; +avp_header('NAS-Port') -> {5, 64, undefined}; +avp_header('NAS-Port-Id') -> {87, 64, undefined}; +avp_header('NAS-Port-Type') -> {61, 64, undefined}; +avp_header('Origin-AAA-Protocol') -> + {408, 64, undefined}; +avp_header('Originating-Line-Info') -> + {94, 64, undefined}; +avp_header('Port-Limit') -> {62, 64, undefined}; +avp_header('QoS-Filter-Rule') -> {407, 64, undefined}; +avp_header('Service-Type') -> {6, 64, undefined}; +avp_header('Tunnel-Assignment-Id') -> + {82, 64, undefined}; +avp_header('Tunnel-Client-Auth-Id') -> + {90, 64, undefined}; +avp_header('Tunnel-Client-Endpoint') -> + {66, 64, undefined}; +avp_header('Tunnel-Medium-Type') -> {65, 64, undefined}; +avp_header('Tunnel-Password') -> {69, 64, undefined}; +avp_header('Tunnel-Preference') -> {83, 64, undefined}; +avp_header('Tunnel-Private-Group-Id') -> + {81, 64, undefined}; +avp_header('Tunnel-Server-Auth-Id') -> + {91, 64, undefined}; +avp_header('Tunnel-Server-Endpoint') -> + {67, 64, undefined}; +avp_header('Tunnel-Type') -> {64, 64, undefined}; +avp_header('Tunneling') -> {401, 64, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header('Framed-AppleTalk-Link') -> + diameter_rfc7155:avp_header('Framed-AppleTalk-Link'); +avp_header('Framed-AppleTalk-Network') -> + diameter_rfc7155:avp_header('Framed-AppleTalk-Network'); +avp_header('Framed-AppleTalk-Zone') -> + diameter_rfc7155:avp_header('Framed-AppleTalk-Zone'); +avp_header('Framed-Compression') -> + diameter_rfc7155:avp_header('Framed-Compression'); +avp_header('Framed-IP-Address') -> + diameter_rfc7155:avp_header('Framed-IP-Address'); +avp_header('Framed-IP-Netmask') -> + diameter_rfc7155:avp_header('Framed-IP-Netmask'); +avp_header('Framed-IPX-Network') -> + diameter_rfc7155:avp_header('Framed-IPX-Network'); +avp_header('Framed-IPv6-Pool') -> + diameter_rfc7155:avp_header('Framed-IPv6-Pool'); +avp_header('Framed-IPv6-Prefix') -> + diameter_rfc7155:avp_header('Framed-IPv6-Prefix'); +avp_header('Framed-IPv6-Route') -> + diameter_rfc7155:avp_header('Framed-IPv6-Route'); +avp_header('Framed-Interface-Id') -> + diameter_rfc7155:avp_header('Framed-Interface-Id'); +avp_header('Framed-MTU') -> + diameter_rfc7155:avp_header('Framed-MTU'); +avp_header('Framed-Pool') -> + diameter_rfc7155:avp_header('Framed-Pool'); +avp_header('Framed-Protocol') -> + diameter_rfc7155:avp_header('Framed-Protocol'); +avp_header('Framed-Route') -> + diameter_rfc7155:avp_header('Framed-Route'); +avp_header('Framed-Routing') -> + diameter_rfc7155:avp_header('Framed-Routing'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Accounting-Auth-Method', _) -> + enumerated_avp(T, 'Accounting-Auth-Method', Data); +avp(T, Data, 'Accounting-Input-Octets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Accounting-Input-Packets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Accounting-Output-Octets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Accounting-Output-Packets', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'Acct-Authentic', _) -> + enumerated_avp(T, 'Acct-Authentic', Data); +avp(T, Data, 'Acct-Delay-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Acct-Link-Count', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Acct-Session-Time', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Acct-Tunnel-Connection', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Acct-Tunnel-Packets-Lost', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Callback-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Callback-Number', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Called-Station-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Calling-Station-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Connect-Info', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Filter-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Idle-Timeout', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Login-IP-Host', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-IPv6-Host', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Group', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Node', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Port', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-LAT-Service', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Login-Service', _) -> + enumerated_avp(T, 'Login-Service', Data); +avp(T, Data, 'Login-TCP-Port', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'NAS-Filter-Rule', Opts) -> + diameter_types:'IPFilterRule'(T, Data, Opts); +avp(T, Data, 'NAS-IP-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'NAS-IPv6-Address', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'NAS-Identifier', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'NAS-Port', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'NAS-Port-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'NAS-Port-Type', _) -> + enumerated_avp(T, 'NAS-Port-Type', Data); +avp(T, Data, 'Origin-AAA-Protocol', _) -> + enumerated_avp(T, 'Origin-AAA-Protocol', Data); +avp(T, Data, 'Originating-Line-Info', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Port-Limit', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'QoS-Filter-Rule', Opts) -> + diameter_types:'QoSFilterRule'(T, Data, Opts); +avp(T, Data, 'Service-Type', _) -> + enumerated_avp(T, 'Service-Type', Data); +avp(T, Data, 'Tunnel-Assignment-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Client-Auth-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Client-Endpoint', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Medium-Type', _) -> + enumerated_avp(T, 'Tunnel-Medium-Type', Data); +avp(T, Data, 'Tunnel-Password', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Preference', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Tunnel-Private-Group-Id', Opts) -> + diameter_types:'OctetString'(T, Data, Opts); +avp(T, Data, 'Tunnel-Server-Auth-Id', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Server-Endpoint', Opts) -> + diameter_types:'UTF8String'(T, Data, Opts); +avp(T, Data, 'Tunnel-Type', _) -> + enumerated_avp(T, 'Tunnel-Type', Data); +avp(T, Data, 'Tunneling', Opts) -> + grouped_avp(T, 'Tunneling', Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(T, Data, 'Framed-AppleTalk-Link', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Link', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-AppleTalk-Network', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Network', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-AppleTalk-Zone', Opts) -> + avp(T, + Data, + 'Framed-AppleTalk-Zone', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-Compression', _) -> + enumerated_avp(T, 'Framed-Compression', Data); +avp(T, Data, 'Framed-IP-Address', Opts) -> + avp(T, + Data, + 'Framed-IP-Address', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IP-Netmask', Opts) -> + avp(T, + Data, + 'Framed-IP-Netmask', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPX-Network', Opts) -> + avp(T, + Data, + 'Framed-IPX-Network', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPv6-Pool', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Pool', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPv6-Prefix', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Prefix', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-IPv6-Route', Opts) -> + avp(T, + Data, + 'Framed-IPv6-Route', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-Interface-Id', Opts) -> + avp(T, + Data, + 'Framed-Interface-Id', + Opts, + diameter_rfc7155); +avp(T, Data, 'Framed-MTU', Opts) -> + avp(T, Data, 'Framed-MTU', Opts, diameter_rfc7155); +avp(T, Data, 'Framed-Pool', Opts) -> + avp(T, Data, 'Framed-Pool', Opts, diameter_rfc7155); +avp(T, Data, 'Framed-Protocol', _) -> + enumerated_avp(T, 'Framed-Protocol', Data); +avp(T, Data, 'Framed-Route', Opts) -> + avp(T, Data, 'Framed-Route', Opts, diameter_rfc7155); +avp(T, Data, 'Framed-Routing', _) -> + enumerated_avp(T, 'Framed-Routing', Data); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Service-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Service-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Service-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Service-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Service-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Service-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Service-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Service-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Service-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Service-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Service-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Service-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Service-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Service-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Service-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Service-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'Service-Type', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'Service-Type', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'Service-Type', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'Service-Type', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Framed-Protocol', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Framed-Protocol', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Framed-Protocol', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Framed-Protocol', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Framed-Protocol', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Framed-Protocol', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Framed-Protocol', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 0, 255>>) -> + 255; +enumerated_avp(encode, 'Framed-Protocol', 255) -> + <<0, 0, 0, 255>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 1, 0>>) -> + 256; +enumerated_avp(encode, 'Framed-Protocol', 256) -> + <<0, 0, 1, 0>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 1, 1>>) -> + 257; +enumerated_avp(encode, 'Framed-Protocol', 257) -> + <<0, 0, 1, 1>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 1, 2>>) -> + 258; +enumerated_avp(encode, 'Framed-Protocol', 258) -> + <<0, 0, 1, 2>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 1, 3>>) -> + 259; +enumerated_avp(encode, 'Framed-Protocol', 259) -> + <<0, 0, 1, 3>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 1, 4>>) -> + 260; +enumerated_avp(encode, 'Framed-Protocol', 260) -> + <<0, 0, 1, 4>>; +enumerated_avp(decode, 'Framed-Protocol', + <<0, 0, 1, 5>>) -> + 261; +enumerated_avp(encode, 'Framed-Protocol', 261) -> + <<0, 0, 1, 5>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Framed-Routing', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Framed-Routing', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Framed-Routing', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Framed-Routing', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Framed-Routing', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Framed-Compression', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Framed-Compression', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Framed-Compression', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Framed-Compression', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Framed-Compression', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Framed-Compression', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Login-Service', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Login-Service', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Login-Service', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Login-Service', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Login-Service', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Login-Service', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Login-Service', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Login-Service', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Login-Service', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Acct-Authentic', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Acct-Authentic', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Acct-Authentic', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Acct-Authentic', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Acct-Authentic', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Acct-Authentic', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'NAS-Port-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'NAS-Port-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'NAS-Port-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'NAS-Port-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'NAS-Port-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'NAS-Port-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'NAS-Port-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'NAS-Port-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'NAS-Port-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'NAS-Port-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'NAS-Port-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'NAS-Port-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'NAS-Port-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'NAS-Port-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 16>>) -> + 16; +enumerated_avp(encode, 'NAS-Port-Type', 16) -> + <<0, 0, 0, 16>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 17>>) -> + 17; +enumerated_avp(encode, 'NAS-Port-Type', 17) -> + <<0, 0, 0, 17>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 18>>) -> + 18; +enumerated_avp(encode, 'NAS-Port-Type', 18) -> + <<0, 0, 0, 18>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 19>>) -> + 19; +enumerated_avp(encode, 'NAS-Port-Type', 19) -> + <<0, 0, 0, 19>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 20>>) -> + 20; +enumerated_avp(encode, 'NAS-Port-Type', 20) -> + <<0, 0, 0, 20>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 21>>) -> + 21; +enumerated_avp(encode, 'NAS-Port-Type', 21) -> + <<0, 0, 0, 21>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 22>>) -> + 22; +enumerated_avp(encode, 'NAS-Port-Type', 22) -> + <<0, 0, 0, 22>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 23>>) -> + 23; +enumerated_avp(encode, 'NAS-Port-Type', 23) -> + <<0, 0, 0, 23>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 24>>) -> + 24; +enumerated_avp(encode, 'NAS-Port-Type', 24) -> + <<0, 0, 0, 24>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 25>>) -> + 25; +enumerated_avp(encode, 'NAS-Port-Type', 25) -> + <<0, 0, 0, 25>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 26>>) -> + 26; +enumerated_avp(encode, 'NAS-Port-Type', 26) -> + <<0, 0, 0, 26>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 27>>) -> + 27; +enumerated_avp(encode, 'NAS-Port-Type', 27) -> + <<0, 0, 0, 27>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 28>>) -> + 28; +enumerated_avp(encode, 'NAS-Port-Type', 28) -> + <<0, 0, 0, 28>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 29>>) -> + 29; +enumerated_avp(encode, 'NAS-Port-Type', 29) -> + <<0, 0, 0, 29>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 30>>) -> + 30; +enumerated_avp(encode, 'NAS-Port-Type', 30) -> + <<0, 0, 0, 30>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 31>>) -> + 31; +enumerated_avp(encode, 'NAS-Port-Type', 31) -> + <<0, 0, 0, 31>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 32>>) -> + 32; +enumerated_avp(encode, 'NAS-Port-Type', 32) -> + <<0, 0, 0, 32>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 33>>) -> + 33; +enumerated_avp(encode, 'NAS-Port-Type', 33) -> + <<0, 0, 0, 33>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 34>>) -> + 34; +enumerated_avp(encode, 'NAS-Port-Type', 34) -> + <<0, 0, 0, 34>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 35>>) -> + 35; +enumerated_avp(encode, 'NAS-Port-Type', 35) -> + <<0, 0, 0, 35>>; +enumerated_avp(decode, 'NAS-Port-Type', + <<0, 0, 0, 36>>) -> + 36; +enumerated_avp(encode, 'NAS-Port-Type', 36) -> + <<0, 0, 0, 36>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Tunnel-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Tunnel-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Tunnel-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Tunnel-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Tunnel-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Tunnel-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Tunnel-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Tunnel-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Tunnel-Type', <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Tunnel-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Tunnel-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Tunnel-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Tunnel-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Tunnel-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Tunnel-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Tunnel-Medium-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Tunnel-Medium-Type', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Tunnel-Medium-Type', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Tunnel-Medium-Type', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Tunnel-Medium-Type', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Tunnel-Medium-Type', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Tunnel-Medium-Type', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 8>>) -> + 8; +enumerated_avp(encode, 'Tunnel-Medium-Type', 8) -> + <<0, 0, 0, 8>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 9>>) -> + 9; +enumerated_avp(encode, 'Tunnel-Medium-Type', 9) -> + <<0, 0, 0, 9>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 10>>) -> + 10; +enumerated_avp(encode, 'Tunnel-Medium-Type', 10) -> + <<0, 0, 0, 10>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 11>>) -> + 11; +enumerated_avp(encode, 'Tunnel-Medium-Type', 11) -> + <<0, 0, 0, 11>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 12>>) -> + 12; +enumerated_avp(encode, 'Tunnel-Medium-Type', 12) -> + <<0, 0, 0, 12>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 13>>) -> + 13; +enumerated_avp(encode, 'Tunnel-Medium-Type', 13) -> + <<0, 0, 0, 13>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 14>>) -> + 14; +enumerated_avp(encode, 'Tunnel-Medium-Type', 14) -> + <<0, 0, 0, 14>>; +enumerated_avp(decode, 'Tunnel-Medium-Type', + <<0, 0, 0, 15>>) -> + 15; +enumerated_avp(encode, 'Tunnel-Medium-Type', 15) -> + <<0, 0, 0, 15>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Accounting-Auth-Method', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 2>>) -> + 2; +enumerated_avp(encode, 'Accounting-Auth-Method', 2) -> + <<0, 0, 0, 2>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 3>>) -> + 3; +enumerated_avp(encode, 'Accounting-Auth-Method', 3) -> + <<0, 0, 0, 3>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 4>>) -> + 4; +enumerated_avp(encode, 'Accounting-Auth-Method', 4) -> + <<0, 0, 0, 4>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 5>>) -> + 5; +enumerated_avp(encode, 'Accounting-Auth-Method', 5) -> + <<0, 0, 0, 5>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 6>>) -> + 6; +enumerated_avp(encode, 'Accounting-Auth-Method', 6) -> + <<0, 0, 0, 6>>; +enumerated_avp(decode, 'Accounting-Auth-Method', + <<0, 0, 0, 7>>) -> + 7; +enumerated_avp(encode, 'Accounting-Auth-Method', 7) -> + <<0, 0, 0, 7>>; +enumerated_avp(decode, 'Origin-AAA-Protocol', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Origin-AAA-Protocol', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Tunneling', Opts) -> + empty_group('Tunneling', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Service-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Routing', _) -> <<0, 0, 0, 0>>; +empty_value('Framed-Compression', _) -> <<0, 0, 0, 0>>; +empty_value('Login-Service', _) -> <<0, 0, 0, 0>>; +empty_value('Acct-Authentic', _) -> <<0, 0, 0, 0>>; +empty_value('NAS-Port-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Tunnel-Medium-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Accounting-Auth-Method', _) -> + <<0, 0, 0, 0>>; +empty_value('Origin-AAA-Protocol', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Accounting-Auth-Method", 406, "Enumerated", "M"}, + {"Accounting-Input-Octets", 363, "Unsigned64", "M"}, + {"Accounting-Input-Packets", 365, "Unsigned64", "M"}, + {"Accounting-Output-Octets", 364, "Unsigned64", "M"}, + {"Accounting-Output-Packets", 366, "Unsigned64", "M"}, + {"Acct-Authentic", 45, "Enumerated", "M"}, + {"Acct-Delay-Time", 41, "Unsigned32", "M"}, + {"Acct-Link-Count", 51, "Unsigned32", "M"}, + {"Acct-Session-Time", 46, "Unsigned32", "M"}, + {"Acct-Tunnel-Connection", 68, "OctetString", "M"}, + {"Acct-Tunnel-Packets-Lost", 86, "Unsigned32", "M"}, + {"Callback-Id", 20, "UTF8String", "M"}, + {"Callback-Number", 19, "UTF8String", "M"}, + {"Called-Station-Id", 30, "UTF8String", "M"}, + {"Calling-Station-Id", 31, "UTF8String", "M"}, + {"Connect-Info", 77, "UTF8String", "M"}, + {"Filter-Id", 11, "UTF8String", "M"}, + {"Idle-Timeout", 28, "Unsigned32", "M"}, + {"Login-IP-Host", 14, "OctetString", "M"}, + {"Login-IPv6-Host", 98, "OctetString", "M"}, + {"Login-LAT-Group", 36, "OctetString", "M"}, + {"Login-LAT-Node", 35, "OctetString", "M"}, + {"Login-LAT-Port", 63, "OctetString", "M"}, + {"Login-LAT-Service", 34, "OctetString", "M"}, + {"Login-Service", 15, "Enumerated", "M"}, + {"Login-TCP-Port", 16, "Unsigned32", "M"}, + {"NAS-Filter-Rule", 400, "IPFilterRule", "M"}, + {"NAS-IP-Address", 4, "OctetString", "M"}, + {"NAS-IPv6-Address", 95, "OctetString", "M"}, + {"NAS-Identifier", 32, "UTF8String", "M"}, + {"NAS-Port", 5, "Unsigned32", "M"}, + {"NAS-Port-Id", 87, "UTF8String", "M"}, + {"NAS-Port-Type", 61, "Enumerated", "M"}, + {"Origin-AAA-Protocol", 408, "Enumerated", "M"}, + {"Originating-Line-Info", 94, "OctetString", "M"}, + {"Port-Limit", 62, "Unsigned32", "M"}, + {"QoS-Filter-Rule", 407, "QoSFilterRule", "M"}, + {"Service-Type", 6, "Enumerated", "M"}, + {"Tunnel-Assignment-Id", 82, "OctetString", "M"}, + {"Tunnel-Client-Auth-Id", 90, "UTF8String", "M"}, + {"Tunnel-Client-Endpoint", 66, "UTF8String", "M"}, + {"Tunnel-Medium-Type", 65, "Enumerated", "M"}, + {"Tunnel-Password", 69, "OctetString", "M"}, + {"Tunnel-Preference", 83, "Unsigned32", "M"}, + {"Tunnel-Private-Group-Id", 81, "OctetString", "M"}, + {"Tunnel-Server-Auth-Id", 91, "UTF8String", "M"}, + {"Tunnel-Server-Endpoint", 67, "UTF8String", "M"}, + {"Tunnel-Type", 64, "Enumerated", "M"}, + {"Tunneling", 401, "Grouped", "M"}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, [{271, "ACR", "ACA"}]}, + {custom_types, []}, + {define, []}, + {enum, + [{"Service-Type", + [{"UNKNOWN", 0}, + {"LOGIN", 1}, + {"FRAMED", 2}, + {"CALLBACK_LOGIN", 3}, + {"CALLBACK_FRAMED", 4}, + {"OUTBOUND", 5}, + {"ADMINISTRATIVE", 6}, + {"NAS_PROMPT", 7}, + {"AUTHENTICATE_ONLY", 8}, + {"CALLBACK_NAS_PROMPT", 9}, + {"CALL_CHECK", 10}, + {"CALLBACK_ADMINISTRATIVE", 11}, + {"VOICE", 12}, + {"FAX", 13}, + {"MODEM_RELAY", 14}, + {"IAPP_REGISTER", 15}, + {"IAPP_AP_CHECK", 16}, + {"AUTHORIZE_ONLY", 17}, + {"FRAMED_MANAGEMENT", 18}]}, + {"Framed-Protocol", + [{"PPP", 1}, + {"SLIP", 2}, + {"ARAP", 3}, + {"GANDALF", 4}, + {"XYLOGICS", 5}, + {"X_75", 6}, + {"GPRS_PDP_CONTEXT", 7}, + {"ASCEND_ARA", 255}, + {"MPP", 256}, + {"EURAW", 257}, + {"EUUI", 258}, + {"X25", 259}, + {"COMB", 260}, + {"FR", 261}]}, + {"Framed-Routing", + [{"NONE", 0}, + {"SEND_ROUTING_PACKETS", 1}, + {"LISTEN_FOR_ROUTING_PACKETS", 2}, + {"SEND_AND_LISTEN", 3}]}, + {"Framed-Compression", + [{"NONE", 0}, + {"IPX_HEADER_COMPRESSION", 2}, + {"STAC_LZS_COMPRESSION", 3}]}, + {"Login-Service", + [{"TELNET", 0}, + {"RLOGIN", 1}, + {"TCP_CLEAR", 2}, + {"PORTMASTER", 3}, + {"LAT", 4}, + {"X25_PAD", 5}, + {"X25_T3POS", 6}, + {"UNASSIGNED", 7}]}, + {"Acct-Authentic", + [{"NONE", 0}, + {"RADIUS", 1}, + {"LOCAL", 2}, + {"REMOTE", 3}, + {"DIAMETER", 4}]}, + {"NAS-Port-Type", + [{"ASYNC", 0}, + {"SYNC", 1}, + {"ISDN_SYNC", 2}, + {"ISDN_ASYNC_V120", 3}, + {"ISDN_ASYNC_V110", 4}, + {"VIRTUAL", 5}, + {"PIAFS", 6}, + {"HDLC_CLEAR_CHANNEL", 7}, + {"X25", 8}, + {"X75", 9}, + {"G_3_FAX", 10}, + {"SDSL_SYMMETRIC_DSL", 11}, + {"IDSL_ISDN_DIGITAL_SUBSCRIBER_LINE", 14}, + {"ETHERNET", 15}, + {"XDSL_DIGITAL_SUBSCRIBER_LINE_OF_UNKNOWN_TYPE", 16}, + {"CABLE", 17}, + {"WIRELESS_OTHER", 18}, + {"WIRELESS_IEEE_802_11", 19}, + {"TOKEN_RING", 20}, + {"FDDI", 21}, + {"WIRELESS_CDMA2000", 22}, + {"WIRELESS_UMTS", 23}, + {"WIRELESS_1X_EV", 24}, + {"IAPP", 25}, + {"FTTP_FIBER_TO_THE_PREMISES", 26}, + {"WIRELESS_IEEE_802_16", 27}, + {"WIRELESS_IEEE_802_20", 28}, + {"WIRELESS_IEEE_802_22", 29}, + {"PPPOA_PPP_OVER_ATM", 30}, + {"PPPOEOA_PPP_OVER_ETHERNET_OVER_ATM", 31}, + {"PPPOEOE_PPP_OVER_ETHERNET_OVER_ETHERNET", 32}, + {"PPPOEOVLAN_PPP_OVER_ETHERNET_OVER_VLAN", 33}, + {"PPPOEOQINQ_PPP_OVER_ETHERNET_OVER_IEEE_802_1QINQ", + 34}, + {"XPON_PASSIVE_OPTICAL_NETWORK", 35}, + {"WIRELESS_XGP", 36}]}, + {"Tunnel-Type", + [{"PPTP", 1}, + {"L2F", 2}, + {"L2TP", 3}, + {"ATMP", 4}, + {"VTP", 5}, + {"AH", 6}, + {"IP_IP_ENCAP", 7}, + {"MIN_IP_IP", 8}, + {"ESP", 9}, + {"GRE", 10}, + {"DVS", 11}, + {"IP_IN_IP_TUNNELING", 12}, + {"VLAN", 13}]}, + {"Tunnel-Medium-Type", + [{"IPV4", 1}, + {"IPV6", 2}, + {"NSAP", 3}, + {"HDLC", 4}, + {"BBN", 5}, + {"IEEE_802", 6}, + {"E_163", 7}, + {"E_164", 8}, + {"F_69", 9}, + {"X_121", 10}, + {"IPX", 11}, + {"APPLETALK_802", 12}, + {"DECNET4", 13}, + {"VINES", 14}, + {"E_164_NSAP", 15}]}, + {"Accounting-Auth-Method", + [{"PAP", 1}, + {"CHAP", 2}, + {"MS_CHAP_1", 3}, + {"MS_CHAP_2", 4}, + {"EAP", 5}, + {"UNDEFINED", 6}, + {"NONE", 7}]}, + {"Origin-AAA-Protocol", [{"RADIUS", 1}]}]}, + {grouped, + [{"Tunneling", + 401, + [], + [{"Tunnel-Type"}, + {"Tunnel-Medium-Type"}, + {"Tunnel-Client-Endpoint"}, + {"Tunnel-Server-Endpoint"}, + ["Tunnel-Preference"], + ["Tunnel-Client-Auth-Id"], + ["Tunnel-Server-Auth-Id"], + ["Tunnel-Assignment-Id"], + ["Tunnel-Password"], + ["Tunnel-Private-Group-Id"]]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}, + {diameter_rfc7155, + [{"Framed-AppleTalk-Link", 37, "Unsigned32", "M"}, + {"Framed-AppleTalk-Network", 38, "Unsigned32", "M"}, + {"Framed-AppleTalk-Zone", 39, "OctetString", "M"}, + {"Framed-Compression", 13, "Enumerated", "M"}, + {"Framed-IP-Address", 8, "OctetString", "M"}, + {"Framed-IP-Netmask", 9, "OctetString", "M"}, + {"Framed-IPX-Network", 23, "Unsigned32", "M"}, + {"Framed-IPv6-Pool", 100, "OctetString", "M"}, + {"Framed-IPv6-Prefix", 97, "OctetString", "M"}, + {"Framed-IPv6-Route", 99, "UTF8String", "M"}, + {"Framed-Interface-Id", 96, "Unsigned64", "M"}, + {"Framed-MTU", 12, "Unsigned32", "M"}, + {"Framed-Pool", 88, "OctetString", "M"}, + {"Framed-Protocol", 7, "Enumerated", "M"}, + {"Framed-Route", 22, "UTF8String", "M"}, + {"Framed-Routing", 10, "Enumerated", "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, + [{"diameter_rfc7155", []}, + {"diameter_gen_base_rfc6733", []}]}, + {messages, + [{"ACR", + 271, + ['REQ', 'PXY'], + [], + [{{"Session-Id"}}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Destination-Realm"}, + {"Accounting-Record-Type"}, + {"Accounting-Record-Number"}, + {"Acct-Application-Id"}, + ["User-Name"], + ["Accounting-Sub-Session-Id"], + ["Acct-Session-Id"], + ["Acct-Multi-Session-Id"], + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["Destination-Host"], + ["Event-Timestamp"], + ["Acct-Delay-Time"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + {'*', ["Class"]}, + ["Service-Type"], + ["Termination-Cause"], + ["Accounting-Input-Octets"], + ["Accounting-Input-Packets"], + ["Accounting-Output-Octets"], + ["Accounting-Output-Packets"], + ["Acct-Authentic"], + ["Accounting-Auth-Method"], + ["Acct-Link-Count"], + ["Acct-Session-Time"], + ["Acct-Tunnel-Connection"], + ["Acct-Tunnel-Packets-Lost"], + ["Callback-Id"], + ["Callback-Number"], + ["Called-Station-Id"], + ["Calling-Station-Id"], + {'*', ["Connect-Info"]}, + ["Originating-Line-Info"], + ["Authorization-Lifetime"], + ["Session-Timeout"], + ["Idle-Timeout"], + ["Port-Limit"], + ["Accounting-Realtime-Required"], + ["Acct-Interim-Interval"], + {'*', ["Filter-Id"]}, + {'*', ["NAS-Filter-Rule"]}, + {'*', ["QoS-Filter-Rule"]}, + ["Framed-AppleTalk-Link"], + ["Framed-AppleTalk-Network"], + ["Framed-AppleTalk-Zone"], + ["Framed-Compression"], + ["Framed-Interface-Id"], + ["Framed-IP-Address"], + ["Framed-IP-Netmask"], + {'*', ["Framed-IPv6-Prefix"]}, + ["Framed-IPv6-Pool"], + {'*', ["Framed-IPv6-Route"]}, + ["Framed-IPX-Network"], + ["Framed-MTU"], + ["Framed-Pool"], + ["Framed-Protocol"], + {'*', ["Framed-Route"]}, + ["Framed-Routing"], + {'*', ["Login-IP-Host"]}, + {'*', ["Login-IPv6-Host"]}, + ["Login-LAT-Group"], + ["Login-LAT-Node"], + ["Login-LAT-Port"], + ["Login-LAT-Service"], + ["Login-Service"], + ["Login-TCP-Port"], + {'*', ["Tunneling"]}, + {'*', ["Proxy-Info"]}, + {'*', ["Route-Record"]}, + {'*', ["AVP"]}]}, + {"ACA", + 271, + ['PXY'], + [], + [{{"Session-Id"}}, + {"Result-Code"}, + {"Origin-Host"}, + {"Origin-Realm"}, + {"Accounting-Record-Type"}, + {"Accounting-Record-Number"}, + {"Acct-Application-Id"}, + ["User-Name"], + ["Accounting-Sub-Session-Id"], + ["Acct-Session-Id"], + ["Acct-Multi-Session-Id"], + ["Event-Timestamp"], + ["Error-Message"], + ["Error-Reporting-Host"], + {'*', ["Failed-AVP"]}, + ["Origin-AAA-Protocol"], + ["Origin-State-Id"], + ["NAS-Identifier"], + ["NAS-IP-Address"], + ["NAS-IPv6-Address"], + ["NAS-Port"], + ["NAS-Port-Id"], + ["NAS-Port-Type"], + ["Service-Type"], + ["Termination-Cause"], + ["Accounting-Realtime-Required"], + ["Acct-Interim-Interval"], + {'*', ["Class"]}, + {'*', ["Proxy-Info"]}, + {'*', ["AVP"]}]}]}, + {name, "diameter_rfc7155_nasreq"}, + {prefix, "diameter_nasreq"}, + {vendor, {0, "IETF"}}]. + + diff --git a/src/diameter_rfc7683.erl b/src/diameter_rfc7683.erl new file mode 100644 index 0000000..bab1220 --- /dev/null +++ b/src/diameter_rfc7683.erl @@ -0,0 +1,849 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc7683). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['OC-Supported-Features', + 'OC-OLR', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('OC-Supported-Features', + {'OC-Feature-Vector' = [], 'AVP' = []}). + +-record('OC-OLR', + {'OC-Sequence-Number', + 'OC-Report-Type', + 'OC-Reduction-Percentage' = [], + 'OC-Validity-Duration' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc7683. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('OC-Supported-Features') -> + 'OC-Supported-Features'; +name2rec('OC-OLR') -> 'OC-OLR'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(622, undefined) -> + {'OC-Feature-Vector', 'Unsigned64'}; +avp_name(623, undefined) -> {'OC-OLR', 'Grouped'}; +avp_name(627, undefined) -> + {'OC-Reduction-Percentage', 'Unsigned32'}; +avp_name(626, undefined) -> + {'OC-Report-Type', 'Enumerated'}; +avp_name(624, undefined) -> + {'OC-Sequence-Number', 'Unsigned64'}; +avp_name(621, undefined) -> + {'OC-Supported-Features', 'Grouped'}; +avp_name(625, undefined) -> + {'OC-Validity-Duration', 'Unsigned32'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('OC-Supported-Features') -> + [{'OC-Feature-Vector', {0, 1}}, {'AVP', {0, '*'}}]; +avp_arity('OC-OLR') -> + [{'OC-Sequence-Number', 1}, + {'OC-Report-Type', 1}, + {'OC-Reduction-Percentage', {0, 1}}, + {'OC-Validity-Duration', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('OC-Supported-Features', + 'OC-Feature-Vector') -> + {0, 1}; +avp_arity('OC-Supported-Features', 'AVP') -> {0, '*'}; +avp_arity('OC-OLR', 'OC-Sequence-Number') -> 1; +avp_arity('OC-OLR', 'OC-Report-Type') -> 1; +avp_arity('OC-OLR', 'OC-Reduction-Percentage') -> + {0, 1}; +avp_arity('OC-OLR', 'OC-Validity-Duration') -> {0, 1}; +avp_arity('OC-OLR', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('OC-Feature-Vector') -> {622, 0, undefined}; +avp_header('OC-OLR') -> {623, 0, undefined}; +avp_header('OC-Reduction-Percentage') -> + {627, 0, undefined}; +avp_header('OC-Report-Type') -> {626, 0, undefined}; +avp_header('OC-Sequence-Number') -> {624, 0, undefined}; +avp_header('OC-Supported-Features') -> + {621, 0, undefined}; +avp_header('OC-Validity-Duration') -> + {625, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'OC-Feature-Vector', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'OC-OLR', Opts) -> + grouped_avp(T, 'OC-OLR', Data, Opts); +avp(T, Data, 'OC-Reduction-Percentage', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'OC-Report-Type', _) -> + enumerated_avp(T, 'OC-Report-Type', Data); +avp(T, Data, 'OC-Sequence-Number', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'OC-Supported-Features', Opts) -> + grouped_avp(T, 'OC-Supported-Features', Data, Opts); +avp(T, Data, 'OC-Validity-Duration', Opts) -> + diameter_types:'Unsigned32'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'OC-Report-Type', + <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'OC-Report-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'OC-Report-Type', + <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'OC-Report-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('OC-Supported-Features', Opts) -> + empty_group('OC-Supported-Features', Opts); +empty_value('OC-OLR', Opts) -> + empty_group('OC-OLR', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('OC-Report-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"OC-Feature-Vector", 622, "Unsigned64", []}, + {"OC-OLR", 623, "Grouped", []}, + {"OC-Reduction-Percentage", 627, "Unsigned32", []}, + {"OC-Report-Type", 626, "Enumerated", []}, + {"OC-Sequence-Number", 624, "Unsigned64", []}, + {"OC-Supported-Features", 621, "Grouped", []}, + {"OC-Validity-Duration", 625, "Unsigned32", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"OC-Report-Type", + [{"HOST_REPORT", 0}, {"REALM_REPORT", 1}]}]}, + {grouped, + [{"OC-Supported-Features", + 621, + [], + [["OC-Feature-Vector"], {'*', ["AVP"]}]}, + {"OC-OLR", + 623, + [], + [{{"OC-Sequence-Number"}}, + {{"OC-Report-Type"}}, + ["OC-Reduction-Percentage"], + ["OC-Validity-Duration"], + {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + + diff --git a/src/diameter_rfc7944.erl b/src/diameter_rfc7944.erl new file mode 100644 index 0000000..96f382e --- /dev/null +++ b/src/diameter_rfc7944.erl @@ -0,0 +1,797 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc7944). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc7944. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(301, undefined) -> {'DRMP', 'Enumerated'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('DRMP') -> {301, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'DRMP', _) -> + enumerated_avp(T, 'DRMP', Data); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 15>>) -> 15; +enumerated_avp(encode, 'DRMP', 15) -> <<0, 0, 0, 15>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 14>>) -> 14; +enumerated_avp(encode, 'DRMP', 14) -> <<0, 0, 0, 14>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 13>>) -> 13; +enumerated_avp(encode, 'DRMP', 13) -> <<0, 0, 0, 13>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 12>>) -> 12; +enumerated_avp(encode, 'DRMP', 12) -> <<0, 0, 0, 12>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 11>>) -> 11; +enumerated_avp(encode, 'DRMP', 11) -> <<0, 0, 0, 11>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 10>>) -> 10; +enumerated_avp(encode, 'DRMP', 10) -> <<0, 0, 0, 10>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 9>>) -> 9; +enumerated_avp(encode, 'DRMP', 9) -> <<0, 0, 0, 9>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 8>>) -> 8; +enumerated_avp(encode, 'DRMP', 8) -> <<0, 0, 0, 8>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 7>>) -> 7; +enumerated_avp(encode, 'DRMP', 7) -> <<0, 0, 0, 7>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 6>>) -> 6; +enumerated_avp(encode, 'DRMP', 6) -> <<0, 0, 0, 6>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 5>>) -> 5; +enumerated_avp(encode, 'DRMP', 5) -> <<0, 0, 0, 5>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 4>>) -> 4; +enumerated_avp(encode, 'DRMP', 4) -> <<0, 0, 0, 4>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 3>>) -> 3; +enumerated_avp(encode, 'DRMP', 3) -> <<0, 0, 0, 3>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 2>>) -> 2; +enumerated_avp(encode, 'DRMP', 2) -> <<0, 0, 0, 2>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 1>>) -> 1; +enumerated_avp(encode, 'DRMP', 1) -> <<0, 0, 0, 1>>; +enumerated_avp(decode, 'DRMP', <<0, 0, 0, 0>>) -> 0; +enumerated_avp(encode, 'DRMP', 0) -> <<0, 0, 0, 0>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('DRMP', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, [{"DRMP", 301, "Enumerated", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, + [{"DRMP", + [{"PRIORITY_15", 15}, + {"PRIORITY_14", 14}, + {"PRIORITY_13", 13}, + {"PRIORITY_12", 12}, + {"PRIORITY_11", 11}, + {"PRIORITY_10", 10}, + {"PRIORITY_9", 9}, + {"PRIORITY_8", 8}, + {"PRIORITY_7", 7}, + {"PRIORITY_6", 6}, + {"PRIORITY_5", 5}, + {"PRIORITY_4", 4}, + {"PRIORITY_3", 3}, + {"PRIORITY_2", 2}, + {"PRIORITY_1", 1}, + {"PRIORITY_0", 0}]}]}, + {grouped, []}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + + diff --git a/src/diameter_rfc8583.erl b/src/diameter_rfc8583.erl new file mode 100644 index 0000000..6ad3e3c --- /dev/null +++ b/src/diameter_rfc8583.erl @@ -0,0 +1,799 @@ +%% ------------------------------------------------------------------- +%% This is a generated file. +%% ------------------------------------------------------------------- + +-module(diameter_rfc8583). + +-compile({parse_transform, diameter_exprecs}). + +-compile(nowarn_unused_function). + +-dialyzer(no_return). + +-export_records(['Load', + 'Proxy-Info', + 'Failed-AVP', + 'Experimental-Result', + 'Vendor-Specific-Application-Id']). + +-record('Load', + {'Load-Type' = [], + 'Load-Value' = [], + 'SourceID' = [], + 'AVP' = []}). + +-record('Proxy-Info', + {'Proxy-Host', 'Proxy-State', 'AVP' = []}). + +-record('Failed-AVP', {'AVP' = []}). + +-record('Experimental-Result', + {'Vendor-Id', 'Experimental-Result-Code'}). + +-record('Vendor-Specific-Application-Id', + {'Vendor-Id', + 'Auth-Application-Id' = [], + 'Acct-Application-Id' = []}). + +-export([name/0, + id/0, + vendor_id/0, + vendor_name/0, + decode_avps/3, + encode_avps/3, + grouped_avp/4, + msg_name/2, + msg_header/1, + rec2msg/1, + msg2rec/1, + name2rec/1, + avp_name/2, + avp_arity/1, + avp_arity/2, + avp_header/1, + avp/4, + enumerated_avp/3, + empty_value/2, + dict/0]). + +-include_lib("diameter/include/diameter.hrl"). + +-include_lib("diameter/include/diameter_gen.hrl"). + +name() -> diameter_rfc8583. + +id() -> 1. + +vendor_id() -> erlang:error(undefined). + +vendor_name() -> erlang:error(undefined). + +msg_name(_, _) -> ''. + +msg_header(_) -> erlang:error(badarg). + +rec2msg(_) -> erlang:error(badarg). + +msg2rec(_) -> erlang:error(badarg). + +name2rec('Load') -> 'Load'; +name2rec('Proxy-Info') -> 'Proxy-Info'; +name2rec('Failed-AVP') -> 'Failed-AVP'; +name2rec('Experimental-Result') -> + 'Experimental-Result'; +name2rec('Vendor-Specific-Application-Id') -> + 'Vendor-Specific-Application-Id'; +name2rec(T) -> msg2rec(T). + +avp_name(650, undefined) -> {'Load', 'Grouped'}; +avp_name(651, undefined) -> {'Load-Type', 'Enumerated'}; +avp_name(652, undefined) -> + {'Load-Value', 'Unsigned64'}; +avp_name(649, undefined) -> + {'SourceID', 'DiameterIdentity'}; +avp_name(483, undefined) -> + {'Accounting-Realtime-Required', 'Enumerated'}; +avp_name(485, undefined) -> + {'Accounting-Record-Number', 'Unsigned32'}; +avp_name(480, undefined) -> + {'Accounting-Record-Type', 'Enumerated'}; +avp_name(287, undefined) -> + {'Accounting-Sub-Session-Id', 'Unsigned64'}; +avp_name(259, undefined) -> + {'Acct-Application-Id', 'Unsigned32'}; +avp_name(85, undefined) -> + {'Acct-Interim-Interval', 'Unsigned32'}; +avp_name(50, undefined) -> + {'Acct-Multi-Session-Id', 'UTF8String'}; +avp_name(44, undefined) -> + {'Acct-Session-Id', 'OctetString'}; +avp_name(258, undefined) -> + {'Auth-Application-Id', 'Unsigned32'}; +avp_name(276, undefined) -> + {'Auth-Grace-Period', 'Unsigned32'}; +avp_name(274, undefined) -> + {'Auth-Request-Type', 'Enumerated'}; +avp_name(277, undefined) -> + {'Auth-Session-State', 'Enumerated'}; +avp_name(291, undefined) -> + {'Authorization-Lifetime', 'Unsigned32'}; +avp_name(25, undefined) -> {'Class', 'OctetString'}; +avp_name(293, undefined) -> + {'Destination-Host', 'DiameterIdentity'}; +avp_name(283, undefined) -> + {'Destination-Realm', 'DiameterIdentity'}; +avp_name(273, undefined) -> + {'Disconnect-Cause', 'Enumerated'}; +avp_name(281, undefined) -> + {'Error-Message', 'UTF8String'}; +avp_name(294, undefined) -> + {'Error-Reporting-Host', 'DiameterIdentity'}; +avp_name(55, undefined) -> {'Event-Timestamp', 'Time'}; +avp_name(297, undefined) -> + {'Experimental-Result', 'Grouped'}; +avp_name(298, undefined) -> + {'Experimental-Result-Code', 'Unsigned32'}; +avp_name(279, undefined) -> {'Failed-AVP', 'Grouped'}; +avp_name(267, undefined) -> + {'Firmware-Revision', 'Unsigned32'}; +avp_name(257, undefined) -> + {'Host-IP-Address', 'Address'}; +avp_name(299, undefined) -> + {'Inband-Security-Id', 'Unsigned32'}; +avp_name(272, undefined) -> + {'Multi-Round-Time-Out', 'Unsigned32'}; +avp_name(264, undefined) -> + {'Origin-Host', 'DiameterIdentity'}; +avp_name(296, undefined) -> + {'Origin-Realm', 'DiameterIdentity'}; +avp_name(278, undefined) -> + {'Origin-State-Id', 'Unsigned32'}; +avp_name(269, undefined) -> + {'Product-Name', 'UTF8String'}; +avp_name(280, undefined) -> + {'Proxy-Host', 'DiameterIdentity'}; +avp_name(284, undefined) -> {'Proxy-Info', 'Grouped'}; +avp_name(33, undefined) -> + {'Proxy-State', 'OctetString'}; +avp_name(285, undefined) -> + {'Re-Auth-Request-Type', 'Enumerated'}; +avp_name(292, undefined) -> + {'Redirect-Host', 'DiameterURI'}; +avp_name(261, undefined) -> + {'Redirect-Host-Usage', 'Enumerated'}; +avp_name(262, undefined) -> + {'Redirect-Max-Cache-Time', 'Unsigned32'}; +avp_name(268, undefined) -> + {'Result-Code', 'Unsigned32'}; +avp_name(282, undefined) -> + {'Route-Record', 'DiameterIdentity'}; +avp_name(270, undefined) -> + {'Session-Binding', 'Unsigned32'}; +avp_name(263, undefined) -> + {'Session-Id', 'UTF8String'}; +avp_name(271, undefined) -> + {'Session-Server-Failover', 'Enumerated'}; +avp_name(27, undefined) -> + {'Session-Timeout', 'Unsigned32'}; +avp_name(265, undefined) -> + {'Supported-Vendor-Id', 'Unsigned32'}; +avp_name(295, undefined) -> + {'Termination-Cause', 'Enumerated'}; +avp_name(1, undefined) -> {'User-Name', 'UTF8String'}; +avp_name(266, undefined) -> {'Vendor-Id', 'Unsigned32'}; +avp_name(260, undefined) -> + {'Vendor-Specific-Application-Id', 'Grouped'}; +avp_name(_, _) -> 'AVP'. + +avp_arity('Load') -> + [{'Load-Type', {0, 1}}, + {'Load-Value', {0, 1}}, + {'SourceID', {0, 1}}, + {'AVP', {0, '*'}}]; +avp_arity('Proxy-Info') -> + [{'Proxy-Host', 1}, + {'Proxy-State', 1}, + {'AVP', {0, '*'}}]; +avp_arity('Failed-AVP') -> [{'AVP', {1, '*'}}]; +avp_arity('Experimental-Result') -> + [{'Vendor-Id', 1}, {'Experimental-Result-Code', 1}]; +avp_arity('Vendor-Specific-Application-Id') -> + [{'Vendor-Id', 1}, + {'Auth-Application-Id', {0, 1}}, + {'Acct-Application-Id', {0, 1}}]; +avp_arity(_) -> erlang:error(badarg). + +avp_arity('Load', 'Load-Type') -> {0, 1}; +avp_arity('Load', 'Load-Value') -> {0, 1}; +avp_arity('Load', 'SourceID') -> {0, 1}; +avp_arity('Load', 'AVP') -> {0, '*'}; +avp_arity('Proxy-Info', 'Proxy-Host') -> 1; +avp_arity('Proxy-Info', 'Proxy-State') -> 1; +avp_arity('Proxy-Info', 'AVP') -> {0, '*'}; +avp_arity('Failed-AVP', 'AVP') -> {1, '*'}; +avp_arity('Experimental-Result', 'Vendor-Id') -> 1; +avp_arity('Experimental-Result', + 'Experimental-Result-Code') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Vendor-Id') -> + 1; +avp_arity('Vendor-Specific-Application-Id', + 'Auth-Application-Id') -> + {0, 1}; +avp_arity('Vendor-Specific-Application-Id', + 'Acct-Application-Id') -> + {0, 1}; +avp_arity(_, _) -> 0. + +avp_header('Load') -> {650, 0, undefined}; +avp_header('Load-Type') -> {651, 0, undefined}; +avp_header('Load-Value') -> {652, 0, undefined}; +avp_header('SourceID') -> {649, 0, undefined}; +avp_header('Accounting-Realtime-Required') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Realtime-Required'); +avp_header('Accounting-Record-Number') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Number'); +avp_header('Accounting-Record-Type') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Record-Type'); +avp_header('Accounting-Sub-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Accounting-Sub-Session-Id'); +avp_header('Acct-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Application-Id'); +avp_header('Acct-Interim-Interval') -> + diameter_gen_base_rfc6733:avp_header('Acct-Interim-Interval'); +avp_header('Acct-Multi-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Multi-Session-Id'); +avp_header('Acct-Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Acct-Session-Id'); +avp_header('Auth-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Auth-Application-Id'); +avp_header('Auth-Grace-Period') -> + diameter_gen_base_rfc6733:avp_header('Auth-Grace-Period'); +avp_header('Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Auth-Request-Type'); +avp_header('Auth-Session-State') -> + diameter_gen_base_rfc6733:avp_header('Auth-Session-State'); +avp_header('Authorization-Lifetime') -> + diameter_gen_base_rfc6733:avp_header('Authorization-Lifetime'); +avp_header('Class') -> + diameter_gen_base_rfc6733:avp_header('Class'); +avp_header('Destination-Host') -> + diameter_gen_base_rfc6733:avp_header('Destination-Host'); +avp_header('Destination-Realm') -> + diameter_gen_base_rfc6733:avp_header('Destination-Realm'); +avp_header('Disconnect-Cause') -> + diameter_gen_base_rfc6733:avp_header('Disconnect-Cause'); +avp_header('Error-Message') -> + diameter_gen_base_rfc6733:avp_header('Error-Message'); +avp_header('Error-Reporting-Host') -> + diameter_gen_base_rfc6733:avp_header('Error-Reporting-Host'); +avp_header('Event-Timestamp') -> + diameter_gen_base_rfc6733:avp_header('Event-Timestamp'); +avp_header('Experimental-Result') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result'); +avp_header('Experimental-Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Experimental-Result-Code'); +avp_header('Failed-AVP') -> + diameter_gen_base_rfc6733:avp_header('Failed-AVP'); +avp_header('Firmware-Revision') -> + diameter_gen_base_rfc6733:avp_header('Firmware-Revision'); +avp_header('Host-IP-Address') -> + diameter_gen_base_rfc6733:avp_header('Host-IP-Address'); +avp_header('Inband-Security-Id') -> + diameter_gen_base_rfc6733:avp_header('Inband-Security-Id'); +avp_header('Multi-Round-Time-Out') -> + diameter_gen_base_rfc6733:avp_header('Multi-Round-Time-Out'); +avp_header('Origin-Host') -> + diameter_gen_base_rfc6733:avp_header('Origin-Host'); +avp_header('Origin-Realm') -> + diameter_gen_base_rfc6733:avp_header('Origin-Realm'); +avp_header('Origin-State-Id') -> + diameter_gen_base_rfc6733:avp_header('Origin-State-Id'); +avp_header('Product-Name') -> + diameter_gen_base_rfc6733:avp_header('Product-Name'); +avp_header('Proxy-Host') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Host'); +avp_header('Proxy-Info') -> + diameter_gen_base_rfc6733:avp_header('Proxy-Info'); +avp_header('Proxy-State') -> + diameter_gen_base_rfc6733:avp_header('Proxy-State'); +avp_header('Re-Auth-Request-Type') -> + diameter_gen_base_rfc6733:avp_header('Re-Auth-Request-Type'); +avp_header('Redirect-Host') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host'); +avp_header('Redirect-Host-Usage') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Host-Usage'); +avp_header('Redirect-Max-Cache-Time') -> + diameter_gen_base_rfc6733:avp_header('Redirect-Max-Cache-Time'); +avp_header('Result-Code') -> + diameter_gen_base_rfc6733:avp_header('Result-Code'); +avp_header('Route-Record') -> + diameter_gen_base_rfc6733:avp_header('Route-Record'); +avp_header('Session-Binding') -> + diameter_gen_base_rfc6733:avp_header('Session-Binding'); +avp_header('Session-Id') -> + diameter_gen_base_rfc6733:avp_header('Session-Id'); +avp_header('Session-Server-Failover') -> + diameter_gen_base_rfc6733:avp_header('Session-Server-Failover'); +avp_header('Session-Timeout') -> + diameter_gen_base_rfc6733:avp_header('Session-Timeout'); +avp_header('Supported-Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Supported-Vendor-Id'); +avp_header('Termination-Cause') -> + diameter_gen_base_rfc6733:avp_header('Termination-Cause'); +avp_header('User-Name') -> + diameter_gen_base_rfc6733:avp_header('User-Name'); +avp_header('Vendor-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Id'); +avp_header('Vendor-Specific-Application-Id') -> + diameter_gen_base_rfc6733:avp_header('Vendor-Specific-Application-Id'); +avp_header(_) -> erlang:error(badarg). + +avp(T, Data, 'Load', Opts) -> + grouped_avp(T, 'Load', Data, Opts); +avp(T, Data, 'Load-Type', _) -> + enumerated_avp(T, 'Load-Type', Data); +avp(T, Data, 'Load-Value', Opts) -> + diameter_types:'Unsigned64'(T, Data, Opts); +avp(T, Data, 'SourceID', Opts) -> + diameter_types:'DiameterIdentity'(T, Data, Opts); +avp(T, Data, 'Accounting-Realtime-Required', Opts) -> + avp(T, + Data, + 'Accounting-Realtime-Required', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Number', Opts) -> + avp(T, + Data, + 'Accounting-Record-Number', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Record-Type', Opts) -> + avp(T, + Data, + 'Accounting-Record-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Accounting-Sub-Session-Id', Opts) -> + avp(T, + Data, + 'Accounting-Sub-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Application-Id', Opts) -> + avp(T, + Data, + 'Acct-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Interim-Interval', Opts) -> + avp(T, + Data, + 'Acct-Interim-Interval', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Multi-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Multi-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Acct-Session-Id', Opts) -> + avp(T, + Data, + 'Acct-Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Application-Id', Opts) -> + avp(T, + Data, + 'Auth-Application-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Grace-Period', Opts) -> + avp(T, + Data, + 'Auth-Grace-Period', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Auth-Session-State', Opts) -> + avp(T, + Data, + 'Auth-Session-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Authorization-Lifetime', Opts) -> + avp(T, + Data, + 'Authorization-Lifetime', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Class', Opts) -> + avp(T, Data, 'Class', Opts, diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Host', Opts) -> + avp(T, + Data, + 'Destination-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Destination-Realm', Opts) -> + avp(T, + Data, + 'Destination-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Disconnect-Cause', Opts) -> + avp(T, + Data, + 'Disconnect-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Message', Opts) -> + avp(T, + Data, + 'Error-Message', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Error-Reporting-Host', Opts) -> + avp(T, + Data, + 'Error-Reporting-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Event-Timestamp', Opts) -> + avp(T, + Data, + 'Event-Timestamp', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Experimental-Result', Opts) -> + grouped_avp(T, 'Experimental-Result', Data, Opts); +avp(T, Data, 'Experimental-Result-Code', Opts) -> + avp(T, + Data, + 'Experimental-Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Failed-AVP', Opts) -> + grouped_avp(T, 'Failed-AVP', Data, Opts); +avp(T, Data, 'Firmware-Revision', Opts) -> + avp(T, + Data, + 'Firmware-Revision', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Host-IP-Address', Opts) -> + avp(T, + Data, + 'Host-IP-Address', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Inband-Security-Id', Opts) -> + avp(T, + Data, + 'Inband-Security-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Multi-Round-Time-Out', Opts) -> + avp(T, + Data, + 'Multi-Round-Time-Out', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Host', Opts) -> + avp(T, + Data, + 'Origin-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-Realm', Opts) -> + avp(T, + Data, + 'Origin-Realm', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Origin-State-Id', Opts) -> + avp(T, + Data, + 'Origin-State-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Product-Name', Opts) -> + avp(T, + Data, + 'Product-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Host', Opts) -> + avp(T, + Data, + 'Proxy-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Proxy-Info', Opts) -> + grouped_avp(T, 'Proxy-Info', Data, Opts); +avp(T, Data, 'Proxy-State', Opts) -> + avp(T, + Data, + 'Proxy-State', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Re-Auth-Request-Type', Opts) -> + avp(T, + Data, + 'Re-Auth-Request-Type', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host', Opts) -> + avp(T, + Data, + 'Redirect-Host', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Host-Usage', Opts) -> + avp(T, + Data, + 'Redirect-Host-Usage', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Redirect-Max-Cache-Time', Opts) -> + avp(T, + Data, + 'Redirect-Max-Cache-Time', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Result-Code', Opts) -> + avp(T, + Data, + 'Result-Code', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Route-Record', Opts) -> + avp(T, + Data, + 'Route-Record', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Binding', Opts) -> + avp(T, + Data, + 'Session-Binding', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Id', Opts) -> + avp(T, + Data, + 'Session-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Server-Failover', Opts) -> + avp(T, + Data, + 'Session-Server-Failover', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Session-Timeout', Opts) -> + avp(T, + Data, + 'Session-Timeout', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Supported-Vendor-Id', Opts) -> + avp(T, + Data, + 'Supported-Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Termination-Cause', Opts) -> + avp(T, + Data, + 'Termination-Cause', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'User-Name', Opts) -> + avp(T, + Data, + 'User-Name', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Id', Opts) -> + avp(T, + Data, + 'Vendor-Id', + Opts, + diameter_gen_base_rfc6733); +avp(T, Data, 'Vendor-Specific-Application-Id', Opts) -> + grouped_avp(T, + 'Vendor-Specific-Application-Id', + Data, + Opts); +avp(_, _, _, _) -> erlang:error(badarg). + +enumerated_avp(decode, 'Load-Type', <<0, 0, 0, 0>>) -> + 0; +enumerated_avp(encode, 'Load-Type', 0) -> + <<0, 0, 0, 0>>; +enumerated_avp(decode, 'Load-Type', <<0, 0, 0, 1>>) -> + 1; +enumerated_avp(encode, 'Load-Type', 1) -> + <<0, 0, 0, 1>>; +enumerated_avp(_, _, _) -> erlang:error(badarg). + +empty_value('Load', Opts) -> empty_group('Load', Opts); +empty_value('Proxy-Info', Opts) -> + empty_group('Proxy-Info', Opts); +empty_value('Failed-AVP', Opts) -> + empty_group('Failed-AVP', Opts); +empty_value('Experimental-Result', Opts) -> + empty_group('Experimental-Result', Opts); +empty_value('Vendor-Specific-Application-Id', Opts) -> + empty_group('Vendor-Specific-Application-Id', Opts); +empty_value('Load-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Disconnect-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Redirect-Host-Usage', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Request-Type', _) -> <<0, 0, 0, 0>>; +empty_value('Auth-Session-State', _) -> <<0, 0, 0, 0>>; +empty_value('Re-Auth-Request-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Termination-Cause', _) -> <<0, 0, 0, 0>>; +empty_value('Session-Server-Failover', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Record-Type', _) -> + <<0, 0, 0, 0>>; +empty_value('Accounting-Realtime-Required', _) -> + <<0, 0, 0, 0>>; +empty_value(Name, Opts) -> empty(Name, Opts). + +dict() -> + [1, + {avp_types, + [{"Load", 650, "Grouped", []}, + {"Load-Type", 651, "Enumerated", []}, + {"Load-Value", 652, "Unsigned64", []}, + {"SourceID", 649, "DiameterIdentity", []}]}, + {avp_vendor_id, []}, + {codecs, []}, + {command_codes, []}, + {custom_types, []}, + {define, []}, + {enum, [{"Load-Type", [{"HOST", 0}, {"PEER", 1}]}]}, + {grouped, + [{"Load", + 650, + [], + [["Load-Type"], + ["Load-Value"], + ["SourceID"], + {'*', ["AVP"]}]}]}, + {id, 1}, + {import_avps, + [{diameter_gen_base_rfc6733, + [{"Accounting-Realtime-Required", + 483, + "Enumerated", + "M"}, + {"Accounting-Record-Number", 485, "Unsigned32", "M"}, + {"Accounting-Record-Type", 480, "Enumerated", "M"}, + {"Accounting-Sub-Session-Id", 287, "Unsigned64", "M"}, + {"Acct-Application-Id", 259, "Unsigned32", "M"}, + {"Acct-Interim-Interval", 85, "Unsigned32", "M"}, + {"Acct-Multi-Session-Id", 50, "UTF8String", "M"}, + {"Acct-Session-Id", 44, "OctetString", "M"}, + {"Auth-Application-Id", 258, "Unsigned32", "M"}, + {"Auth-Grace-Period", 276, "Unsigned32", "M"}, + {"Auth-Request-Type", 274, "Enumerated", "M"}, + {"Auth-Session-State", 277, "Enumerated", "M"}, + {"Authorization-Lifetime", 291, "Unsigned32", "M"}, + {"Class", 25, "OctetString", "M"}, + {"Destination-Host", 293, "DiameterIdentity", "M"}, + {"Destination-Realm", 283, "DiameterIdentity", "M"}, + {"Disconnect-Cause", 273, "Enumerated", "M"}, + {"Error-Message", 281, "UTF8String", []}, + {"Error-Reporting-Host", 294, "DiameterIdentity", []}, + {"Event-Timestamp", 55, "Time", "M"}, + {"Experimental-Result", 297, "Grouped", "M"}, + {"Experimental-Result-Code", 298, "Unsigned32", "M"}, + {"Failed-AVP", 279, "Grouped", "M"}, + {"Firmware-Revision", 267, "Unsigned32", []}, + {"Host-IP-Address", 257, "Address", "M"}, + {"Inband-Security-Id", 299, "Unsigned32", "M"}, + {"Multi-Round-Time-Out", 272, "Unsigned32", "M"}, + {"Origin-Host", 264, "DiameterIdentity", "M"}, + {"Origin-Realm", 296, "DiameterIdentity", "M"}, + {"Origin-State-Id", 278, "Unsigned32", "M"}, + {"Product-Name", 269, "UTF8String", []}, + {"Proxy-Host", 280, "DiameterIdentity", "M"}, + {"Proxy-Info", 284, "Grouped", "M"}, + {"Proxy-State", 33, "OctetString", "M"}, + {"Re-Auth-Request-Type", 285, "Enumerated", "M"}, + {"Redirect-Host", 292, "DiameterURI", "M"}, + {"Redirect-Host-Usage", 261, "Enumerated", "M"}, + {"Redirect-Max-Cache-Time", 262, "Unsigned32", "M"}, + {"Result-Code", 268, "Unsigned32", "M"}, + {"Route-Record", 282, "DiameterIdentity", "M"}, + {"Session-Binding", 270, "Unsigned32", "M"}, + {"Session-Id", 263, "UTF8String", "M"}, + {"Session-Server-Failover", 271, "Enumerated", "M"}, + {"Session-Timeout", 27, "Unsigned32", "M"}, + {"Supported-Vendor-Id", 265, "Unsigned32", "M"}, + {"Termination-Cause", 295, "Enumerated", "M"}, + {"User-Name", 1, "UTF8String", "M"}, + {"Vendor-Id", 266, "Unsigned32", "M"}, + {"Vendor-Specific-Application-Id", + 260, + "Grouped", + "M"}]}]}, + {import_enums, + [{diameter_gen_base_rfc6733, + [{"Disconnect-Cause", + [{"REBOOTING", 0}, + {"BUSY", 1}, + {"DO_NOT_WANT_TO_TALK_TO_YOU", 2}]}, + {"Redirect-Host-Usage", + [{"DONT_CACHE", 0}, + {"ALL_SESSION", 1}, + {"ALL_REALM", 2}, + {"REALM_AND_APPLICATION", 3}, + {"ALL_APPLICATION", 4}, + {"ALL_HOST", 5}, + {"ALL_USER", 6}]}, + {"Auth-Request-Type", + [{"AUTHENTICATE_ONLY", 1}, + {"AUTHORIZE_ONLY", 2}, + {"AUTHORIZE_AUTHENTICATE", 3}]}, + {"Auth-Session-State", + [{"STATE_MAINTAINED", 0}, {"NO_STATE_MAINTAINED", 1}]}, + {"Re-Auth-Request-Type", + [{"AUTHORIZE_ONLY", 0}, {"AUTHORIZE_AUTHENTICATE", 1}]}, + {"Termination-Cause", + [{"LOGOUT", 1}, + {"SERVICE_NOT_PROVIDED", 2}, + {"BAD_ANSWER", 3}, + {"ADMINISTRATIVE", 4}, + {"LINK_BROKEN", 5}, + {"AUTH_EXPIRED", 6}, + {"USER_MOVED", 7}, + {"SESSION_TIMEOUT", 8}]}, + {"Session-Server-Failover", + [{"REFUSE_SERVICE", 0}, + {"TRY_AGAIN", 1}, + {"ALLOW_SERVICE", 2}, + {"TRY_AGAIN_ALLOW_SERVICE", 3}]}, + {"Accounting-Record-Type", + [{"EVENT_RECORD", 1}, + {"START_RECORD", 2}, + {"INTERIM_RECORD", 3}, + {"STOP_RECORD", 4}]}, + {"Accounting-Realtime-Required", + [{"DELIVER_AND_GRANT", 1}, + {"GRANT_AND_STORE", 2}, + {"GRANT_AND_LOSE", 3}]}]}]}, + {import_groups, + [{diameter_gen_base_rfc6733, + [{"Proxy-Info", + 284, + [], + [{"Proxy-Host"}, {"Proxy-State"}, {'*', ["AVP"]}]}, + {"Failed-AVP", 279, [], [{'*', {"AVP"}}]}, + {"Experimental-Result", + 297, + [], + [{"Vendor-Id"}, {"Experimental-Result-Code"}]}, + {"Vendor-Specific-Application-Id", + 260, + [], + [{"Vendor-Id"}, + ["Auth-Application-Id"], + ["Acct-Application-Id"]]}]}]}, + {inherits, [{"diameter_gen_base_rfc6733", []}]}, + {messages, []}]. + +