69 #ifndef __PACKET_GSM_A_COMMON_H__ 70 #define __PACKET_GSM_A_COMMON_H__ 74 #include "packet-sccp.h" 75 #include "packet-e212.h" 76 #include "ws_symbol_export.h" 79 typedef guint16 (*elem_fcn)(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
90 extern guint16 de_cld_party_bcd_num(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
94 extern gint ett_gsm_bssmap_elem[];
95 extern elem_fcn bssmap_elem_fcn[];
96 extern int hf_gsm_a_bssmap_elem_id;
99 extern gint ett_gsm_dtap_elem[];
100 extern elem_fcn dtap_elem_fcn[];
101 extern int hf_gsm_a_dtap_elem_id;
104 extern gint ett_gsm_rp_elem[];
105 extern elem_fcn rp_elem_fcn[];
106 extern int hf_gsm_a_rp_elem_id;
109 extern gint ett_gsm_rr_elem[];
110 extern elem_fcn rr_elem_fcn[];
111 extern int hf_gsm_a_rr_elem_id;
112 extern void get_rr_msg_params(guint8 oct,
const gchar **msg_str,
int *ett_tree,
int *hf_idx, msg_fcn *msg_fcn);
115 extern gint ett_gsm_common_elem[];
116 extern elem_fcn common_elem_fcn[];
117 extern int hf_gsm_a_common_elem_id;
120 extern gint ett_gsm_gm_elem[];
121 extern elem_fcn gm_elem_fcn[];
122 extern int hf_gsm_a_gm_elem_id;
123 extern void get_gmm_msg_params(guint8 oct,
const gchar **msg_str,
int *ett_tree,
int *hf_idx, msg_fcn *msg_fcn);
124 extern void get_sm_msg_params(guint8 oct,
const gchar **msg_str,
int *ett_tree,
int *hf_idx, msg_fcn *msg_fcn);
127 extern gint ett_gsm_bsslap_elem[];
128 extern elem_fcn bsslap_elem_fcn[];
129 extern int hf_gsm_a_bsslap_elem_id;
132 extern gint ett_gsm_bssmap_le_elem[];
133 extern elem_fcn bssmap_le_elem_fcn[];
134 extern int hf_gsm_bssmap_le_elem_id;
137 extern gint ett_nas_eps_common_elem[];
138 extern elem_fcn nas_eps_common_elem_fcn[];
139 extern int hf_nas_eps_common_elem_id;
142 extern gint ett_nas_eps_emm_elem[];
143 extern elem_fcn emm_elem_fcn[];
144 extern int hf_nas_eps_emm_elem_id;
147 extern gint ett_nas_eps_esm_elem[];
148 extern elem_fcn esm_elem_fcn[];
149 extern int hf_nas_eps_esm_elem_id;
152 extern gint ett_sgsap_elem[];
153 extern elem_fcn sgsap_elem_fcn[];
154 extern int hf_sgsap_elem_id;
157 extern gint ett_bssgp_elem[];
158 extern elem_fcn bssgp_elem_fcn[];
159 extern int hf_bssgp_elem_id;
162 extern elem_fcn gmr1_ie_common_func[];
163 extern gint ett_gmr1_ie_common[];
166 extern elem_fcn gmr1_ie_rr_func[];
167 extern gint ett_gmr1_ie_rr[];
170 extern gint ett_nas_5gs_common_elem[];
171 extern elem_fcn nas_5gs_common_elem_fcn[];
172 extern int hf_nas_5gs_common_elem_id;
175 extern gint ett_nas_5gs_mm_elem[];
176 extern elem_fcn nas_5gs_mm_elem_fcn[];
177 extern int hf_nas_5gs_mm_elem_id;
180 extern gint ett_nas_5gs_sm_elem[];
181 extern elem_fcn nas_5gs_sm_elem_fcn[];
182 extern int hf_nas_5gs_sm_elem_id;
186 extern int gsm_a_tap;
191 guint16 dissect_description_of_velocity(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
195 extern int hf_gsm_a_extension;
196 extern int hf_gsm_a_tmsi;
197 extern int hf_gsm_a_L3_protocol_discriminator;
198 extern int hf_gsm_a_call_prio;
199 extern int hf_gsm_a_b8spare;
200 extern int hf_gsm_a_skip_ind;
201 extern int hf_gsm_a_rr_chnl_needed_ch1;
202 extern int hf_gsm_a_rr_t3212;
203 extern int hf_gsm_a_gm_rac;
204 extern int hf_gsm_a_spare_bits;
205 extern int hf_gsm_a_lac;
208 #define GSM_A_PDU_TYPE_BSSMAP 0 209 #define GSM_A_PDU_TYPE_DTAP 1 210 #define GSM_A_PDU_TYPE_RP 2 211 #define GSM_A_PDU_TYPE_RR 3 212 #define GSM_A_PDU_TYPE_COMMON 4 213 #define GSM_A_PDU_TYPE_GM 5 214 #define GSM_A_PDU_TYPE_BSSLAP 6 215 #define GSM_A_PDU_TYPE_SACCH 7 216 #define GSM_PDU_TYPE_BSSMAP_LE 8 217 #define NAS_PDU_TYPE_COMMON 9 218 #define NAS_PDU_TYPE_EMM 10 219 #define NAS_PDU_TYPE_ESM 11 220 #define SGSAP_PDU_TYPE 12 221 #define BSSGP_PDU_TYPE 13 222 #define GMR1_IE_COMMON 14 223 #define GMR1_IE_RR 15 224 #define NAS_5GS_PDU_TYPE_COMMON 16 225 #define NAS_5GS_PDU_TYPE_MM 17 226 #define NAS_5GS_PDU_TYPE_SM 18 228 extern const char* get_gsm_a_msg_string(
int pdu_type,
int idx);
233 #define IS_UPLINK_FALSE 0 234 #define IS_UPLINK_TRUE 1 235 #define IS_UPLINK_UNKNOWN 2 241 #define LEFT_NIBBLE (2) 242 #define RIGHT_NIBBLE (1) 247 #define EXTRANEOUS_DATA_CHECK(edc_len, edc_max_len, pinfo, ei) \ 248 if ((edc_len) > (edc_max_len)) \ 250 proto_tree_add_expert(tree, pinfo, ei, tvb, curr_offset, (edc_len) - (edc_max_len)); \ 251 curr_offset += ((edc_len) - (edc_max_len)); \ 254 #define NO_MORE_DATA_CHECK(nmdc_len) \ 255 if ((nmdc_len) <= (curr_offset - offset)) return(nmdc_len); 257 #define SET_ELEM_VARS(SEV_pdu_type, SEV_elem_names_ext, SEV_elem_ett, SEV_elem_funcs, ei_unknown) \ 258 switch (SEV_pdu_type) \ 260 case GSM_A_PDU_TYPE_BSSMAP: \ 261 SEV_elem_names_ext = gsm_bssmap_elem_strings_ext; \ 262 SEV_elem_ett = ett_gsm_bssmap_elem; \ 263 SEV_elem_funcs = bssmap_elem_fcn; \ 265 case GSM_A_PDU_TYPE_DTAP: \ 266 SEV_elem_names_ext = gsm_dtap_elem_strings_ext; \ 267 SEV_elem_ett = ett_gsm_dtap_elem; \ 268 SEV_elem_funcs = dtap_elem_fcn; \ 270 case GSM_A_PDU_TYPE_RP: \ 271 SEV_elem_names_ext = gsm_rp_elem_strings_ext; \ 272 SEV_elem_ett = ett_gsm_rp_elem; \ 273 SEV_elem_funcs = rp_elem_fcn; \ 275 case GSM_A_PDU_TYPE_RR: \ 276 SEV_elem_names_ext = gsm_rr_elem_strings_ext; \ 277 SEV_elem_ett = ett_gsm_rr_elem; \ 278 SEV_elem_funcs = rr_elem_fcn; \ 280 case GSM_A_PDU_TYPE_COMMON: \ 281 SEV_elem_names_ext = gsm_common_elem_strings_ext; \ 282 SEV_elem_ett = ett_gsm_common_elem; \ 283 SEV_elem_funcs = common_elem_fcn; \ 285 case GSM_A_PDU_TYPE_GM: \ 286 SEV_elem_names_ext = gsm_gm_elem_strings_ext; \ 287 SEV_elem_ett = ett_gsm_gm_elem; \ 288 SEV_elem_funcs = gm_elem_fcn; \ 290 case GSM_A_PDU_TYPE_BSSLAP: \ 291 SEV_elem_names_ext = gsm_bsslap_elem_strings_ext; \ 292 SEV_elem_ett = ett_gsm_bsslap_elem; \ 293 SEV_elem_funcs = bsslap_elem_fcn; \ 295 case GSM_PDU_TYPE_BSSMAP_LE: \ 296 SEV_elem_names_ext = gsm_bssmap_le_elem_strings_ext; \ 297 SEV_elem_ett = ett_gsm_bssmap_le_elem; \ 298 SEV_elem_funcs = bssmap_le_elem_fcn; \ 300 case NAS_PDU_TYPE_COMMON: \ 301 SEV_elem_names_ext = nas_eps_common_elem_strings_ext; \ 302 SEV_elem_ett = ett_nas_eps_common_elem; \ 303 SEV_elem_funcs = nas_eps_common_elem_fcn; \ 305 case NAS_PDU_TYPE_EMM: \ 306 SEV_elem_names_ext = nas_emm_elem_strings_ext; \ 307 SEV_elem_ett = ett_nas_eps_emm_elem; \ 308 SEV_elem_funcs = emm_elem_fcn; \ 310 case NAS_PDU_TYPE_ESM: \ 311 SEV_elem_names_ext = nas_esm_elem_strings_ext; \ 312 SEV_elem_ett = ett_nas_eps_esm_elem; \ 313 SEV_elem_funcs = esm_elem_fcn; \ 315 case SGSAP_PDU_TYPE: \ 316 SEV_elem_names_ext = sgsap_elem_strings_ext; \ 317 SEV_elem_ett = ett_sgsap_elem; \ 318 SEV_elem_funcs = sgsap_elem_fcn; \ 320 case BSSGP_PDU_TYPE: \ 321 SEV_elem_names_ext = bssgp_elem_strings_ext; \ 322 SEV_elem_ett = ett_bssgp_elem; \ 323 SEV_elem_funcs = bssgp_elem_fcn; \ 325 case GMR1_IE_COMMON: \ 326 SEV_elem_names_ext = gmr1_ie_common_strings_ext; \ 327 SEV_elem_ett = ett_gmr1_ie_common; \ 328 SEV_elem_funcs = gmr1_ie_common_func; \ 331 SEV_elem_names_ext = gmr1_ie_rr_strings_ext; \ 332 SEV_elem_ett = ett_gmr1_ie_rr; \ 333 SEV_elem_funcs = gmr1_ie_rr_func; \ 335 case NAS_5GS_PDU_TYPE_COMMON: \ 336 SEV_elem_names_ext = nas_5gs_common_elem_strings_ext; \ 337 SEV_elem_ett = ett_nas_5gs_common_elem; \ 338 SEV_elem_funcs = nas_5gs_common_elem_fcn; \ 340 case NAS_5GS_PDU_TYPE_MM: \ 341 SEV_elem_names_ext = nas_5gs_mm_elem_strings_ext; \ 342 SEV_elem_ett = ett_nas_5gs_mm_elem; \ 343 SEV_elem_funcs = nas_5gs_mm_elem_fcn; \ 345 case NAS_5GS_PDU_TYPE_SM: \ 346 SEV_elem_names_ext = nas_5gs_sm_elem_strings_ext; \ 347 SEV_elem_ett = ett_nas_5gs_sm_elem; \ 348 SEV_elem_funcs = nas_5gs_sm_elem_fcn; \ 351 proto_tree_add_expert_format(tree, pinfo, ei_unknown, \ 352 tvb, curr_offset, -1, \ 353 "Unknown PDU type (%u) gsm_a_common", SEV_pdu_type); \ 360 WS_DLL_PUBLIC guint16 elem_tlv(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint8 iei, gint pdu_type,
int idx, guint32 offset, guint len,
const gchar *name_add);
365 guint16 elem_telv(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint8 iei, gint pdu_type,
int idx, guint32 offset, guint len,
const gchar *name_add);
370 guint16 elem_tlv_e(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint8 iei, gint pdu_type,
int idx, guint32 offset, guint len,
const gchar *name_add);
378 WS_DLL_PUBLIC guint16 elem_tv(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint8 iei, gint pdu_type,
int idx, guint32 offset,
const gchar *name_add);
387 WS_DLL_PUBLIC guint16 elem_tv_short(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint8 iei, gint pdu_type,
int idx, guint32 offset,
const gchar *name_add);
392 WS_DLL_PUBLIC guint16 elem_t(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint8 iei, gint pdu_type,
int idx, guint32 offset,
const gchar *name_add);
397 WS_DLL_PUBLIC guint16 elem_lv(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, gint pdu_type,
int idx, guint32 offset, guint len,
const gchar *name_add);
402 guint16 elem_lv_e(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, gint pdu_type,
int idx, guint32 offset, guint len,
const gchar *name_add);
410 WS_DLL_PUBLIC guint16 elem_v(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, gint pdu_type,
int idx, guint32 offset,
const gchar *name_add);
418 WS_DLL_PUBLIC guint16 elem_v_short(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, gint pdu_type,
int idx, guint32 offset, guint32 nibble);
429 #define ELEM_MAND_TLV(EMT_iei, EMT_pdu_type, EMT_elem_idx, EMT_elem_name_addition, ei_mandatory) \ 431 if (((signed)curr_len > 0) && \ 432 ((consumed = elem_tlv(tvb, tree, pinfo, (guint8) EMT_iei, EMT_pdu_type, EMT_elem_idx, curr_offset, curr_len, EMT_elem_name_addition)) > 0)) \ 434 curr_offset += consumed; \ 435 curr_len -= consumed; \ 439 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory, \ 440 tvb, curr_offset, 0, \ 441 "Missing Mandatory element (0x%02x) %s%s, rest of dissection is suspect", \ 443 get_gsm_a_msg_string(EMT_pdu_type, EMT_elem_idx), \ 445 (EMT_elem_name_addition == NULL) ? "" : EMT_elem_name_addition \ 455 #define ELEM_MAND_TELV(EMT_iei, EMT_pdu_type, EMT_elem_idx, EMT_elem_name_addition, ei_mandatory) \ 457 if (((signed)curr_len > 0) && \ 458 ((consumed = elem_telv(tvb, tree, pinfo, (guint8) EMT_iei, EMT_pdu_type, EMT_elem_idx, curr_offset, curr_len, EMT_elem_name_addition)) > 0)) \ 460 curr_offset += consumed; \ 461 curr_len -= consumed; \ 465 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory, \ 466 tvb, curr_offset, 0, \ 467 "Missing Mandatory element (0x%02x) %s%s, rest of dissection is suspect", \ 469 get_gsm_a_msg_string(EMT_pdu_type, EMT_elem_idx), \ 471 (EMT_elem_name_addition == NULL) ? "" : EMT_elem_name_addition \ 476 #define ELEM_MAND_TLV_E(EMT_iei, EMT_pdu_type, EMT_elem_idx, EMT_elem_name_addition, ei_mandatory) \ 478 if (((signed)curr_len > 0) && \ 479 ((consumed = elem_tlv_e(tvb, tree, pinfo, (guint8) EMT_iei, EMT_pdu_type, EMT_elem_idx, curr_offset, curr_len, EMT_elem_name_addition)) > 0)) \ 481 curr_offset += consumed; \ 482 curr_len -= consumed; \ 486 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory, \ 487 tvb, curr_offset, 0, \ 488 "Missing Mandatory element (0x%02x) %s%s, rest of dissection is suspect", \ 490 get_gsm_a_msg_string(EMT_pdu_type, EMT_elem_idx), \ 492 (EMT_elem_name_addition == NULL) ? "" : EMT_elem_name_addition \ 496 #define ELEM_OPT_TLV(EOT_iei, EOT_pdu_type, EOT_elem_idx, EOT_elem_name_addition) \ 498 if ((signed)curr_len <= 0) return; \ 499 if ((consumed = elem_tlv(tvb, tree, pinfo, (guint8) EOT_iei, EOT_pdu_type, EOT_elem_idx, curr_offset, curr_len, EOT_elem_name_addition)) > 0) \ 501 curr_offset += consumed; \ 502 curr_len -= consumed; \ 506 #define ELEM_OPT_TELV(EOT_iei, EOT_pdu_type, EOT_elem_idx, EOT_elem_name_addition) \ 508 if ((signed)curr_len <= 0) return; \ 509 if ((consumed = elem_telv(tvb, tree, pinfo, (guint8) EOT_iei, EOT_pdu_type, EOT_elem_idx, curr_offset, curr_len, EOT_elem_name_addition)) > 0) \ 511 curr_offset += consumed; \ 512 curr_len -= consumed; \ 516 #define ELEM_OPT_TLV_E(EOT_iei, EOT_pdu_type, EOT_elem_idx, EOT_elem_name_addition) \ 518 if ((signed)curr_len <= 0) return; \ 519 if ((consumed = elem_tlv_e(tvb, tree, pinfo, (guint8) EOT_iei, EOT_pdu_type, EOT_elem_idx, curr_offset, curr_len, EOT_elem_name_addition)) > 0) \ 521 curr_offset += consumed; \ 522 curr_len -= consumed; \ 526 #define ELEM_MAND_TV(EMT_iei, EMT_pdu_type, EMT_elem_idx, EMT_elem_name_addition, ei_mandatory) \ 528 if (((signed)curr_len > 0) && \ 529 ((consumed = elem_tv(tvb, tree, pinfo, (guint8) EMT_iei, EMT_pdu_type, EMT_elem_idx, curr_offset, EMT_elem_name_addition)) > 0)) \ 531 curr_offset += consumed; \ 532 curr_len -= consumed; \ 536 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory,\ 537 tvb, curr_offset, 0, \ 538 "Missing Mandatory element (0x%02x) %s%s, rest of dissection is suspect", \ 540 get_gsm_a_msg_string(EMT_pdu_type, EMT_elem_idx), \ 542 (EMT_elem_name_addition == NULL) ? "" : EMT_elem_name_addition \ 547 #define ELEM_OPT_TV(EOT_iei, EOT_pdu_type, EOT_elem_idx, EOT_elem_name_addition) \ 549 if ((signed)curr_len <= 0) return; \ 550 if ((consumed = elem_tv(tvb, tree, pinfo, (guint8) EOT_iei, EOT_pdu_type, EOT_elem_idx, curr_offset, EOT_elem_name_addition)) > 0) \ 552 curr_offset += consumed; \ 553 curr_len -= consumed; \ 557 #define ELEM_OPT_TV_SHORT(EOT_iei, EOT_pdu_type, EOT_elem_idx, EOT_elem_name_addition) \ 559 if ((signed)curr_len <= 0) return; \ 560 if ((consumed = elem_tv_short(tvb, tree, pinfo, EOT_iei, EOT_pdu_type, EOT_elem_idx, curr_offset, EOT_elem_name_addition)) > 0) \ 562 curr_offset += consumed; \ 563 curr_len -= consumed; \ 567 #define ELEM_OPT_T(EOT_iei, EOT_pdu_type, EOT_elem_idx, EOT_elem_name_addition) \ 569 if ((signed)curr_len <= 0) return; \ 570 if ((consumed = elem_t(tvb, tree, pinfo, (guint8) EOT_iei, EOT_pdu_type, EOT_elem_idx, curr_offset, EOT_elem_name_addition)) > 0) \ 572 curr_offset += consumed; \ 573 curr_len -= consumed; \ 577 #define ELEM_MAND_LV(EML_pdu_type, EML_elem_idx, EML_elem_name_addition, ei_mandatory) \ 579 if (((signed)curr_len > 0) && \ 580 ((consumed = elem_lv(tvb, tree, pinfo, EML_pdu_type, EML_elem_idx, curr_offset, curr_len, EML_elem_name_addition)) > 0)) \ 582 curr_offset += consumed; \ 583 curr_len -= consumed; \ 587 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory,\ 588 tvb, curr_offset, 0, \ 589 "Missing Mandatory element %s%s, rest of dissection is suspect", \ 590 get_gsm_a_msg_string(EML_pdu_type, EML_elem_idx), \ 592 (EML_elem_name_addition == NULL) ? "" : EML_elem_name_addition \ 597 #define ELEM_MAND_LV_E(EML_pdu_type, EML_elem_idx, EML_elem_name_addition, ei_mandatory) \ 599 if (((signed)curr_len > 0) && \ 600 ((consumed = elem_lv_e(tvb, tree, pinfo, EML_pdu_type, EML_elem_idx, curr_offset, curr_len, EML_elem_name_addition)) > 0)) \ 602 curr_offset += consumed; \ 603 curr_len -= consumed; \ 607 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory,\ 608 tvb, curr_offset, 0, \ 609 "Missing Mandatory element %s%s, rest of dissection is suspect", \ 610 get_gsm_a_msg_string(EML_pdu_type, EML_elem_idx), \ 612 (EML_elem_name_addition == NULL) ? "" : EML_elem_name_addition \ 617 #define ELEM_MAND_V(EMV_pdu_type, EMV_elem_idx, EMV_elem_name_addition, ei_mandatory) \ 619 if (((signed)curr_len > 0) && \ 620 ((consumed = elem_v(tvb, tree, pinfo, EMV_pdu_type, EMV_elem_idx, curr_offset, EMV_elem_name_addition)) > 0)) \ 622 curr_offset += consumed; \ 623 curr_len -= consumed; \ 627 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory,\ 628 tvb, curr_offset, 0, \ 629 "Missing Mandatory element %s%s, rest of dissection is suspect", \ 630 get_gsm_a_msg_string(EMV_pdu_type, EMV_elem_idx), \ 632 (EMV_elem_name_addition == NULL) ? "" : EMV_elem_name_addition \ 637 #define ELEM_MAND_VV_SHORT(EMV_pdu_type1, EMV_elem_idx1, EMV_pdu_type2, EMV_elem_idx2, ei_mandatory) \ 639 if ((signed)curr_len > 0) \ 641 elem_v_short(tvb, tree, pinfo, EMV_pdu_type1, EMV_elem_idx1, curr_offset, RIGHT_NIBBLE); \ 642 elem_v_short(tvb, tree, pinfo, EMV_pdu_type2, EMV_elem_idx2, curr_offset, LEFT_NIBBLE); \ 648 proto_tree_add_expert_format(tree, pinfo, &ei_mandatory,\ 649 tvb, curr_offset, 0, \ 650 "Missing Mandatory elements %s %s, rest of dissection is suspect", \ 651 get_gsm_a_msg_string(EMV_pdu_type1, EMV_elem_idx1), \ 652 get_gsm_a_msg_string(EMV_pdu_type2, EMV_elem_idx2) \ 689 gsm_a_pd_str_e protocol_disc;
697 guint16 be_cell_id_aux(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len, guint8 disc);
698 guint16 be_cell_id_type(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len, guint8 disc, e212_number_type_t number_type);
710 guint16 de_bearer_cap_uplink(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
712 guint16 be_ganss_loc_type(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
715 guint16 de_cn_common_gsm_map_nas_sys_info(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
716 guint16 de_cs_domain_spec_sys_info(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
717 guint16 de_ps_domain_spec_sys_info(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
729 guint16 de_sm_pdp_addr(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_,
int string_len _U_);
739 guint16 de_gmm_ms_net_cap(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
743 guint16 de_gmm_ms_radio_acc_cap(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
744 guint16 de_gmm_voice_domain_pref(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
746 guint16 de_sup_codec_list(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
759 guint16 de_rr_chnl_needed(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
761 guint16 de_rr_cip_mode_set(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
763 guint16 de_rr_cm_enq_mask(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
766 guint16 de_rr_multirate_conf(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
776 guint16 de_spare_nibble(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_,
int string_len _U_);
778 guint16 de_emm_ue_net_cap(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
779 guint16 de_emm_trac_area_id(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string,
int string_len);
780 guint16 de_emm_sec_par_from_eutra(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_,
int string_len _U_);
781 guint16 de_emm_sec_par_to_eutra(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_,
int string_len _U_);
782 guint16 de_esm_qos(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_,
int string_len _U_);
785 guint16 de_nas_5gs_mm_s_nssai(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_,
int string_len _U_);
786 guint16 de_nas_5gs_sm_qos_rules(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_,
int string_len _U_);
787 guint16 de_nas_5gs_sm_session_ambr(
tvbuff_t *tvb,
proto_tree *tree,
packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_,
int string_len _U_);
803 WS_DLL_PUBLIC
const value_string gsm_a_bssmap_msg_strings[];
804 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_mm_strings[];
805 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_rr_strings[];
806 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_cc_strings[];
807 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_gmm_strings[];
808 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_sms_strings[];
809 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_sm_strings[];
810 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_ss_strings[];
811 WS_DLL_PUBLIC
const value_string gsm_a_dtap_msg_tp_strings[];
812 WS_DLL_PUBLIC
const value_string gsm_a_rr_short_pd_msg_strings[];
813 WS_DLL_PUBLIC
const gchar *gsm_a_pd_str[];
815 extern const value_string gsm_a_sm_qos_del_of_err_sdu_vals[];
816 extern const value_string gsm_a_sm_qos_traffic_cls_vals[];
818 extern const value_string gsm_a_sm_qos_sdu_err_rat_vals[];
819 extern const value_string gsm_a_sm_qos_traff_hdl_pri_vals[];
821 extern const value_string gsm_a_dtap_type_of_number_values[];
822 extern const value_string gsm_a_dtap_numbering_plan_id_values[];
827 extern const value_string gsm_a_gm_type_of_ciph_alg_vals[];
833 extern const value_string nas_5gs_pdu_session_id_vals[];
850 DE_CN_COMMON_GSM_MAP_NAS_SYS_INFO,
851 DE_CS_DOMAIN_SPEC_SYS_INFO,
852 DE_PS_DOMAIN_SPEC_SYS_INFO,
854 DE_NAS_CONT_FOR_PS_HO,
944 BE_SRC_RNC_TO_TAR_RNC_UMTS,
945 BE_SRC_RNC_TO_TAR_RNC_CDMA,
960 BE_NEW_BSS_TO_OLD_BSS_INF,
975 BE_VGS_VBS_CELL_STAT,
976 BE_CELL_ID_LST_SEG_F_EST_CELLS,
977 BE_CELL_ID_LST_SEG_F_CELL_TB_EST,
978 BE_CELL_ID_LST_SEG_F_REL_CELL,
979 BE_CELL_ID_LST_SEG_F_NOT_EST_CELL,
987 BE_AOIP_TRANS_LAY_ADD,
992 BE_A_ITF_SEL_FOR_RESET,
997 BE_REROUTE_REJ_CAUSE,
1002 BE_LCLS_CON_STATUS_CONTROL,
1003 BE_LCLS_CORR_NOT_NEEDED,
1009 BE_SRC_ENB_2_TGT_ENB_TRANSP_INF,
1010 BE_CS_TO_PS_SRVCC_IND,
1013 BE_SELECTED_PLMN_ID,
1024 DE_BMAPLE_GANSS_LOC_TYPE,
1027 DE_BMAPLE_GANSS_POS_DATA,
1028 DE_BMAPLE_VELOC_DATA,
1029 DE_BMAPLE_LCS_CAUSE,
1030 DE_BMAPLE_LCS_CLIENT_TYPE,
1032 DE_BMAPLE_NETWORK_ELEM_ID,
1033 DE_BMAPLE_REQ_GPS_ASSIST_D,
1034 DE_BMAPLE_REQ_GNSS_ASSIST_D,
1035 DE_BMAPLE_DECIPH_KEYS,
1036 DE_BMAPLE_RETURN_ERROR_REQ,
1037 DE_BMAPLE_RETURN_ERROR_CAUSE,
1038 DE_BMAPLE_SEGMENTATION,
1039 DE_BMAPLE_CLASSMARK_TYPE_3,
1041 DE_BMAPLE_CELL_IDENTIFIER,
1042 DE_BMAPLE_CHOSEN_CHANNEL,
1047 DE_BMAPLE_LCS_CAPABILITY,
1048 DE_BMAPLE_PACKET_MEAS_REP,
1049 DE_BMAPLE_MEAS_CELL_ID,
1053 bssmap_le_elem_idx_t;
1074 DE_BLAP_CELL_ID_LIST,
1075 DE_BLAP_ENH_MEAS_REP,
1080 DE_BLAP_SERV_CELL_ID,
1085 DE_BLAP_PKT_CH_DESC,
1099 DE_AUTH_RESP_PARAM_EXT,
1112 DE_EMERGENCY_NUM_LIST,
1120 DE_CLD_PARTY_BCD_NUM,
1121 DE_CLD_PARTY_SUB_ADDR,
1122 DE_CLG_PARTY_BCD_NUM,
1123 DE_CLG_PARTY_SUB_ADDR,
1138 DE_RED_PARTY_BCD_NUM,
1139 DE_RED_PARTY_SUB_ADDR,
1141 DE_REV_CALL_SETUP_DIR,
1154 DE_NET_INIT_SERV_UPG,
1163 DE_TP_TESTED_DEVICE,
1164 DE_TP_PDU_DESCRIPTION,
1166 DE_TP_EGPRS_MODE_FLAG,
1167 DE_TP_MS_POSITIONING_TECHNOLOGY,
1168 DE_TP_UE_TEST_LOOP_MODE,
1169 DE_TP_UE_POSITIONING_TECHNOLOGY,
1170 DE_TP_RLC_SDU_COUNTER_VALUE,
1171 DE_TP_EPC_UE_TEST_LOOP_MODE,
1172 DE_TP_EPC_UE_TL_A_LB_SETUP,
1173 DE_TP_EPC_UE_TL_B_LB_SETUP,
1174 DE_TP_EPC_UE_TL_C_SETUP,
1175 DE_TP_EPC_UE_TL_D_SETUP,
1176 DE_TP_EPC_UE_TL_E_SETUP,
1177 DE_TP_EPC_UE_TL_F_SETUP,
1178 DE_TP_EPC_UE_TL_GH_SETUP,
1179 DE_TP_EPC_UE_POSITIONING_TECHNOLOGY,
1180 DE_TP_EPC_MBMS_PACKET_COUNTER_VALUE,
1181 DE_TP_EPC_ELLIPSOID_POINT_WITH_ALT,
1182 DE_TP_EPC_HORIZONTAL_VELOCITY,
1183 DE_TP_EPC_GNSS_TOD_MSEC,
1213 DE_FORCE_TO_STAND_H,
1218 DE_REC_N_PDU_NUM_LIST,
1232 DE_ADD_NET_FEAT_SUP,
1233 DE_RAT_INFO_CONTAINER,
1236 DE_EUTRAN_IRAT_INFO_CONTAINER,
1237 DE_VOICE_DOMAIN_PREF,
1245 DE_PLMN_ID_CN_OPERATOR,
1246 DE_NON_3GPP_NW_PROV_POL,
1251 DE_EXT_PRO_CONF_OPT,
1262 DE_TRAFFIC_FLOW_TEMPLATE,
1265 DE_MBMS_PROT_CONF_OPT,
1269 DE_SM_CONNECTIVITY_TYPE,
1270 DE_SM_WLAN_OFFLOAD_ACCEPT,
1273 DE_PDP_CONTEXT_STAT,
1280 DE_UPLINK_DATA_STATUS,
1281 DE_DEVICE_PROPERTIES,
1292 DE_RR_UTRAN_FREQ_LIST,
1293 DE_RR_CELL_SELECT_INDIC,
1295 DE_RR_CELL_OPT_BCCH,
1296 DE_RR_CELL_OPT_SACCH,
1297 DE_RR_CELL_SEL_PARAM,
1312 DE_RR_CHNL_REQ_DESC2,
1314 DE_RR_CIP_MODE_RESP,
1316 DE_RR_DTM_INFO_DETAILS,
1317 DE_RR_DYN_ARFCN_MAP,
1320 DE_RR_FREQ_SHORT_LIST,
1321 DE_RR_FREQ_SHORT_LIST2,
1323 DE_RR_GPRS_RESUMPTION,
1324 DE_RR_GPRS_BROADCAST_INFORMATION,
1332 DE_RR_L2_PSEUDO_LEN,
1336 DE_RR_MOB_TIME_DIFF,
1337 DE_RR_MULTIRATE_CONF,
1342 DE_RR_NEIGH_CELL_DESC,
1343 DE_RR_NEIGH_CELL_DESC2,
1350 DE_RR_PACKET_CH_DESC,
1351 DE_RR_DED_MOD_OR_TBF,
1354 DE_RR_PKT_DL_ASS_TYPE2,
1358 DE_RR_POW_CMD_AND_ACC_TYPE,
1359 DE_RR_RACH_CTRL_PARAM,
1365 DE_RR_SI2TER_REST_OCT,
1366 DE_RR_SI2QUATER_REST_OCT,
1374 DE_RR_SI13_REST_OCT,
1382 DE_RR_SI21_REST_OCT,
1383 DE_RR_STARTING_TIME,
1388 DE_RR_VGCS_TAR_MODE_IND,
1393 DE_RR_EXT_MEAS_RESULT,
1394 DE_RR_EXT_MEAS_FREQ_LIST,
1399 DE_RR_HO_TO_UTRAN_CMD,
1423 DE_RR_FEATURE_INDICATOR,
1424 DE_RR_EC_REQUEST_REFERENCE,
1425 DE_RR_EC_PKT_CH_DSC1,
1426 DE_RR_EC_PKT_CH_DSC2,
1437 DE_EMM_ADD_UPD_TYPE,
1438 DE_EMM_AUTH_FAIL_PAR,
1440 DE_EMM_AUTH_PAR_RAND,
1441 DE_EMM_AUTH_RESP_PAR,
1442 DE_EMM_SMS_SERVICES_STATUS,
1451 DE_EMM_EPS_NET_FEATURE_SUP,
1453 DE_EMM_EPS_UPD_TYPE,
1454 DE_EMM_ESM_MSG_CONT,
1456 DE_EMM_GPRS_TIMER_2,
1457 DE_EMM_GPRS_TIMER_3,
1460 DE_EMM_KSI_AND_SEQ_NO,
1462 DE_EMM_MS_NET_FEAT_SUP,
1463 DE_EMM_NAS_KEY_SET_ID,
1464 DE_EMM_NAS_MSG_CONT,
1465 DE_EMM_NAS_SEC_ALGS,
1476 DE_EMM_TRAC_AREA_ID,
1477 DE_EMM_TRAC_AREA_ID_LST,
1479 DE_EMM_UE_RA_CAP_INF_UPD_NEED,
1481 DE_EMM_EMERG_NUM_LIST,
1482 DE_EMM_EXT_EMERG_NUM_LIST,
1486 DE_EMM_LCS_CLIENT_ID,
1487 DE_EMM_GEN_MSG_CONT_TYPE,
1488 DE_EMM_GEN_MSG_CONT,
1489 DE_EMM_VOICE_DMN_PREF,
1491 DE_EMM_EXT_DRX_PARAMS,
1492 DE_EMM_DATA_SERV_TYPE,
1494 DE_EMM_NON_3GPP_NW_PROV_POL,
1496 DE_EMM_REPLAYED_NAS_MSG_CONT,
1497 DE_EMM_NETWORK_POLICY,
1498 DE_EMM_UE_ADD_SEC_CAP,
1508 DE_ESM_APN_AGR_MAX_BR,
1509 DE_ESM_CONNECTIVITY_TYPE,
1513 DE_ESM_LNKED_EPS_B_ID,
1519 DE_ESM_PROT_CONF_OPT,
1522 DE_ESM_RE_ATTEMPT_IND,
1524 DE_ESM_TRAF_FLOW_AGR_DESC,
1525 DE_ESM_TRAF_FLOW_TEMPL,
1527 DE_ESM_WLAN_OFFLOAD_ACCEPT,
1529 DE_ESM_REMOTE_UE_CONTEXT_LIST,
1530 DE_ESM_PKMF_ADDRESS,
1531 DE_ESM_HDR_COMPR_CONFIG,
1532 DE_ESM_CTRL_PLANE_ONLY_IND,
1533 DE_ESM_USER_DATA_CONT,
1534 DE_ESM_REL_ASSIST_IND,
1536 DE_ESM_HDR_COMPR_CONFIG_STATUS,
1537 DE_ESM_SERV_PLMN_RATE_CTRL,
1538 DE_ESM_EXT_APN_AGR_MAX_BR,
1550 DE_SGSAP_LOC_AREA_ID,
1552 DE_SGSAP_EMLPP_PRIO,
1553 DE_SGSAP_TMSI_STATUS,
1556 DE_SGSAP_EPS_LOC_UPD_TYPE,
1557 DE_SGSAP_GLOBAL_CN_ID,
1564 DE_SGSAP_IMSI_DET_EPS,
1565 DE_SGSAP_IMSI_DET_NON_EPS,
1568 DE_SGSAP_NAS_MSG_CONTAINER,
1577 DE_SGSAP_LCS_CLIENT_ID,
1580 DE_SGSAP_SERV_INDIC,
1585 DE_SGSAP_UE_EMM_MODE,
1586 DE_SGSAP_ADD_PAGING_IND,
1587 DE_SGSAP_TMSI_BASED_NRI_CONT,
1588 DE_SGSAP_SELECTED_CS_DMN_OP,
1596 DE_NAS_5GS_MM_5GMM_CAP,
1597 DE_NAS_5GS_MM_5GMM_CAUSE,
1598 DE_NAS_5GS_MM_5GS_MOBILE_ID,
1599 DE_NAS_5GS_MM_5GS_NW_FEAT_SUP,
1600 DE_NAS_5GS_MM_5GS_REG_RES,
1601 DE_NAS_5GS_MM_5GS_REG_TYPE,
1602 DE_NAS_5GS_MM_ALLOW_PDU_SES_STS,
1603 DE_NAS_5GS_MM_AUT_PAR_AUTN,
1604 DE_NAS_5GS_MM_AUT_PAR_RAND,
1605 DE_NAS_5GS_MM_CONF_UPD_IND,
1606 DE_NAS_5GS_MM_DLGT_SAVING_TIME,
1607 DE_NAS_5GS_MM_DE_REG_TYPE,
1609 DE_NAS_5GS_MM_EAP_MSG,
1610 DE_NAS_5GS_MM_EPS_NAS_MSG_CONT,
1611 DE_NAS_5GS_MM_GPRS_TIMER_2,
1612 DE_NAS_5GS_MM_HASHAMF,
1613 DE_NAS_5GS_MM_IMEISV_REQ,
1614 DE_NAS_5GS_MM_LADN_INF,
1615 DE_NAS_5GS_MM_MSG_AUTH_CODE,
1616 DE_NAS_5GS_MM_MICO_IND,
1617 DE_NAS_5GS_MM_NAS_KEY_SET_ID,
1618 DE_NAS_5GS_MM_NAS_MSG_CONT,
1619 DE_NAS_5GS_MM_NAS_SEC_ALGO,
1620 DE_NAS_5GS_MM_NAS_SEC_PAR_NG_RAN,
1621 DE_NAS_5GS_MM_NW_NAME,
1622 DE_NAS_5GS_MM_NONCE,
1623 DE_NAS_5GS_MM_NSSAI,
1624 DE_NAS_5GS_MM_NSSAI_INF_FOR_PDU_SES,
1625 DE_NAS_5GS_MM_PLD_CONT,
1626 DE_NAS_5GS_MM_PLD_CONT_TYPE,
1627 DE_NAS_5GS_MM_PDU_SES_REACT_RES,
1628 DE_NAS_5GS_MM_PLMN_LIST,
1629 DE_NAS_5GS_MM_OLD_PDU_SES_ID,
1630 DE_NAS_5GS_MM_REJ_NSSAI,
1631 DE_NAS_5GS_MM_S1_UE_NW_CAP,
1632 DE_NAS_5GS_MM_S_NSSAI,
1633 DE_NAS_5GS_MM_SEQ_NO,
1635 DE_NAS_5GS_MM_SMS_ALL,
1636 DE_NAS_5GS_MM_SMS_REQ,
1637 DE_NAS_5GS_MM_REQ_TYPE,
1638 DE_NAS_5GS_MM_SERV_TYPE,
1639 DE_NAS_5GS_MM_TAI_ID,
1640 DE_NAS_5GS_MM_TAI_ID_LIST,
1642 DE_NAS_5GS_MM_TZ_AND_T,
1643 DE_NAS_5GS_MM_UE_SEC_CAP,
1644 DE_NAS_5GS_MM_UE_STS,
1647 nas_5gs_mm_elem_idx_t;
Definition: packet_info.h:44
Definition: packet-gsm_a_common.h:683
Definition: tvbuff-int.h:35
Definition: packet-sccp.h:75
Definition: value_string.h:24
Definition: value_string.h:164