summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-diameter_3gpp.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-diameter_3gpp.c')
-rw-r--r--epan/dissectors/packet-diameter_3gpp.c1535
1 files changed, 824 insertions, 711 deletions
diff --git a/epan/dissectors/packet-diameter_3gpp.c b/epan/dissectors/packet-diameter_3gpp.c
index 5fc8542c..3966f4cd 100644
--- a/epan/dissectors/packet-diameter_3gpp.c
+++ b/epan/dissectors/packet-diameter_3gpp.c
@@ -19,6 +19,7 @@
#include <epan/packet.h>
#include <epan/expert.h>
#include <epan/asn1.h>
+#include <epan/tfs.h>
#include "packet-diameter.h"
#include "packet-diameter_3gpp.h"
@@ -33,572 +34,583 @@
void proto_register_diameter_3gpp(void);
void proto_reg_handoff_diameter_3gpp(void);
-static expert_field ei_diameter_3gpp_plmn_id_wrong_len = EI_INIT;
+static expert_field ei_diameter_3gpp_plmn_id_wrong_len;
/* Initialize the protocol and registered fields */
-static int proto_diameter_3gpp = -1;
-
-static int hf_diameter_3gpp_timezone = -1;
-static int hf_diameter_3gpp_timezone_adjustment = -1;
-static int hf_diameter_3gpp_rat_type = -1;
-static int hf_diameter_3gpp_path = -1;
-static int hf_diameter_3gpp_contact = -1;
-/* static int hf_diameter_3gpp_user_data = -1; */
-static int hf_diameter_3gpp_ipaddr = -1;
-static int hf_diameter_3gpp_mbms_required_qos_prio = -1;
-static int hf_diameter_3gpp_tmgi = -1;
-static int hf_diameter_3gpp_req_nodes = -1;
-static int hf_diameter_3gpp_req_nodes_bit0 = -1;
-static int hf_diameter_3gpp_req_nodes_bit1 = -1;
-static int hf_diameter_3gpp_req_nodes_bit2 = -1;
-static int hf_diameter_3gpp_req_nodes_bit3 = -1;
-static int hf_diameter_mbms_service_id = -1;
-static int hf_diameter_3gpp_spare_bits = -1;
-static int hf_diameter_3gpp_uar_flags_flags = -1;
-static int hf_diameter_3gpp_uar_flags_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list_flags = -1;
-static int hf_diameter_3gpp_cx_feature_list_flags = -1;
-static int hf_diameter_3gpp_cx_feature_list_1_flags_bit0 = -1;
-static int hf_diameter_3gpp_cx_feature_list_1_flags_bit1 = -1;
-static int hf_diameter_3gpp_cx_feature_list_1_flags_bit2 = -1;
-static int hf_diameter_3gpp_cx_feature_list_1_flags_bit3 = -1;
-static int hf_diameter_3gpp_cx_feature_list_1_flags_spare_bits = -1;
-static int hf_diameter_3gpp_feature_list1_sh_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list1_sh_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list1_sh_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list1_sh_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit8 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit9 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit10 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit11 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit12 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit13 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit14 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit15 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit16 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit17 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit18 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit19 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit20 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit21 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit22 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit23 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit24 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit25 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit26 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit27 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit28 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit29 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit30 = -1;
-static int hf_diameter_3gpp_feature_list1_s6a_flags_bit31 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit8 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit9 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit10 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit11 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit12 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit13 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit14 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit15 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit16 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit17 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit18 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit19 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit20 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit21 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit22 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit23 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit24 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit25 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit26 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit27 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit28 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit29 = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_bit30 = -1;
-static int hf_diameter_3gpp_feature_list_gx_flags = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit8 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit9 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit10 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit11 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit12 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit13 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit14 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit15 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit16 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit17 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit18 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit19 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit20 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit21 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit22 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit23 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit24 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit25 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit26 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit27 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit28 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit29 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit30 = -1;
-static int hf_diameter_3gpp_feature_list1_gx_flags_bit31 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list2_gx_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit8 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit9 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_bit10 = -1;
-static int hf_diameter_3gpp_feature_list_sd_flags_spare_bits = -1;
-static int hf_diameter_3gpp_cms_no_gyn_session_serv_not_allowed = -1;
-static int hf_diameter_3gpp_cms_no_gyn_session_serv_allowed = -1;
-static int hf_diameter_3gpp_cms_rating_failed = -1;
-static int hf_diameter_3gpp_cms_user_unknown = -1;
-static int hf_diameter_3gpp_cms_auth_rej = -1;
-static int hf_diameter_3gpp_cms_credit_ctrl_not_applicable = -1;
-static int hf_diameter_3gpp_cms_end_user_serv_status = -1;
-static int hf_diameter_3gpp_qos_subscribed = -1;
-static int hf_diameter_3gpp_qos_reliability_cls = -1;
-static int hf_diameter_3gpp_qos_prec_class = -1;
-static int hf_diameter_3gpp_qos_delay_cls = -1;
-static int hf_diameter_3gpp_qos_peak_thr = -1;
-static int hf_diameter_3gpp_qos_mean_thr = -1;
-static int hf_diameter_3gpp_qos_al_ret_priority = -1;
-static int hf_diameter_3gpp_qos_del_of_err_sdu = -1;
-static int hf_diameter_3gpp_qos_del_order = -1;
-static int hf_diameter_3gpp_qos_traffic_cls = -1;
-static int hf_diameter_3gpp_qos_maximum_sdu_size = -1;
-static int hf_diameter_3gpp_qos_max_bitrate_upl = -1;
-static int hf_diameter_3gpp_qos_max_bitrate_downl = -1;
-static int hf_diameter_3gpp_qos_sdu_err_rat = -1;
-static int hf_diameter_3gpp_qos_ber = -1;
-static int hf_diameter_3gpp_qos_traff_hdl_pri = -1;
-static int hf_diameter_3gpp_qos_trans_delay = -1;
-static int hf_diameter_3gpp_qos_guar_bitrate_upl = -1;
-static int hf_diameter_3gpp_qos_guar_bitrate_downl = -1;
-static int hf_diameter_3gpp_qos_source_stat_desc = -1;
-static int hf_diameter_3gpp_qos_signalling_ind = -1;
-static int hf_diameter_3gpp_qos_max_bitrate_downl_ext = -1;
-static int hf_diameter_3gpp_qos_guar_bitrate_downl_ext = -1;
-static int hf_diameter_3gpp_qos_max_bitrate_upl_ext = -1;
-static int hf_diameter_3gpp_qos_guar_bitrate_upl_ext = -1;
-static int hf_diameter_3gpp_qos_pre_emption_vulnerability = -1;
-static int hf_diameter_3gpp_qos_priority_level = -1;
-static int hf_diameter_3gpp_qos_pre_emption_capability = -1;
-static int hf_diameter_3gpp_ulr_flags = -1;
-static int hf_diameter_3gpp_ulr_flags_bit0 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit1 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit2 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit3 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit4 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit5 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit6 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit7 = -1;
-static int hf_diameter_3gpp_ulr_flags_bit8 = -1;
-static int hf_diameter_3gpp_ula_flags = -1;
-static int hf_diameter_3gpp_ula_flags_bit0 = -1;
-static int hf_diameter_3gpp_ula_flags_bit1 = -1;
-static int hf_diameter_3gpp_dsr_flags = -1;
-static int hf_diameter_3gpp_dsr_flags_bit0 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit1 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit2 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit3 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit4 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit5 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit6 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit7 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit8 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit9 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit10 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit11 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit12 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit13 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit14 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit15 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit16 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit17 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit18 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit19 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit20 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit21 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit22 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit23 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit24 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit25 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit26 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit27 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit28 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit29 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit30 = -1;
-static int hf_diameter_3gpp_dsr_flags_bit31 = -1;
-static int hf_diameter_3gpp_dsa_flags = -1;
-static int hf_diameter_3gpp_dsa_flags_bit0 = -1;
-static int hf_diameter_3gpp_ida_flags = -1;
-static int hf_diameter_3gpp_ida_flags_bit0 = -1;
-static int hf_diameter_3gpp_pua_flags = -1;
-static int hf_diameter_3gpp_pua_flags_bit0 = -1;
-static int hf_diameter_3gpp_pua_flags_bit1 = -1;
-static int hf_diameter_3gpp_nor_flags = -1;
-static int hf_diameter_3gpp_nor_flags_bit0 = -1;
-static int hf_diameter_3gpp_nor_flags_bit1 = -1;
-static int hf_diameter_3gpp_nor_flags_bit2 = -1;
-static int hf_diameter_3gpp_nor_flags_bit3 = -1;
-static int hf_diameter_3gpp_nor_flags_bit4 = -1;
-static int hf_diameter_3gpp_nor_flags_bit5 = -1;
-static int hf_diameter_3gpp_nor_flags_bit6 = -1;
-static int hf_diameter_3gpp_nor_flags_bit7 = -1;
-static int hf_diameter_3gpp_nor_flags_bit8 = -1;
-static int hf_diameter_3gpp_nor_flags_bit9 = -1;
-static int hf_diameter_3gpp_idr_flags = -1;
-static int hf_diameter_3gpp_idr_flags_bit0 = -1;
-static int hf_diameter_3gpp_idr_flags_bit1 = -1;
-static int hf_diameter_3gpp_idr_flags_bit2 = -1;
-static int hf_diameter_3gpp_idr_flags_bit3 = -1;
-static int hf_diameter_3gpp_idr_flags_bit4 = -1;
-static int hf_diameter_3gpp_idr_flags_bit5 = -1;
-static int hf_diameter_3gpp_idr_flags_bit6 = -1;
-static int hf_diameter_3gpp_idr_flags_bit7 = -1;
-static int hf_diameter_3gpp_idr_flags_bit8 = -1;
-static int hf_diameter_3gpp_ppr_flags = -1;
-static int hf_diameter_3gpp_ppr_flags_bit0 = -1;
-static int hf_diameter_3gpp_ppr_flags_bit1 = -1;
-static int hf_diameter_3gpp_ppr_flags_bit2 = -1;
-static int hf_diameter_3gpp_ppr_flags_bit3 = -1;
-static int hf_diameter_3gpp_aaa_fail_flags = -1;
-static int hf_diameter_3gpp_aaa_fail_flags_bit0 = -1;
-static int hf_diameter_3gpp_der_flags = -1;
-static int hf_diameter_3gpp_der_flags_bit0 = -1;
-static int hf_diameter_3gpp_der_flags_bit1 = -1;
-static int hf_diameter_3gpp_dea_flags = -1;
-static int hf_diameter_3gpp_dea_flags_bit0 = -1;
-static int hf_diameter_3gpp_dea_flags_bit1 = -1;
-static int hf_diameter_3gpp_rar_flags = -1;
-static int hf_diameter_3gpp_rar_flags_bit0 = -1;
-static int hf_diameter_3gpp_rar_flags_bit1 = -1;
-static int hf_diameter_3gpp_der_s6b_flags = -1;
-static int hf_diameter_3gpp_der_s6b_flags_bit0 = -1;
-static int hf_diameter_3gpp_ipv6addr = -1;
-static int hf_diameter_3gpp_mbms_abs_time_ofmbms_data_tfer = -1;
-static int hf_diameter_3gpp_udp_port = -1;
-static int hf_diameter_3gpp_codec_data_dir = -1;
-static int hf_diameter_3gpp_codec_sdp_type = -1;
-static int hf_diameter_3gpp_af_requested_data_flags = -1;
-static int hf_diameter_3gpp_af_requested_data_flags_bit0 = -1;
-static int hf_diameter_3gpp_mbms_bearer_event = -1;
-static int hf_diameter_3gpp_mbms_bearer_event_bit0 = -1;
-static int hf_diameter_3gpp_mbms_bearer_event_bit1 = -1;
-static int hf_diameter_3gpp_mbms_bearer_event_bit2 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit0 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit1 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit2 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit3 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit4 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit5 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit6 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit7 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit8 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit9 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit10 = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_bit11 = -1;
-static int hf_diameter_3gpp_tmgi_allocation_result = -1;
-static int hf_diameter_3gpp_tmgi_allocation_result_bit0 = -1;
-static int hf_diameter_3gpp_tmgi_allocation_result_bit1 = -1;
-static int hf_diameter_3gpp_tmgi_allocation_result_bit2 = -1;
-static int hf_diameter_3gpp_tmgi_allocation_result_bit3 = -1;
-static int hf_diameter_3gpp_tmgi_allocation_result_bit4 = -1;
-static int hf_diameter_3gpp_tmgi_deallocation_result = -1;
-static int hf_diameter_3gpp_tmgi_deallocation_result_bit0 = -1;
-static int hf_diameter_3gpp_tmgi_deallocation_result_bit1 = -1;
-static int hf_diameter_3gpp_tmgi_deallocation_result_bit2 = -1;
-static int hf_diameter_3gpp_sar_flags = -1;
-static int hf_diameter_3gpp_sar_flags_flags_bit0 = -1;
-static int hf_diameter_3gpp_emergency_services_flags = -1;
-static int hf_diameter_3gpp_emergency_services_flags_bit0 = -1;
-static int hf_diameter_3gpp_pur_flags = -1;
-static int hf_diameter_3gpp_pur_flags_spare_bits = -1;
-static int hf_diameter_3gpp_pur_flags_bit1 = -1;
-static int hf_diameter_3gpp_pur_flags_bit0 = -1;
-static int hf_diameter_3gpp_clr_flags = -1;
-static int hf_diameter_3gpp_clr_flags_spare_bits = -1;
-static int hf_diameter_3gpp_clr_flags_bit1 = -1;
-static int hf_diameter_3gpp_clr_flags_bit0 = -1;
-static int hf_diameter_3gpp_uvr_flags = -1;
-static int hf_diameter_3gpp_uvr_flags_spare_bits = -1;
-static int hf_diameter_3gpp_uvr_flags_bit0 = -1;
-static int hf_diameter_3gpp_uva_flags = -1;
-static int hf_diameter_3gpp_uva_flags_spare_bits = -1;
-static int hf_diameter_3gpp_uva_flags_bit0 = -1;
-static int hf_diameter_3gpp_subscription_data_flags = -1;
-static int hf_diameter_3gpp_subscription_data_flags_spare_bits = -1;
-static int hf_diameter_3gpp_subscription_data_flags_bit3 = -1;
-static int hf_diameter_3gpp_subscription_data_flags_bit2 = -1;
-static int hf_diameter_3gpp_subscription_data_flags_bit1 = -1;
-static int hf_diameter_3gpp_subscription_data_flags_bit0 = -1;
-static int hf_diameter_3gpp_wlan_offloadability_eutran = -1;
-static int hf_diameter_3gpp_wlan_offloadability_eutran_spare_bits = -1;
-static int hf_diameter_3gpp_wlan_offloadability_eutran_bit0 = -1;
-static int hf_diameter_3gpp_wlan_offloadability_utran = -1;
-static int hf_diameter_3gpp_wlan_offloadability_utran_spare_bits = -1;
-static int hf_diameter_3gpp_wlan_offloadability_utran_bit0 = -1;
-static int hf_diameter_3gpp_air_flags = -1;
-static int hf_diameter_3gpp_air_flags_spare_bits = -1;
-static int hf_diameter_3gpp_air_flags_bit0 = -1;
-static int hf_diameter_3gpp_preferred_data_mode = -1;
-static int hf_diameter_3gpp_preferred_data_mode_spare_bits = -1;
-static int hf_diameter_3gpp_preferred_data_mode_bit1 = -1;
-static int hf_diameter_3gpp_preferred_data_mode_bit0 = -1;
-static int hf_diameter_3gpp_v2x_permission = -1;
-static int hf_diameter_3gpp_v2x_permission_spare_bits = -1;
-static int hf_diameter_3gpp_v2x_permission_bit1 = -1;
-static int hf_diameter_3gpp_v2x_permission_bit0 = -1;
-static int hf_diameter_3gpp_core_network_restrictions = -1;
-static int hf_diameter_3gpp_core_network_restrictions_spare_bits = -1;
-static int hf_diameter_3gpp_core_network_restrictions_bit1 = -1;
-static int hf_diameter_3gpp_core_network_restrictions_bit0 = -1;
-static int hf_diameter_3gpp_supported_gad_shapes = -1;
-static int hf_diameter_3gpp_highaccuracyellipsoidpointwithaltitudeandscalableuncertaintyellipsoid_bit10 = -1;
-static int hf_diameter_3gpp_highaccuracyellipsoidpointwithscalableuncertaintyellipse_bit9 = -1;
-static int hf_diameter_3gpp_highaccuracyellipsoidpointwithaltitudeanduncertaintyellipsoid_bit8 = -1;
-static int hf_diameter_3gpp_highaccuracyellipsoidpointwithuncertaintyellipse_bit7 = -1;
-static int hf_diameter_3gpp_ellipsoidarc_bit6 = -1;
-static int hf_diameter_3gpp_ellipsoidpointwithaltitudeanduncertaintyelipsoid_bit5 = -1;
-static int hf_diameter_3gpp_ellipsoidpointwithaltitude_bit4 = -1;
-static int hf_diameter_3gpp_polygon_bit3 = -1;
-static int hf_diameter_3gpp_ellipsoidpointwithuncertaintyellipse_bit2 = -1;
-static int hf_diameter_3gpp_ellipsoidpointwithuncertaintycircle_bit1 = -1;
-static int hf_diameter_3gpp_ellipsoidpoint_bit0 = -1;
-
-
-static int hf_diameter_3gpp_uar_flags_flags_spare_bits = -1;
-static int hf_diameter_3gpp_feature_list1_sh_flags_spare_bits = -1;
-static int hf_diameter_3gpp_feature_list2_s6a_flags_spare_bits = -1;
-static int hf_diameter_3gpp_cms_spare_bits = -1;
-static int hf_diameter_3gpp_ulr_flags_spare_bits = -1;
-static int hf_diameter_3gpp_ula_flags_spare_bits = -1;
-static int hf_diameter_3gpp_dsa_flags_spare_bits = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit0 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit1 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit2 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit3 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit4 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit5 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit6 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit7 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit8 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit9 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit10 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit11 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_bit12 = -1;
-static int hf_diameter_3gpp_acc_res_dat_flags_spare_bits = -1;
-static int hf_diameter_3gpp_ida_flags_spare_bits = -1;
-static int hf_diameter_3gpp_pua_flags_spare_bits = -1;
-static int hf_diameter_3gpp_nor_flags_spare_bits = -1;
-static int hf_diameter_3gpp_idr_flags_spare_bits = -1;
-static int hf_diameter_3gpp_ppr_flags_spare_bits = -1;
-static int hf_diameter_3gpp_aaa_fail_flags_spare_bits = -1;
-static int hf_diameter_3gpp_der_flags_spare_bits = -1;
-static int hf_diameter_3gpp_dea_flags_spare_bits = -1;
-static int hf_diameter_3gpp_rar_flags_spare_bits = -1;
-static int hf_diameter_3gpp_der_s6b_flags_spare_bits = -1;
-static int hf_diameter_3gpp_mbms_bearer_event_spare_bits = -1;
-static int hf_diameter_3gpp_mbms_bearer_result_spare_bits = -1;
-static int hf_diameter_3gpp_tmgi_allocation_result_spare_bits = -1;
-static int hf_diameter_3gpp_tmgi_deallocation_result_spare_bits = -1;
-static int hf_diameter_3gpp_emergency_services_flags_spare_bits = -1;
-
-static int hf_diameter_3gpp_plr_flags = -1;
-static int hf_diameter_3gpp_plr_flags_spare_bits = -1;
-static int hf_diameter_3gpp_delayed_location_reporting_support_indicator_bit2 = -1;
-static int hf_diameter_3gpp_optimized_lcs_proc_req_bit1 = -1;
-static int hf_diameter_3gpp_mo_lr_shortcircuit_indicator_bit0 = -1;
-
-static int hf_diameter_3gpp_pla_flags = -1;
-static int hf_diameter_3gpp_pla_flags_spare_bits = -1;
-static int hf_diameter_3gpp_ue_transiently_not_reachable_indicator_bit3 = -1;
-static int hf_diameter_3gpp_optimized_lcs_proc_performed_bit2 = -1;
-static int hf_diameter_3gpp_mo_lr_shortcircuit_indicator_bit1 = -1;
-static int hf_diameter_3gpp_deferred_mt_lr_response_indicator_bit0 = -1;
-
-static int hf_diameter_3gpp_deferred_location_type = -1;
-static int hf_diameter_3gpp_deferred_location_type_spare_bits = -1;
-static int hf_diameter_3gpp_ue_available_bit0 = -1;
-static int hf_diameter_3gpp_entering_into_area_bit1 = -1;
-static int hf_diameter_3gpp_leaving_from_area_bit2 = -1;
-static int hf_diameter_3gpp_being_inside_area_bit3 = -1;
-static int hf_diameter_3gpp_periodic_ldr_bit4 = -1;
-static int hf_diameter_3gpp_motion_event_bit5 = -1;
-static int hf_diameter_3gpp_ldr_activated_bit6 = -1;
-static int hf_diameter_3gpp_maximum_interval_exporation_bit7 = -1;
-
-static gint diameter_3gpp_path_ett = -1;
-static gint diameter_3gpp_feature_list_ett = -1;
-static gint diameter_3gpp_uar_flags_ett = -1;
-static gint diameter_3gpp_tmgi_ett = -1;
-static gint diameter_3gpp_cms_ett = -1;
-
-static int hf_diameter_3gpp_secondary_rat_type = -1;
-
-static int hf_diameter_3gpp_gcip = -1;
-static int hf_diameter_3gpp_amec = -1;
-static int hf_diameter_3gpp_coame = -1;
-static int hf_diameter_3gpp_acpc = -1;
-static int hf_diameter_3gpp_rir_flags = -1;
-static int hf_diameter_3gpp_rir_spare_b31_b4 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit8 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_flags_bit9 = -1;
-static int hf_diameter_3gpp_feature_list_s6t_spare_b31_b10 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b0 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b1 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b2 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b3 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b4 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b5 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b6 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b7 = -1;
-static int hf_diameter_3gpp_supported_monitoring_events_b8 = -1;
-
-static gint diameter_3gpp_qos_subscribed_ett = -1;
-static gint diameter_3gpp_ulr_flags_ett = -1;
-static gint diameter_3gpp_ula_flags_ett = -1;
-static gint diameter_3gpp_dsr_flags_ett = -1;
-static gint diameter_3gpp_dsa_flags_ett = -1;
-static gint diameter_3gpp_ida_flags_ett = -1;
-static gint diameter_3gpp_pua_flags_ett = -1;
-static gint diameter_3gpp_nor_flags_ett = -1;
-static gint diameter_3gpp_idr_flags_ett = -1;
-static gint diameter_3gpp_ppr_flags_ett = -1;
-static gint diameter_3gpp_aaa_fail_flags_ett = -1;
-static gint diameter_3gpp_der_flags_ett = -1;
-static gint diameter_3gpp_dea_flags_ett = -1;
-static gint diameter_3gpp_rar_flags_ett = -1;
-static gint diameter_3gpp_der_s6b_flags_ett = -1;
-static gint diameter_3gpp_mbms_bearer_event_ett = -1;
-static gint diameter_3gpp_mbms_bearer_result_ett = -1;
-static gint diameter_3gpp_tmgi_allocation_result_ett = -1;
-static gint diameter_3gpp_tmgi_deallocation_result_ett = -1;
-static gint diameter_3gpp_sar_flags_ett = -1;
-static gint diameter_3gpp_req_nodes_ett = -1;
-static gint diameter_3gpp_emergency_services_flags_ett = -1;
-static gint diameter_3gpp_pur_flags_ett = -1;
-static gint diameter_3gpp_clr_flags_ett = -1;
-static gint diameter_3gpp_uvr_flags_ett = -1;
-static gint diameter_3gpp_uva_flags_ett = -1;
-static gint diameter_3gpp_subscription_data_flags_ett = -1;
-static gint diameter_3gpp_wlan_offloadability_eutran_ett = -1;
-static gint diameter_3gpp_wlan_offloadability_utran_ett = -1;
-static gint diameter_3gpp_air_flags_ett = -1;
-static gint diameter_3gpp_preferred_data_mode_ett = -1;
-static gint diameter_3gpp_v2x_permission_ett = -1;
-static gint diameter_3gpp_core_network_restrictions_ett = -1;
-static gint diameter_3gpp_supported_gad_shapes_ett = -1;
-static gint diameter_3gpp_plr_flags_ett = -1;
-static gint diameter_3gpp_pla_flags_ett = -1;
-static gint diameter_3gpp_deferred_location_type_ett = -1;
-static gint diameter_3gpp_rir_flags_ett = -1;
-static gint diameter_3gpp_supported_monitoring_events_ett = -1;
-static gint diameter_3gpp_af_requested_data_flags_ett = -1;
-
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit8 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit9 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit10 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit11 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit12 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit13 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit14 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit15 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit16 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit17 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit18 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit19 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit20 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit21 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_bit22 = -1;
-static int hf_diameter_3gpp_feature_list1_rx_flags_spare_bits = -1;
-
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit0 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit1 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit2 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit3 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit4 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit5 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit6 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit7 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit8 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit9 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit10 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit11 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit12 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit13 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit14 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_bit15 = -1;
-static int hf_diameter_3gpp_feature_list2_rx_flags_spare_bits = -1;
-
-static int hf_diameter_3gpp_ran_nas_protocol_type = -1;
-static int hf_diameter_3gpp_ran_nas_cause_type = -1;
-static int hf_diameter_3gpp_ran_nas_cause_value = -1;
-static int hf_diameter_3gpp_s1ap_radio_network = -1;
-static int hf_diameter_3gpp_s1ap_transport = -1;
-static int hf_diameter_3gpp_s1ap_nas = -1;
-static int hf_diameter_3gpp_s1ap_protocol = -1;
-static int hf_diameter_3gpp_s1ap_misc = -1;
-static int hf_diameter_3gpp_emm_cause = -1;
-static int hf_diameter_3gpp_esm_cause = -1;
-static int hf_diameter_3gpp_diameter_cause = -1;
-static int hf_diameter_3gpp_ikev2_cause = -1;
+static int proto_diameter_3gpp;
+
+static int hf_diameter_3gpp_timezone;
+static int hf_diameter_3gpp_timezone_adjustment;
+static int hf_diameter_3gpp_rat_type;
+static int hf_diameter_3gpp_path;
+static int hf_diameter_3gpp_contact;
+/* static int hf_diameter_3gpp_user_data; */
+static int hf_diameter_3gpp_ipaddr;
+static int hf_diameter_3gpp_mbms_required_qos_prio;
+static int hf_diameter_3gpp_tmgi;
+static int hf_diameter_3gpp_req_nodes;
+static int hf_diameter_3gpp_req_nodes_bit0;
+static int hf_diameter_3gpp_req_nodes_bit1;
+static int hf_diameter_3gpp_req_nodes_bit2;
+static int hf_diameter_3gpp_req_nodes_bit3;
+static int hf_diameter_mbms_service_id;
+static int hf_diameter_3gpp_spare_bits;
+static int hf_diameter_3gpp_uar_flags_flags;
+static int hf_diameter_3gpp_uar_flags_flags_bit0;
+static int hf_diameter_3gpp_feature_list_flags;
+static int hf_diameter_3gpp_cx_feature_list_flags;
+static int hf_diameter_3gpp_cx_feature_list_1_flags_bit0;
+static int hf_diameter_3gpp_cx_feature_list_1_flags_bit1;
+static int hf_diameter_3gpp_cx_feature_list_1_flags_bit2;
+static int hf_diameter_3gpp_cx_feature_list_1_flags_bit3;
+static int hf_diameter_3gpp_cx_feature_list_1_flags_spare_bits;
+static int hf_diameter_3gpp_feature_list1_sh_flags_bit0;
+static int hf_diameter_3gpp_feature_list1_sh_flags_bit1;
+static int hf_diameter_3gpp_feature_list1_sh_flags_bit2;
+static int hf_diameter_3gpp_feature_list1_sh_flags_bit3;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit0;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit1;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit2;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit3;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit4;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit5;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit6;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit7;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit8;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit9;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit10;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit11;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit12;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit13;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit14;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit15;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit16;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit17;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit18;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit19;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit20;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit21;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit22;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit23;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit24;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit25;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit26;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit27;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit28;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit29;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit30;
+static int hf_diameter_3gpp_feature_list1_s6a_flags_bit31;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit0;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit1;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit2;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit3;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit4;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit5;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit6;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit7;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit8;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit9;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit10;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit11;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit12;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit13;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit14;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit15;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit16;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit17;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit18;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit19;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit20;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit21;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit22;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit23;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit24;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit25;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit26;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit27;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit28;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit29;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_bit30;
+static int hf_diameter_3gpp_feature_list_gx_flags;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit0;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit1;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit2;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit3;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit4;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit5;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit6;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit7;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit8;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit9;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit10;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit11;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit12;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit13;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit14;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit15;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit16;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit17;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit18;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit19;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit20;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit21;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit22;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit23;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit24;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit25;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit26;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit27;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit28;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit29;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit30;
+static int hf_diameter_3gpp_feature_list1_gx_flags_bit31;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit0;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit1;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit2;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit3;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit4;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit5;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit6;
+static int hf_diameter_3gpp_feature_list2_gx_flags_bit7;
+static int hf_diameter_3gpp_feature_list_sd_flags;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit0;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit1;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit2;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit3;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit4;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit5;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit6;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit7;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit8;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit9;
+static int hf_diameter_3gpp_feature_list_sd_flags_bit10;
+static int hf_diameter_3gpp_feature_list_sd_flags_spare_bits;
+static int hf_diameter_3gpp_cms_no_gyn_session_serv_not_allowed;
+static int hf_diameter_3gpp_cms_no_gyn_session_serv_allowed;
+static int hf_diameter_3gpp_cms_rating_failed;
+static int hf_diameter_3gpp_cms_user_unknown;
+static int hf_diameter_3gpp_cms_auth_rej;
+static int hf_diameter_3gpp_cms_credit_ctrl_not_applicable;
+static int hf_diameter_3gpp_cms_end_user_serv_status;
+static int hf_diameter_3gpp_qos_subscribed;
+static int hf_diameter_3gpp_qos_reliability_cls;
+static int hf_diameter_3gpp_qos_prec_class;
+static int hf_diameter_3gpp_qos_delay_cls;
+static int hf_diameter_3gpp_qos_peak_thr;
+static int hf_diameter_3gpp_qos_mean_thr;
+static int hf_diameter_3gpp_qos_al_ret_priority;
+static int hf_diameter_3gpp_qos_del_of_err_sdu;
+static int hf_diameter_3gpp_qos_del_order;
+static int hf_diameter_3gpp_qos_traffic_cls;
+static int hf_diameter_3gpp_qos_maximum_sdu_size;
+static int hf_diameter_3gpp_qos_max_bitrate_upl;
+static int hf_diameter_3gpp_qos_max_bitrate_downl;
+static int hf_diameter_3gpp_qos_sdu_err_rat;
+static int hf_diameter_3gpp_qos_ber;
+static int hf_diameter_3gpp_qos_traff_hdl_pri;
+static int hf_diameter_3gpp_qos_trans_delay;
+static int hf_diameter_3gpp_qos_guar_bitrate_upl;
+static int hf_diameter_3gpp_qos_guar_bitrate_downl;
+static int hf_diameter_3gpp_qos_source_stat_desc;
+static int hf_diameter_3gpp_qos_signalling_ind;
+static int hf_diameter_3gpp_qos_max_bitrate_downl_ext;
+static int hf_diameter_3gpp_qos_guar_bitrate_downl_ext;
+static int hf_diameter_3gpp_qos_max_bitrate_upl_ext;
+static int hf_diameter_3gpp_qos_guar_bitrate_upl_ext;
+static int hf_diameter_3gpp_qos_pre_emption_vulnerability;
+static int hf_diameter_3gpp_qos_priority_level;
+static int hf_diameter_3gpp_qos_pre_emption_capability;
+static int hf_diameter_3gpp_ulr_flags;
+static int hf_diameter_3gpp_ulr_flags_bit0;
+static int hf_diameter_3gpp_ulr_flags_bit1;
+static int hf_diameter_3gpp_ulr_flags_bit2;
+static int hf_diameter_3gpp_ulr_flags_bit3;
+static int hf_diameter_3gpp_ulr_flags_bit4;
+static int hf_diameter_3gpp_ulr_flags_bit5;
+static int hf_diameter_3gpp_ulr_flags_bit6;
+static int hf_diameter_3gpp_ulr_flags_bit7;
+static int hf_diameter_3gpp_ulr_flags_bit8;
+static int hf_diameter_3gpp_ula_flags;
+static int hf_diameter_3gpp_ula_flags_bit0;
+static int hf_diameter_3gpp_ula_flags_bit1;
+static int hf_diameter_3gpp_dsr_flags;
+static int hf_diameter_3gpp_dsr_flags_bit0;
+static int hf_diameter_3gpp_dsr_flags_bit1;
+static int hf_diameter_3gpp_dsr_flags_bit2;
+static int hf_diameter_3gpp_dsr_flags_bit3;
+static int hf_diameter_3gpp_dsr_flags_bit4;
+static int hf_diameter_3gpp_dsr_flags_bit5;
+static int hf_diameter_3gpp_dsr_flags_bit6;
+static int hf_diameter_3gpp_dsr_flags_bit7;
+static int hf_diameter_3gpp_dsr_flags_bit8;
+static int hf_diameter_3gpp_dsr_flags_bit9;
+static int hf_diameter_3gpp_dsr_flags_bit10;
+static int hf_diameter_3gpp_dsr_flags_bit11;
+static int hf_diameter_3gpp_dsr_flags_bit12;
+static int hf_diameter_3gpp_dsr_flags_bit13;
+static int hf_diameter_3gpp_dsr_flags_bit14;
+static int hf_diameter_3gpp_dsr_flags_bit15;
+static int hf_diameter_3gpp_dsr_flags_bit16;
+static int hf_diameter_3gpp_dsr_flags_bit17;
+static int hf_diameter_3gpp_dsr_flags_bit18;
+static int hf_diameter_3gpp_dsr_flags_bit19;
+static int hf_diameter_3gpp_dsr_flags_bit20;
+static int hf_diameter_3gpp_dsr_flags_bit21;
+static int hf_diameter_3gpp_dsr_flags_bit22;
+static int hf_diameter_3gpp_dsr_flags_bit23;
+static int hf_diameter_3gpp_dsr_flags_bit24;
+static int hf_diameter_3gpp_dsr_flags_bit25;
+static int hf_diameter_3gpp_dsr_flags_bit26;
+static int hf_diameter_3gpp_dsr_flags_bit27;
+static int hf_diameter_3gpp_dsr_flags_bit28;
+static int hf_diameter_3gpp_dsr_flags_bit29;
+static int hf_diameter_3gpp_dsr_flags_bit30;
+static int hf_diameter_3gpp_dsr_flags_bit31;
+static int hf_diameter_3gpp_dsa_flags;
+static int hf_diameter_3gpp_dsa_flags_bit0;
+static int hf_diameter_3gpp_ida_flags;
+static int hf_diameter_3gpp_ida_flags_bit0;
+static int hf_diameter_3gpp_pua_flags;
+static int hf_diameter_3gpp_pua_flags_bit0;
+static int hf_diameter_3gpp_pua_flags_bit1;
+static int hf_diameter_3gpp_nor_flags;
+static int hf_diameter_3gpp_nor_flags_bit0;
+static int hf_diameter_3gpp_nor_flags_bit1;
+static int hf_diameter_3gpp_nor_flags_bit2;
+static int hf_diameter_3gpp_nor_flags_bit3;
+static int hf_diameter_3gpp_nor_flags_bit4;
+static int hf_diameter_3gpp_nor_flags_bit5;
+static int hf_diameter_3gpp_nor_flags_bit6;
+static int hf_diameter_3gpp_nor_flags_bit7;
+static int hf_diameter_3gpp_nor_flags_bit8;
+static int hf_diameter_3gpp_nor_flags_bit9;
+static int hf_diameter_3gpp_idr_flags;
+static int hf_diameter_3gpp_idr_flags_bit0;
+static int hf_diameter_3gpp_idr_flags_bit1;
+static int hf_diameter_3gpp_idr_flags_bit2;
+static int hf_diameter_3gpp_idr_flags_bit3;
+static int hf_diameter_3gpp_idr_flags_bit4;
+static int hf_diameter_3gpp_idr_flags_bit5;
+static int hf_diameter_3gpp_idr_flags_bit6;
+static int hf_diameter_3gpp_idr_flags_bit7;
+static int hf_diameter_3gpp_idr_flags_bit8;
+static int hf_diameter_3gpp_ppr_flags;
+static int hf_diameter_3gpp_ppr_flags_bit0;
+static int hf_diameter_3gpp_ppr_flags_bit1;
+static int hf_diameter_3gpp_ppr_flags_bit2;
+static int hf_diameter_3gpp_ppr_flags_bit3;
+static int hf_diameter_3gpp_aaa_fail_flags;
+static int hf_diameter_3gpp_aaa_fail_flags_bit0;
+static int hf_diameter_3gpp_der_flags;
+static int hf_diameter_3gpp_der_flags_bit0;
+static int hf_diameter_3gpp_der_flags_bit1;
+static int hf_diameter_3gpp_dea_flags;
+static int hf_diameter_3gpp_dea_flags_bit0;
+static int hf_diameter_3gpp_dea_flags_bit1;
+static int hf_diameter_3gpp_rar_flags;
+static int hf_diameter_3gpp_rar_flags_bit0;
+static int hf_diameter_3gpp_rar_flags_bit1;
+static int hf_diameter_3gpp_der_s6b_flags;
+static int hf_diameter_3gpp_der_s6b_flags_bit0;
+static int hf_diameter_3gpp_ipv6addr;
+static int hf_diameter_3gpp_mbms_abs_time_ofmbms_data_tfer;
+static int hf_diameter_3gpp_udp_port;
+static int hf_diameter_3gpp_codec_data_dir;
+static int hf_diameter_3gpp_codec_sdp_type;
+static int hf_diameter_3gpp_af_requested_data_flags;
+static int hf_diameter_3gpp_af_requested_data_flags_bit0;
+static int hf_diameter_3gpp_mbms_bearer_event;
+static int hf_diameter_3gpp_mbms_bearer_event_bit0;
+static int hf_diameter_3gpp_mbms_bearer_event_bit1;
+static int hf_diameter_3gpp_mbms_bearer_event_bit2;
+static int hf_diameter_3gpp_mbms_bearer_result;
+static int hf_diameter_3gpp_mbms_bearer_result_bit0;
+static int hf_diameter_3gpp_mbms_bearer_result_bit1;
+static int hf_diameter_3gpp_mbms_bearer_result_bit2;
+static int hf_diameter_3gpp_mbms_bearer_result_bit3;
+static int hf_diameter_3gpp_mbms_bearer_result_bit4;
+static int hf_diameter_3gpp_mbms_bearer_result_bit5;
+static int hf_diameter_3gpp_mbms_bearer_result_bit6;
+static int hf_diameter_3gpp_mbms_bearer_result_bit7;
+static int hf_diameter_3gpp_mbms_bearer_result_bit8;
+static int hf_diameter_3gpp_mbms_bearer_result_bit9;
+static int hf_diameter_3gpp_mbms_bearer_result_bit10;
+static int hf_diameter_3gpp_mbms_bearer_result_bit11;
+static int hf_diameter_3gpp_tmgi_allocation_result;
+static int hf_diameter_3gpp_tmgi_allocation_result_bit0;
+static int hf_diameter_3gpp_tmgi_allocation_result_bit1;
+static int hf_diameter_3gpp_tmgi_allocation_result_bit2;
+static int hf_diameter_3gpp_tmgi_allocation_result_bit3;
+static int hf_diameter_3gpp_tmgi_allocation_result_bit4;
+static int hf_diameter_3gpp_tmgi_deallocation_result;
+static int hf_diameter_3gpp_tmgi_deallocation_result_bit0;
+static int hf_diameter_3gpp_tmgi_deallocation_result_bit1;
+static int hf_diameter_3gpp_tmgi_deallocation_result_bit2;
+static int hf_diameter_3gpp_sar_flags;
+static int hf_diameter_3gpp_sar_flags_flags_bit0;
+static int hf_diameter_3gpp_emergency_services_flags;
+static int hf_diameter_3gpp_emergency_services_flags_bit0;
+static int hf_diameter_3gpp_pur_flags;
+static int hf_diameter_3gpp_pur_flags_spare_bits;
+static int hf_diameter_3gpp_pur_flags_bit1;
+static int hf_diameter_3gpp_pur_flags_bit0;
+static int hf_diameter_3gpp_clr_flags;
+static int hf_diameter_3gpp_clr_flags_spare_bits;
+static int hf_diameter_3gpp_clr_flags_bit1;
+static int hf_diameter_3gpp_clr_flags_bit0;
+static int hf_diameter_3gpp_uvr_flags;
+static int hf_diameter_3gpp_uvr_flags_spare_bits;
+static int hf_diameter_3gpp_uvr_flags_bit0;
+static int hf_diameter_3gpp_uva_flags;
+static int hf_diameter_3gpp_uva_flags_spare_bits;
+static int hf_diameter_3gpp_uva_flags_bit0;
+static int hf_diameter_3gpp_subscription_data_flags;
+static int hf_diameter_3gpp_subscription_data_flags_spare_bits;
+static int hf_diameter_3gpp_subscription_data_flags_bit3;
+static int hf_diameter_3gpp_subscription_data_flags_bit2;
+static int hf_diameter_3gpp_subscription_data_flags_bit1;
+static int hf_diameter_3gpp_subscription_data_flags_bit0;
+static int hf_diameter_3gpp_wlan_offloadability_eutran;
+static int hf_diameter_3gpp_wlan_offloadability_eutran_spare_bits;
+static int hf_diameter_3gpp_wlan_offloadability_eutran_bit0;
+static int hf_diameter_3gpp_wlan_offloadability_utran;
+static int hf_diameter_3gpp_wlan_offloadability_utran_spare_bits;
+static int hf_diameter_3gpp_wlan_offloadability_utran_bit0;
+static int hf_diameter_3gpp_air_flags;
+static int hf_diameter_3gpp_air_flags_spare_bits;
+static int hf_diameter_3gpp_air_flags_bit0;
+static int hf_diameter_3gpp_preferred_data_mode;
+static int hf_diameter_3gpp_preferred_data_mode_spare_bits;
+static int hf_diameter_3gpp_preferred_data_mode_bit1;
+static int hf_diameter_3gpp_preferred_data_mode_bit0;
+static int hf_diameter_3gpp_v2x_permission;
+static int hf_diameter_3gpp_v2x_permission_spare_bits;
+static int hf_diameter_3gpp_v2x_permission_bit1;
+static int hf_diameter_3gpp_v2x_permission_bit0;
+static int hf_diameter_3gpp_core_network_restrictions;
+static int hf_diameter_3gpp_core_network_restrictions_spare_bits;
+static int hf_diameter_3gpp_core_network_restrictions_bit1;
+static int hf_diameter_3gpp_core_network_restrictions_bit0;
+static int hf_diameter_3gpp_supported_gad_shapes;
+static int hf_diameter_3gpp_highaccuracyellipsoidpointwithaltitudeandscalableuncertaintyellipsoid_bit10;
+static int hf_diameter_3gpp_highaccuracyellipsoidpointwithscalableuncertaintyellipse_bit9;
+static int hf_diameter_3gpp_highaccuracyellipsoidpointwithaltitudeanduncertaintyellipsoid_bit8;
+static int hf_diameter_3gpp_highaccuracyellipsoidpointwithuncertaintyellipse_bit7;
+static int hf_diameter_3gpp_ellipsoidarc_bit6;
+static int hf_diameter_3gpp_ellipsoidpointwithaltitudeanduncertaintyelipsoid_bit5;
+static int hf_diameter_3gpp_ellipsoidpointwithaltitude_bit4;
+static int hf_diameter_3gpp_polygon_bit3;
+static int hf_diameter_3gpp_ellipsoidpointwithuncertaintyellipse_bit2;
+static int hf_diameter_3gpp_ellipsoidpointwithuncertaintycircle_bit1;
+static int hf_diameter_3gpp_ellipsoidpoint_bit0;
+
+
+static int hf_diameter_3gpp_uar_flags_flags_spare_bits;
+static int hf_diameter_3gpp_feature_list1_sh_flags_spare_bits;
+static int hf_diameter_3gpp_feature_list2_s6a_flags_spare_bits;
+static int hf_diameter_3gpp_cms_spare_bits;
+static int hf_diameter_3gpp_ulr_flags_spare_bits;
+static int hf_diameter_3gpp_ula_flags_spare_bits;
+static int hf_diameter_3gpp_dsa_flags_spare_bits;
+static int hf_diameter_3gpp_acc_res_dat_flags;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit0;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit1;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit2;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit3;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit4;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit5;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit6;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit7;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit8;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit9;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit10;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit11;
+static int hf_diameter_3gpp_acc_res_dat_flags_bit12;
+static int hf_diameter_3gpp_acc_res_dat_flags_spare_bits;
+static int hf_diameter_3gpp_ida_flags_spare_bits;
+static int hf_diameter_3gpp_pua_flags_spare_bits;
+static int hf_diameter_3gpp_nor_flags_spare_bits;
+static int hf_diameter_3gpp_idr_flags_spare_bits;
+static int hf_diameter_3gpp_ppr_flags_spare_bits;
+static int hf_diameter_3gpp_aaa_fail_flags_spare_bits;
+static int hf_diameter_3gpp_der_flags_spare_bits;
+static int hf_diameter_3gpp_dea_flags_spare_bits;
+static int hf_diameter_3gpp_rar_flags_spare_bits;
+static int hf_diameter_3gpp_der_s6b_flags_spare_bits;
+static int hf_diameter_3gpp_mbms_bearer_event_spare_bits;
+static int hf_diameter_3gpp_mbms_bearer_result_spare_bits;
+static int hf_diameter_3gpp_tmgi_allocation_result_spare_bits;
+static int hf_diameter_3gpp_tmgi_deallocation_result_spare_bits;
+static int hf_diameter_3gpp_emergency_services_flags_spare_bits;
+
+static int hf_diameter_3gpp_plr_flags;
+static int hf_diameter_3gpp_plr_flags_spare_bits;
+static int hf_diameter_3gpp_delayed_location_reporting_support_indicator_bit2;
+static int hf_diameter_3gpp_optimized_lcs_proc_req_bit1;
+static int hf_diameter_3gpp_mo_lr_shortcircuit_indicator_bit0;
+
+static int hf_diameter_3gpp_pla_flags;
+static int hf_diameter_3gpp_pla_flags_spare_bits;
+static int hf_diameter_3gpp_ue_transiently_not_reachable_indicator_bit3;
+static int hf_diameter_3gpp_optimized_lcs_proc_performed_bit2;
+static int hf_diameter_3gpp_mo_lr_shortcircuit_indicator_bit1;
+static int hf_diameter_3gpp_deferred_mt_lr_response_indicator_bit0;
+
+static int hf_diameter_3gpp_deferred_location_type;
+static int hf_diameter_3gpp_deferred_location_type_spare_bits;
+static int hf_diameter_3gpp_ue_available_bit0;
+static int hf_diameter_3gpp_entering_into_area_bit1;
+static int hf_diameter_3gpp_leaving_from_area_bit2;
+static int hf_diameter_3gpp_being_inside_area_bit3;
+static int hf_diameter_3gpp_periodic_ldr_bit4;
+static int hf_diameter_3gpp_motion_event_bit5;
+static int hf_diameter_3gpp_ldr_activated_bit6;
+static int hf_diameter_3gpp_maximum_interval_exporation_bit7;
+
+static int ett_diameter_3gpp_path;
+static int ett_diameter_3gpp_feature_list;
+static int ett_diameter_3gpp_uar_flags;
+static int ett_diameter_3gpp_tmgi;
+static int ett_diameter_3gpp_cms;
+
+static int hf_diameter_3gpp_secondary_rat_type;
+
+static int hf_diameter_3gpp_gcip;
+static int hf_diameter_3gpp_amec;
+static int hf_diameter_3gpp_coame;
+static int hf_diameter_3gpp_acpc;
+static int hf_diameter_3gpp_rir_flags;
+static int hf_diameter_3gpp_rir_spare_b31_b4;
+static int hf_diameter_3gpp_feature_list_s6t_flags;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit0;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit1;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit2;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit3;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit4;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit5;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit6;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit7;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit8;
+static int hf_diameter_3gpp_feature_list_s6t_flags_bit9;
+static int hf_diameter_3gpp_feature_list_s6t_spare_b31_b10;
+static int hf_diameter_3gpp_supported_monitoring_events;
+static int hf_diameter_3gpp_supported_monitoring_events_b0;
+static int hf_diameter_3gpp_supported_monitoring_events_b1;
+static int hf_diameter_3gpp_supported_monitoring_events_b2;
+static int hf_diameter_3gpp_supported_monitoring_events_b3;
+static int hf_diameter_3gpp_supported_monitoring_events_b4;
+static int hf_diameter_3gpp_supported_monitoring_events_b5;
+static int hf_diameter_3gpp_supported_monitoring_events_b6;
+static int hf_diameter_3gpp_supported_monitoring_events_b7;
+static int hf_diameter_3gpp_supported_monitoring_events_b8;
+
+static int ett_diameter_3gpp_qos_subscribed;
+static int ett_diameter_3gpp_ulr_flags;
+static int ett_diameter_3gpp_ula_flags;
+static int ett_diameter_3gpp_dsr_flags;
+static int ett_diameter_3gpp_dsa_flags;
+static int ett_diameter_3gpp_ida_flags;
+static int ett_diameter_3gpp_pua_flags;
+static int ett_diameter_3gpp_nor_flags;
+static int ett_diameter_3gpp_idr_flags;
+static int ett_diameter_3gpp_ppr_flags;
+static int ett_diameter_3gpp_aaa_fail_flags;
+static int ett_diameter_3gpp_der_flags;
+static int ett_diameter_3gpp_dea_flags;
+static int ett_diameter_3gpp_rar_flags;
+static int ett_diameter_3gpp_der_s6b_flags;
+static int ett_diameter_3gpp_mbms_bearer_event;
+static int ett_diameter_3gpp_mbms_bearer_result;
+static int ett_diameter_3gpp_tmgi_allocation_result;
+static int ett_diameter_3gpp_tmgi_deallocation_result;
+static int ett_diameter_3gpp_sar_flags;
+static int ett_diameter_3gpp_req_nodes;
+static int ett_diameter_3gpp_emergency_services_flags;
+static int ett_diameter_3gpp_pur_flags;
+static int ett_diameter_3gpp_clr_flags;
+static int ett_diameter_3gpp_uvr_flags;
+static int ett_diameter_3gpp_uva_flags;
+static int ett_diameter_3gpp_subscription_data_flags;
+static int ett_diameter_3gpp_wlan_offloadability_eutran;
+static int ett_diameter_3gpp_wlan_offloadability_utran;
+static int ett_diameter_3gpp_air_flags;
+static int ett_diameter_3gpp_preferred_data_mode;
+static int ett_diameter_3gpp_v2x_permission;
+static int ett_diameter_3gpp_core_network_restrictions;
+static int ett_diameter_3gpp_supported_gad_shapes;
+static int ett_diameter_3gpp_plr_flags;
+static int ett_diameter_3gpp_pla_flags;
+static int ett_diameter_3gpp_deferred_location_type;
+static int ett_diameter_3gpp_rir_flags;
+static int ett_diameter_3gpp_supported_monitoring_events;
+static int ett_diameter_3gpp_af_requested_data_flags;
+
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit0;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit1;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit2;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit3;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit4;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit5;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit6;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit7;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit8;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit9;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit10;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit11;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit12;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit13;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit14;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit15;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit16;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit17;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit18;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit19;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit20;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit21;
+static int hf_diameter_3gpp_feature_list1_rx_flags_bit22;
+static int hf_diameter_3gpp_feature_list1_rx_flags_spare_bits;
+
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit0;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit1;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit2;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit3;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit4;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit5;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit6;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit7;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit8;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit9;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit10;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit11;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit12;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit13;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit14;
+static int hf_diameter_3gpp_feature_list2_rx_flags_bit15;
+static int hf_diameter_3gpp_feature_list2_rx_flags_spare_bits;
+
+static int hf_diameter_3gpp_feature_list_swx_flags;
+static int hf_diameter_3gpp_feature_list_swx_flags_bit0;
+static int hf_diameter_3gpp_feature_list_swx_flags_bit1;
+static int hf_diameter_3gpp_feature_list_swx_flags_bit2;
+static int hf_diameter_3gpp_feature_list_swx_flags_bit3;
+static int hf_diameter_3gpp_feature_list_swx_flags_bit4;
+static int hf_diameter_3gpp_feature_list_swx_flags_bit5;
+static int hf_diameter_3gpp_feature_list_swx_flags_bit6;
+static int hf_diameter_3gpp_feature_list_s6b_flags;
+static int hf_diameter_3gpp_feature_list_s6b_flags_bit0;
+
+static int hf_diameter_3gpp_ran_nas_protocol_type;
+static int hf_diameter_3gpp_ran_nas_cause_type;
+static int hf_diameter_3gpp_ran_nas_cause_value;
+static int hf_diameter_3gpp_s1ap_radio_network;
+static int hf_diameter_3gpp_s1ap_transport;
+static int hf_diameter_3gpp_s1ap_nas;
+static int hf_diameter_3gpp_s1ap_protocol;
+static int hf_diameter_3gpp_s1ap_misc;
+static int hf_diameter_3gpp_emm_cause;
+static int hf_diameter_3gpp_esm_cause;
+static int hf_diameter_3gpp_diameter_cause;
+static int hf_diameter_3gpp_ikev2_cause;
/* Dissector handles */
static dissector_handle_t xml_handle;
@@ -614,7 +626,7 @@ static int dissect_diameter_3gpp_ipv6addr(tvbuff_t *tvb, packet_info *pinfo _U_,
static int
dissect_diameter_3gpp_imsi_mnc_mcc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
- guint32 str_len;
+ uint32_t str_len;
str_len = tvb_reported_length(tvb);
dissect_e212_mcc_mnc_in_utf8_address(tvb, pinfo, tree, 0);
@@ -645,7 +657,7 @@ dissect_diameter_3gpp_sgsn_ipv6_address(tvbuff_t *tvb, packet_info *pinfo, proto
static int
dissect_diameter_3gpp_sgsn_mnc_mcc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
- guint32 str_len;
+ uint32_t str_len;
str_len = tvb_reported_length(tvb);
dissect_e212_mcc_mnc_in_utf8_address(tvb, pinfo, tree, 0);
@@ -709,7 +721,7 @@ static int
dissect_diameter_3gpp_ms_timezone(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data)
{
int offset = 0;
- guint8 oct, hours, minutes;
+ uint8_t oct, hours, minutes;
char sign;
diam_sub_dis_t *diam_sub_dis = (diam_sub_dis_t*)data;
@@ -722,7 +734,7 @@ dissect_diameter_3gpp_ms_timezone(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
* represents the algebraic sign of this difference (0: positive, 1: negative).
*/
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
sign = (oct & 0x08) ? '-' : '+';
oct = (oct >> 4) + (oct & 0x07) * 10;
hours = oct / 4;
@@ -731,7 +743,7 @@ dissect_diameter_3gpp_ms_timezone(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
proto_tree_add_uint_format_value(tree, hf_diameter_3gpp_timezone, tvb, offset, 1, oct, "GMT %c %d hours %d minutes", sign, hours, minutes);
offset++;
- oct = tvb_get_guint8(tvb, offset) & 0x3;
+ oct = tvb_get_uint8(tvb, offset) & 0x3;
proto_tree_add_item(tree, hf_diameter_3gpp_timezone_adjustment, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
@@ -769,7 +781,7 @@ dissect_diameter_3gpp_codec_data(tvbuff_t* tvb, packet_info* pinfo _U_, proto_tr
/* The first line of the value of the Codec-Data AVP shall consist of either the word "uplink"
* or the word "downlink" (in ASCII, without quotes) followed by a new-line character
*/
- linelen = tvb_find_line_end(tvb, offset, -1, &next_offset, FALSE);
+ linelen = tvb_find_line_end(tvb, offset, -1, &next_offset, false);
if (linelen < 1) {
return tvb_reported_length(tvb);
}
@@ -783,7 +795,7 @@ dissect_diameter_3gpp_codec_data(tvbuff_t* tvb, packet_info* pinfo _U_, proto_tr
* or the word "answer", or the word "description" (in ASCII, without quotes)
* followed by a new-line character
*/
- linelen = tvb_find_line_end(tvb, offset, -1, &next_offset, FALSE);
+ linelen = tvb_find_line_end(tvb, offset, -1, &next_offset, false);
if (linelen < 1) {
return tvb_reported_length(tvb);
}
@@ -798,7 +810,7 @@ dissect_diameter_3gpp_codec_data(tvbuff_t* tvb, packet_info* pinfo _U_, proto_tr
*/
if (sdp_handle) {
/* Lets see if we have null padding*/
- while (tvb_get_guint8(tvb, length - 1) == 0) {
+ while (tvb_get_uint8(tvb, length - 1) == 0) {
length--;
}
length -= next_offset;
@@ -825,7 +837,7 @@ dissect_diameter_3gpp_af_requested_data(tvbuff_t* tvb, packet_info* pinfo _U_, p
proto_item_set_hidden(diam_sub_dis_inf->item);
proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_af_requested_data_flags,
- diameter_3gpp_af_requested_data_flags_ett,
+ ett_diameter_3gpp_af_requested_data_flags,
diameter_3gpp_af_requested_data_flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
@@ -887,7 +899,7 @@ dissect_diameter_3gpp_uar_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_uar_flags_flags, diameter_3gpp_uar_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_uar_flags_flags, ett_diameter_3gpp_uar_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -926,7 +938,7 @@ static int
dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data)
{
int offset = 0;
- guint32 application_id = 0, feature_list_id = 0;
+ uint32_t application_id = 0, feature_list_id = 0;
diam_sub_dis_t *diam_sub_dis_inf = (diam_sub_dis_t*)data;
if(!diam_sub_dis_inf) {
@@ -936,12 +948,13 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
application_id = diam_sub_dis_inf->application_id;
feature_list_id = diam_sub_dis_inf->feature_list_id;
/* Hide the item created in packet-diameter.c and only show the one created here */
+ bool save_hidden = proto_item_is_hidden(diam_sub_dis_inf->item);
proto_item_set_hidden(diam_sub_dis_inf->item);
switch (application_id) {
case DIAM_APPID_3GPP_CX:
proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_cx_feature_list_flags,
- diameter_3gpp_feature_list_ett, diameter_3gpp_cx_feature_list_1_fields, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ ett_diameter_3gpp_feature_list, diameter_3gpp_cx_feature_list_1_fields, ENC_BIG_ENDIAN, BMT_NO_APPEND);
break;
case DIAM_APPID_3GPP_RX:
{
@@ -975,7 +988,7 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
NULL
};
- proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
else if (feature_list_id == 2) {
static int * const flags[] = {
@@ -999,7 +1012,7 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
NULL
};
- proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
}
break;
@@ -1014,7 +1027,7 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
NULL
};
- proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
break;
case DIAM_APPID_3GPP_S6A_S6D:
@@ -1056,7 +1069,7 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
NULL
};
- proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
else if (feature_list_id == 2) {
/* 3GPP TS 29.272 Table 7.3.10/2: Features of Feature-List-ID 2 used in S6a/S6d */
@@ -1096,7 +1109,7 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
NULL
};
- proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_flags, ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
break;
case DIAM_APPID_3GPP_GX: /* 3GPP TS 29.212 V15.1.0 (2017-12) */
@@ -1139,7 +1152,7 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
};
proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_gx_flags,
- diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
else if (feature_list_id == 2) {
/* 3GPP TS 29.212 Table 5.4.1.2: Features of Feature-List-ID 2 used in Gx */
@@ -1156,16 +1169,16 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
};
proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_diameter_3gpp_feature_list_gx_flags,
- diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
break;
case DIAM_APPID_3GPP_SD: /* 3GPP TS 29.212 V14.0.0 (2016-09) */
proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_feature_list_sd_flags,
- diameter_3gpp_feature_list_ett, diameter_3gpp_sd_feature_list_fields, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ ett_diameter_3gpp_feature_list, diameter_3gpp_sd_feature_list_fields, ENC_BIG_ENDIAN, BMT_NO_APPEND);
break;
case DIAM_APPID_3GPP_S6T:
{
- int* const flags[] = {
+ static int * const flags[] = {
&hf_diameter_3gpp_feature_list_s6t_spare_b31_b10,
&hf_diameter_3gpp_feature_list_s6t_flags_bit9,
&hf_diameter_3gpp_feature_list_s6t_flags_bit8,
@@ -1181,13 +1194,45 @@ dissect_diameter_3gpp_feature_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
};
proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_feature_list_s6t_flags,
- diameter_3gpp_feature_list_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ }
+ break;
+ case DIAM_APPID_3GPP_SWX:
+ {
+ /* 3GPP TS 29.273 Table 8.2.3.16/1: Features of Feature-List-ID 1 used in SWx */
+ static int * const flags[] = {
+ &hf_diameter_3gpp_feature_list_swx_flags_bit6,
+ &hf_diameter_3gpp_feature_list_swx_flags_bit5,
+ &hf_diameter_3gpp_feature_list_swx_flags_bit4,
+ &hf_diameter_3gpp_feature_list_swx_flags_bit3,
+ &hf_diameter_3gpp_feature_list_swx_flags_bit2,
+ &hf_diameter_3gpp_feature_list_swx_flags_bit1,
+ &hf_diameter_3gpp_feature_list_swx_flags_bit0,
+ NULL
+ };
+
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_feature_list_swx_flags,
+ ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ }
+ break;
+ case DIAM_APPID_3GPP_S6B:
+ {
+ /* 3GPP TS 29.273 Table 9.2.3.5/1: Features of Feature-List-ID 1 used in S6b */
+ static int * const flags[] = {
+ &hf_diameter_3gpp_feature_list_s6b_flags_bit0,
+ NULL
+ };
+
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_feature_list_s6b_flags,
+ ett_diameter_3gpp_feature_list, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
}
break;
default:
/* In case we end up here */
- proto_item_set_visible(diam_sub_dis_inf->item);
+ if (!save_hidden) {
+ proto_item_set_visible(diam_sub_dis_inf->item);
+ }
break;
}
@@ -1209,10 +1254,10 @@ dissect_diameter_3gpp_path(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tr
int offset = 0, comma_offset;
int end_offset = tvb_reported_length(tvb) - 1;
- sub_tree = proto_tree_add_subtree(tree, tvb, offset, -1, diameter_3gpp_path_ett, NULL, "Paths");
+ sub_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_diameter_3gpp_path, NULL, "Paths");
while (offset < end_offset) {
- comma_offset = tvb_find_guint8(tvb, offset, -1, ',');
+ comma_offset = tvb_find_uint8(tvb, offset, -1, ',');
if(comma_offset == -1) {
proto_tree_add_item(sub_tree, hf_diameter_3gpp_path, tvb, offset, comma_offset, ENC_ASCII);
return end_offset;
@@ -1276,7 +1321,7 @@ dissect_diameter_3gpp_sar_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
proto_item_set_hidden(diam_sub_dis_inf->item);
proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_sar_flags,
- diameter_3gpp_sar_flags_ett, diameter_3gpp_sar_fields, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ ett_diameter_3gpp_sar_flags, diameter_3gpp_sar_fields, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -1331,7 +1376,7 @@ dissect_diameter_3gpp_req_nodes(tvbuff_t* tvb, packet_info* pinfo _U_, proto_tre
/* Change to BMT_NO_FALSE if the list gets to long(?)*/
proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_req_nodes,
- diameter_3gpp_req_nodes_ett, diameter_3gpp_req_nodes_fields, ENC_BIG_ENDIAN, BMT_NO_FALSE);
+ ett_diameter_3gpp_req_nodes, diameter_3gpp_req_nodes_fields, ENC_BIG_ENDIAN, BMT_NO_FALSE);
return 4;
}
@@ -1346,7 +1391,7 @@ dissect_diameter_3gpp_tmgi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
int offset = 0;
item = proto_tree_add_item(tree, hf_diameter_3gpp_tmgi, tvb, offset, 6, ENC_NA);
- sub_tree = proto_item_add_subtree(item,diameter_3gpp_tmgi_ett);
+ sub_tree = proto_item_add_subtree(item,ett_diameter_3gpp_tmgi);
/* MBMS Service ID consisting of three octets. MBMS Service ID consists of a 6-digit
* fixed-length hexadecimal number between 000000 and FFFFFF.
@@ -1355,7 +1400,7 @@ dissect_diameter_3gpp_tmgi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_tree_add_item(sub_tree, hf_diameter_mbms_service_id, tvb, offset, 3, ENC_BIG_ENDIAN);
offset = offset+3;
- offset = dissect_e212_mcc_mnc(tvb, pinfo, sub_tree, offset, E212_NONE, TRUE);
+ offset = dissect_e212_mcc_mnc(tvb, pinfo, sub_tree, offset, E212_NONE, true);
return offset;
@@ -1412,7 +1457,7 @@ static int
dissect_diameter_3gpp_rai(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, void *data)
{
diam_sub_dis_t *diam_sub_dis = (diam_sub_dis_t*)data;
- guint length;
+ unsigned length;
length = tvb_reported_length(tvb);
@@ -1440,7 +1485,7 @@ static int
dissect_diameter_3gpp_mbms_required_qos(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
int offset = 0;
- guint length;
+ unsigned length;
/* Octet
* 1 Allocation/Retention Priority as specified in 3GPP TS 23.107.
@@ -1504,7 +1549,7 @@ dissect_diameter_3gpp_credit_management_status(tvbuff_t *tvb, packet_info *pinfo
};
- proto_tree *subtree = proto_tree_add_subtree(tree, tvb, 0, 4, diameter_3gpp_cms_ett, NULL, "Credit-Management-Status bit mask");
+ proto_tree *subtree = proto_tree_add_subtree(tree, tvb, 0, 4, ett_diameter_3gpp_cms, NULL, "Credit-Management-Status bit mask");
proto_tree_add_bitmask_list(subtree, tvb, 0, 4, flags, ENC_BIG_ENDIAN);
return 4;
}
@@ -1556,8 +1601,8 @@ dissect_diameter_3gpp_secondary_rat_type(tvbuff_t *tvb, packet_info *pinfo _U_,
}
/* Helper function returning the main bitrates in kbps */
-static guint32
-qos_calc_bitrate(guint8 oct)
+static uint32_t
+qos_calc_bitrate(uint8_t oct)
{
if (oct <= 0x3f)
return oct;
@@ -1568,8 +1613,8 @@ qos_calc_bitrate(guint8 oct)
}
/* Helper function returning the extended bitrates in kbps */
-static guint32
-qos_calc_ext_bitrate(guint8 oct)
+static uint32_t
+qos_calc_ext_bitrate(uint8_t oct)
{
if (oct <= 0x4a)
return 8600 + oct * 100;
@@ -1592,16 +1637,16 @@ qos_calc_ext_bitrate(guint8 oct)
static int
dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
{
- guint offset = 0;
- guint length = tvb_reported_length(tvb);
+ unsigned offset = 0;
+ unsigned length = tvb_reported_length(tvb);
proto_tree *subtree;
proto_item *item;
- guchar oct, tmp_oct;
- const gchar *str;
- guint32 tmp32;
+ unsigned char oct, tmp_oct;
+ const char *str;
+ uint32_t tmp32;
item = proto_tree_add_item(tree, hf_diameter_3gpp_qos_subscribed, tvb, offset, length, ENC_NA);
- subtree = proto_item_add_subtree(item, diameter_3gpp_qos_subscribed_ett);
+ subtree = proto_item_add_subtree(item, ett_diameter_3gpp_qos_subscribed);
/* QoS-Subscribed:: SIZE(3)
* 1-3 Octets are coded according to TS 3GPP TS 24.008 Quality of Service Octets 3-5
@@ -1640,7 +1685,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 6) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
switch (oct) {
case 0x00: str = "Subscribed maximum SDU size (MS to net); Reserved (net to MS)"; break;
case 0x97: str = "1502 octets"; break;
@@ -1659,7 +1704,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 7) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
switch (oct) {
case 0x00: str = "Subscribed maximum bit rate for uplink (MS to net); Reserved (net to MS)"; break;
@@ -1673,7 +1718,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 8) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
switch (oct) {
case 0x00: str = "Subscribed maximum bit rate for downlink (MS to net); Reserved (net to MS)"; break;
@@ -1695,7 +1740,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
if (length >= 10) {
proto_tree_add_item(subtree, hf_diameter_3gpp_qos_traff_hdl_pri, tvb, offset, 1, ENC_BIG_ENDIAN);
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
tmp_oct = oct >> 2;
switch (tmp_oct) {
case 0x00: str = "Subscribed transfer delay (MS to net); Reserved (net to MS)"; break;
@@ -1714,7 +1759,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 11) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
switch (oct) {
case 0x00: str = "Subscribed guaranteed bit rate for uplink (MS to net); Reserved (net to MS)"; break;
@@ -1728,7 +1773,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 12) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
switch (oct) {
case 0x00: str = "Subscribed guaranteed bit rate for downlink (MS to net); Reserved (net to MS)"; break;
@@ -1745,7 +1790,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
* 1-3 Octets are coded according to 3GPP TS 24.008 Quality of Service Octets 14-16
*/
if (length >= 13) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
tmp_oct = oct & 0x0f;
if (tmp_oct == 0x01)
str = "speech (MS to net); spare bits (net to MS)";
@@ -1759,7 +1804,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 14) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
if (oct == 0x00)
str = "Use the value indicated by the Maximum bit rate for downlink";
@@ -1779,7 +1824,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 15) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
if (oct == 0x00)
str = "Use the value indicated by the Guaranteed bit rate for downlink";
@@ -1802,7 +1847,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
* 1-2 Octets are coded according to 3GPP TS 24.008 Quality of Service Octets 17-18
*/
if (length >= 16) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
if (oct == 0x00)
str = "Use the value indicated by the Maximum bit rate for uplink";
@@ -1822,7 +1867,7 @@ dissect_diameter_3ggp_qos_susbscribed(tvbuff_t *tvb, packet_info *pinfo _U_, pro
}
if (length >= 17) {
- oct = tvb_get_guint8(tvb, offset);
+ oct = tvb_get_uint8(tvb, offset);
if (oct == 0x00)
str = "Use the value indicated by the Guaranteed bit rate for uplink";
@@ -1885,7 +1930,7 @@ dissect_diameter_3gpp_ulr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ulr_flags, diameter_3gpp_ulr_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ulr_flags, ett_diameter_3gpp_ulr_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -1905,7 +1950,7 @@ dissect_diameter_3gpp_ula_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ula_flags, diameter_3gpp_ula_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ula_flags, ett_diameter_3gpp_ula_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -1917,7 +1962,7 @@ dissect_diameter_3gpp_visited_plmn_id(tvbuff_t *tvb, packet_info *pinfo, proto_t
diam_sub_dis_t *diam_sub_dis = (diam_sub_dis_t*)data;
if (length == 3) {
- diam_sub_dis->avp_str = dissect_e212_mcc_mnc_wmem_packet_str(tvb, pinfo, tree, 0, E212_NONE, TRUE);
+ diam_sub_dis->avp_str = dissect_e212_mcc_mnc_wmem_packet_str(tvb, pinfo, tree, 0, E212_NONE, true);
} else {
proto_tree_add_expert(tree, pinfo, &ei_diameter_3gpp_plmn_id_wrong_len, tvb, 0, length);
}
@@ -1973,7 +2018,7 @@ dissect_diameter_3gpp_dsr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_dsr_flags, diameter_3gpp_dsr_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_dsr_flags, ett_diameter_3gpp_dsr_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -1992,7 +2037,7 @@ dissect_diameter_3gpp_dsa_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_dsa_flags, diameter_3gpp_dsa_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_dsa_flags, ett_diameter_3gpp_dsa_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2023,7 +2068,7 @@ dissect_diameter_3gpp_acc_res_data(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_acc_res_dat_flags, diameter_3gpp_dsa_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_acc_res_dat_flags, ett_diameter_3gpp_dsa_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2038,7 +2083,7 @@ dissect_diameter_3gpp_ida_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
NULL
};
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ida_flags, diameter_3gpp_ida_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ida_flags, ett_diameter_3gpp_ida_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2058,7 +2103,7 @@ dissect_diameter_3gpp_pua_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_pua_flags, diameter_3gpp_pua_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_pua_flags, ett_diameter_3gpp_pua_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2087,7 +2132,7 @@ dissect_diameter_3gpp_nor_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_nor_flags, diameter_3gpp_nor_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_nor_flags, ett_diameter_3gpp_nor_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2126,7 +2171,7 @@ dissect_diameter_3gpp_idr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_idr_flags, diameter_3gpp_idr_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_idr_flags, ett_diameter_3gpp_idr_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2148,7 +2193,7 @@ dissect_diameter_3gpp_ppr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ppr_flags, diameter_3gpp_ppr_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_ppr_flags, ett_diameter_3gpp_ppr_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2168,7 +2213,7 @@ dissect_diameter_3gpp_aaa_fail_flags(tvbuff_t *tvb, packet_info *pinfo _U_, prot
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_aaa_fail_flags, diameter_3gpp_aaa_fail_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_aaa_fail_flags, ett_diameter_3gpp_aaa_fail_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2189,7 +2234,7 @@ dissect_diameter_3gpp_der_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_der_flags, diameter_3gpp_der_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_der_flags, ett_diameter_3gpp_der_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2209,7 +2254,7 @@ dissect_diameter_3gpp_dea_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_dea_flags, diameter_3gpp_dea_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_dea_flags, ett_diameter_3gpp_dea_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2229,7 +2274,7 @@ dissect_diameter_3gpp_rar_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_rar_flags, diameter_3gpp_rar_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_rar_flags, ett_diameter_3gpp_rar_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2249,7 +2294,7 @@ dissect_diameter_3gpp_der_s6b_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_der_s6b_flags, diameter_3gpp_der_s6b_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_der_s6b_flags, ett_diameter_3gpp_der_s6b_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2268,7 +2313,7 @@ dissect_diameter_3gpp_emergency_services(tvbuff_t *tvb, packet_info *pinfo _U_,
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_emergency_services_flags, diameter_3gpp_emergency_services_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_emergency_services_flags, ett_diameter_3gpp_emergency_services_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2293,7 +2338,7 @@ dissect_diameter_3gpp_pur_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_pur_flags, diameter_3gpp_pur_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_pur_flags, ett_diameter_3gpp_pur_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2316,7 +2361,7 @@ dissect_diameter_3gpp_clr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_clr_flags, diameter_3gpp_clr_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_clr_flags, ett_diameter_3gpp_clr_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2338,7 +2383,7 @@ dissect_diameter_3gpp_uvr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_uvr_flags, diameter_3gpp_uvr_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_uvr_flags, ett_diameter_3gpp_uvr_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2360,11 +2405,26 @@ dissect_diameter_3gpp_uva_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_uva_flags, diameter_3gpp_uva_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_uva_flags, ett_diameter_3gpp_uva_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
/* 3GPP TS 29.272
+* 7.3.159 MME-Number-for-MT-SMS
+* AVP Code: 1645 MME-Number-for-MT-SMS
+*/
+static int
+dissect_diameter_3gpp_mme_number_for_mt_sms(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
+{
+ int offset = 0;
+ int length = tvb_reported_length(tvb);
+
+ dissect_e164_isdn(tvb, tree, offset, length, E164_ENC_BCD);
+
+ return length;
+}
+
+/* 3GPP TS 29.272
* 7.3.165 Subscription-Data-Flags
* AVP Code: 1654 Subscription-Data-Flags
*/
@@ -2385,7 +2445,7 @@ dissect_diameter_3gpp_subscription_data_flags(tvbuff_t *tvb, packet_info *pinfo
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_subscription_data_flags, diameter_3gpp_subscription_data_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_subscription_data_flags, ett_diameter_3gpp_subscription_data_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2407,7 +2467,7 @@ dissect_diameter_3gpp_wlan_offloadability_eutran(tvbuff_t *tvb, packet_info *pin
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_wlan_offloadability_eutran, diameter_3gpp_wlan_offloadability_eutran_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_wlan_offloadability_eutran, ett_diameter_3gpp_wlan_offloadability_eutran, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2429,7 +2489,7 @@ dissect_diameter_3gpp_wlan_offloadability_utran(tvbuff_t *tvb, packet_info *pinf
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_wlan_offloadability_utran, diameter_3gpp_wlan_offloadability_utran_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_wlan_offloadability_utran, ett_diameter_3gpp_wlan_offloadability_utran, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2444,7 +2504,7 @@ dissect_diameter_3gpp_group_plmn_id(tvbuff_t *tvb, packet_info *pinfo, proto_tre
diam_sub_dis_t *diam_sub_dis = (diam_sub_dis_t*)data;
if (length == 3) {
- diam_sub_dis->avp_str = dissect_e212_mcc_mnc_wmem_packet_str(tvb, pinfo, tree, 0, E212_NONE, TRUE);
+ diam_sub_dis->avp_str = dissect_e212_mcc_mnc_wmem_packet_str(tvb, pinfo, tree, 0, E212_NONE, true);
} else {
proto_tree_add_expert(tree, pinfo, &ei_diameter_3gpp_plmn_id_wrong_len, tvb, 0, length);
}
@@ -2471,7 +2531,7 @@ dissect_diameter_3gpp_air_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_air_flags, diameter_3gpp_air_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_air_flags, ett_diameter_3gpp_air_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2494,7 +2554,7 @@ dissect_diameter_3gpp_preferred_data_mode(tvbuff_t *tvb, packet_info *pinfo _U_,
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_preferred_data_mode, diameter_3gpp_preferred_data_mode_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_preferred_data_mode, ett_diameter_3gpp_preferred_data_mode, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2517,7 +2577,7 @@ dissect_diameter_3gpp_v2x_permission(tvbuff_t *tvb, packet_info *pinfo _U_, prot
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_v2x_permission, diameter_3gpp_v2x_permission_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_v2x_permission, ett_diameter_3gpp_v2x_permission, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2541,7 +2601,7 @@ dissect_diameter_3gpp_core_network_restrictions(tvbuff_t *tvb, packet_info *pinf
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
}
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_core_network_restrictions, diameter_3gpp_core_network_restrictions_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_core_network_restrictions, ett_diameter_3gpp_core_network_restrictions, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2569,7 +2629,7 @@ dissect_diameter_3gpp_supported_gad_shapes(tvbuff_t* tvb, packet_info* pinfo _U_
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_supported_gad_shapes, diameter_3gpp_supported_gad_shapes_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_supported_gad_shapes, ett_diameter_3gpp_supported_gad_shapes, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2614,7 +2674,7 @@ dissect_diameter_3gpp_deferred_location_type(tvbuff_t *tvb, packet_info *pinfo _
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_deferred_location_type, diameter_3gpp_deferred_location_type_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_deferred_location_type, ett_diameter_3gpp_deferred_location_type, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2636,7 +2696,7 @@ dissect_diameter_3gpp_plr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_plr_flags, diameter_3gpp_plr_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_plr_flags, ett_diameter_3gpp_plr_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2658,7 +2718,7 @@ dissect_diameter_3gpp_pla_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_pla_flags, diameter_3gpp_pla_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_pla_flags, ett_diameter_3gpp_pla_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2698,8 +2758,8 @@ dissect_diameter_3gpp_ran_nas_release_cause(tvbuff_t *tvb, packet_info *pinfo _U
{
int offset = 0;
int length = tvb_reported_length(tvb);
- guint8 octet = tvb_get_guint8(tvb, offset);
- guint8 proto_type = (octet >> 4);
+ uint8_t octet = tvb_get_uint8(tvb, offset);
+ uint8_t proto_type = (octet >> 4);
int cause_type = 0;
proto_tree_add_item(tree, hf_diameter_3gpp_ran_nas_protocol_type, tvb, offset, 1, ENC_BIG_ENDIAN);
@@ -2780,7 +2840,7 @@ dissect_diameter_3gpp_supported_monitoring_events(tvbuff_t* tvb, packet_info* pi
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_supported_monitoring_events, diameter_3gpp_supported_monitoring_events_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_supported_monitoring_events, ett_diameter_3gpp_supported_monitoring_events, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 8;
}
@@ -2802,7 +2862,7 @@ dissect_diameter_3gpp_rir_flags(tvbuff_t* tvb, packet_info* pinfo _U_, proto_tre
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_rir_flags, diameter_3gpp_rir_flags_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_rir_flags, ett_diameter_3gpp_rir_flags, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2813,16 +2873,16 @@ dissect_diameter_3gpp_sm_rp_ui(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
{
int length = tvb_reported_length(tvb);
diam_sub_dis_t *diam_sub_dis_inf = (diam_sub_dis_t*)data;
- guint32 cmd = 0;
- gboolean save_writable = col_get_writable(pinfo->cinfo, -1 /* All */);
- gboolean parent_message_is_request = TRUE;
+ uint32_t cmd = 0;
+ bool save_writable = col_get_writable(pinfo->cinfo, -1 /* All */);
+ bool parent_message_is_request = true;
if (diam_sub_dis_inf) {
cmd = diam_sub_dis_inf->cmd_code;
parent_message_is_request = diam_sub_dis_inf->parent_message_is_request;
}
- col_set_writable(pinfo->cinfo, -1, FALSE);
+ col_set_writable(pinfo->cinfo, -1, false);
if ((length > 0) && (cmd != 0)) {
switch (cmd){
@@ -2880,7 +2940,7 @@ dissect_diameter_3gpp_mbms_bearer_event(tvbuff_t *tvb, packet_info *pinfo _U_, p
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_mbms_bearer_event, diameter_3gpp_mbms_bearer_event_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_mbms_bearer_event, ett_diameter_3gpp_mbms_bearer_event, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2910,7 +2970,7 @@ dissect_diameter_3gpp_mbms_bearer_result(tvbuff_t *tvb, packet_info *pinfo _U_,
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_mbms_bearer_result, diameter_3gpp_mbms_bearer_result_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_mbms_bearer_result, ett_diameter_3gpp_mbms_bearer_result, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2933,7 +2993,7 @@ dissect_diameter_3gpp_tmgi_allocation_result(tvbuff_t *tvb, packet_info *pinfo _
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_tmgi_allocation_result, diameter_3gpp_tmgi_allocation_result_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_tmgi_allocation_result, ett_diameter_3gpp_tmgi_allocation_result, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -2954,7 +3014,7 @@ dissect_diameter_3gpp_tmgi_deallocation_result(tvbuff_t *tvb, packet_info *pinfo
/* Hide the item created in packet-diameter.c and only show the one created here */
proto_item_set_hidden(diam_sub_dis_inf->item);
- proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_tmgi_deallocation_result, diameter_3gpp_tmgi_deallocation_result_ett, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+ proto_tree_add_bitmask_with_flags(tree, tvb, 0, hf_diameter_3gpp_tmgi_deallocation_result, ett_diameter_3gpp_tmgi_deallocation_result, flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
return 4;
}
@@ -3141,6 +3201,9 @@ proto_reg_handoff_diameter_3gpp(void)
/* AVP Code: 1640 UVA-Flags */
dissector_add_uint("diameter.3gpp", 1640, create_dissector_handle(dissect_diameter_3gpp_uva_flags, proto_diameter_3gpp));
+ /* AVP Code: 1645 MME-Number-for-MT-SMS */
+ dissector_add_uint("diameter.3gpp", 1645, create_dissector_handle(dissect_diameter_3gpp_mme_number_for_mt_sms, proto_diameter_3gpp));
+
/* AVP Code: 1654 Subscription-Data-Flags */
dissector_add_uint("diameter.3gpp", 1654, create_dissector_handle(dissect_diameter_3gpp_subscription_data_flags, proto_diameter_3gpp));
@@ -4828,17 +4891,17 @@ proto_register_diameter_3gpp(void)
NULL, HFILL }
},
{ &hf_diameter_3gpp_der_s6b_flags,
- { "RAR Flags", "diameter.3gpp.rar_flags",
+ { "RAR Flags", "diameter.3gpp.sb6_flags",
FT_UINT32, BASE_HEX, NULL, 0x0,
NULL, HFILL }
},
{ &hf_diameter_3gpp_der_s6b_flags_bit0,
- { "Initial-Attach-Indicator", "diameter.3gpp.rar_flags_bit0",
+ { "Initial-Attach-Indicator", "diameter.3gpp.sb6_flags_bit0",
FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x00000001,
NULL, HFILL }
},
{ &hf_diameter_3gpp_der_s6b_flags_spare_bits,
- { "Spare", "diameter.3gpp.rar_flags_spare",
+ { "Spare", "diameter.3gpp.sb6_flags_spare",
FT_UINT32, BASE_HEX, NULL, 0x0,
NULL, HFILL }
},
@@ -5853,6 +5916,56 @@ proto_register_diameter_3gpp(void)
FT_UINT32, BASE_HEX, NULL, 0xfffffc00,
NULL, HFILL }
},
+ { &hf_diameter_3gpp_feature_list_swx_flags,
+ { "SWx Feature-List Flags", "diameter.3gpp.swx.feature_list_flags",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_swx_flags_bit0,
+ { "HSS Restoration", "diameter.3gpp.swx.feature_list_flags.b0",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000001,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_swx_flags_bit1,
+ { "Access-Network-Information-Retrieval", "diameter.3gpp.swx.feature_list_flags.b1",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000002,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_swx_flags_bit2,
+ { "UE Local Time Zone Retrieval", "diameter.3gpp.swx.feature_list_flags.b2",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000004,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_swx_flags_bit3,
+ { "P-CSCF Restoration for WLAN", "diameter.3gpp.swx.feature_list_flags.b3",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000008,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_swx_flags_bit4,
+ { "Emergency Services Continuity", "diameter.3gpp.swx.feature_list_flags.b4",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000010,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_swx_flags_bit5,
+ { "ERP", "diameter.3gpp.swx.feature_list_flags.b5",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000020,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_swx_flags_bit6,
+ { "Dedicated Core Networks", "diameter.3gpp.swx.feature_list_flags.b6",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000040,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_s6b_flags,
+ { "S6b Feature-List Flags", "diameter.3gpp.s6b.feature_list_flags",
+ FT_UINT32, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_diameter_3gpp_feature_list_s6b_flags_bit0,
+ { "P-CSCF Restoration for WLAN", "diameter.3gpp.s6b.feature_list_flags.b0",
+ FT_BOOLEAN, 32, TFS(&tfs_supported_not_supported), 0x00000001,
+ NULL, HFILL }
+ },
{ &hf_diameter_3gpp_supported_monitoring_events,
{ "Supported-Monitoring-Events", "diameter.3gpp.supported_monitoring_events",
FT_UINT64, BASE_HEX, NULL, 0x0,
@@ -5907,52 +6020,52 @@ proto_register_diameter_3gpp(void)
/* Setup protocol subtree array */
- static gint *ett[] = {
- &diameter_3gpp_path_ett,
- &diameter_3gpp_uar_flags_ett,
- &diameter_3gpp_feature_list_ett,
- &diameter_3gpp_tmgi_ett,
- &diameter_3gpp_cms_ett,
- &diameter_3gpp_qos_subscribed_ett,
- &diameter_3gpp_ulr_flags_ett,
- &diameter_3gpp_ula_flags_ett,
- &diameter_3gpp_dsr_flags_ett,
- &diameter_3gpp_dsa_flags_ett,
- &diameter_3gpp_ida_flags_ett,
- &diameter_3gpp_pua_flags_ett,
- &diameter_3gpp_nor_flags_ett,
- &diameter_3gpp_idr_flags_ett,
- &diameter_3gpp_ppr_flags_ett,
- &diameter_3gpp_aaa_fail_flags_ett,
- &diameter_3gpp_der_flags_ett,
- &diameter_3gpp_dea_flags_ett,
- &diameter_3gpp_rar_flags_ett,
- &diameter_3gpp_der_s6b_flags_ett,
- &diameter_3gpp_mbms_bearer_event_ett,
- &diameter_3gpp_mbms_bearer_result_ett,
- &diameter_3gpp_tmgi_allocation_result_ett,
- &diameter_3gpp_tmgi_deallocation_result_ett,
- &diameter_3gpp_sar_flags_ett,
- &diameter_3gpp_req_nodes_ett,
- &diameter_3gpp_emergency_services_flags_ett,
- &diameter_3gpp_pur_flags_ett,
- &diameter_3gpp_clr_flags_ett,
- &diameter_3gpp_uvr_flags_ett,
- &diameter_3gpp_uva_flags_ett,
- &diameter_3gpp_subscription_data_flags_ett,
- &diameter_3gpp_wlan_offloadability_eutran_ett,
- &diameter_3gpp_wlan_offloadability_utran_ett,
- &diameter_3gpp_air_flags_ett,
- &diameter_3gpp_preferred_data_mode_ett,
- &diameter_3gpp_v2x_permission_ett,
- &diameter_3gpp_core_network_restrictions_ett,
- &diameter_3gpp_supported_gad_shapes_ett,
- &diameter_3gpp_plr_flags_ett,
- &diameter_3gpp_pla_flags_ett,
- &diameter_3gpp_deferred_location_type_ett,
- &diameter_3gpp_rir_flags_ett,
- &diameter_3gpp_supported_monitoring_events_ett,
- &diameter_3gpp_af_requested_data_flags_ett
+ static int *ett[] = {
+ &ett_diameter_3gpp_path,
+ &ett_diameter_3gpp_uar_flags,
+ &ett_diameter_3gpp_feature_list,
+ &ett_diameter_3gpp_tmgi,
+ &ett_diameter_3gpp_cms,
+ &ett_diameter_3gpp_qos_subscribed,
+ &ett_diameter_3gpp_ulr_flags,
+ &ett_diameter_3gpp_ula_flags,
+ &ett_diameter_3gpp_dsr_flags,
+ &ett_diameter_3gpp_dsa_flags,
+ &ett_diameter_3gpp_ida_flags,
+ &ett_diameter_3gpp_pua_flags,
+ &ett_diameter_3gpp_nor_flags,
+ &ett_diameter_3gpp_idr_flags,
+ &ett_diameter_3gpp_ppr_flags,
+ &ett_diameter_3gpp_aaa_fail_flags,
+ &ett_diameter_3gpp_der_flags,
+ &ett_diameter_3gpp_dea_flags,
+ &ett_diameter_3gpp_rar_flags,
+ &ett_diameter_3gpp_der_s6b_flags,
+ &ett_diameter_3gpp_mbms_bearer_event,
+ &ett_diameter_3gpp_mbms_bearer_result,
+ &ett_diameter_3gpp_tmgi_allocation_result,
+ &ett_diameter_3gpp_tmgi_deallocation_result,
+ &ett_diameter_3gpp_sar_flags,
+ &ett_diameter_3gpp_req_nodes,
+ &ett_diameter_3gpp_emergency_services_flags,
+ &ett_diameter_3gpp_pur_flags,
+ &ett_diameter_3gpp_clr_flags,
+ &ett_diameter_3gpp_uvr_flags,
+ &ett_diameter_3gpp_uva_flags,
+ &ett_diameter_3gpp_subscription_data_flags,
+ &ett_diameter_3gpp_wlan_offloadability_eutran,
+ &ett_diameter_3gpp_wlan_offloadability_utran,
+ &ett_diameter_3gpp_air_flags,
+ &ett_diameter_3gpp_preferred_data_mode,
+ &ett_diameter_3gpp_v2x_permission,
+ &ett_diameter_3gpp_core_network_restrictions,
+ &ett_diameter_3gpp_supported_gad_shapes,
+ &ett_diameter_3gpp_plr_flags,
+ &ett_diameter_3gpp_pla_flags,
+ &ett_diameter_3gpp_deferred_location_type,
+ &ett_diameter_3gpp_rir_flags,
+ &ett_diameter_3gpp_supported_monitoring_events,
+ &ett_diameter_3gpp_af_requested_data_flags
};
expert_module_t *expert_diameter_3gpp;