forked from osmocom/wireshark
3GPP NAS: upgrade dissector to v12.9.0
Change-Id: I6bffe7b5b95d72031df5aecac66129d2ceff517e Reviewed-on: https://code.wireshark.org/review/7889 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
parent
e4e59eb065
commit
a6459ca125
|
@ -705,6 +705,7 @@ static int hf_gsm_a_eutra_wb_rsrq_support = -1;
|
|||
static int hf_gsm_a_er_band_support = -1;
|
||||
static int hf_gsm_a_utra_mfbi_support = -1;
|
||||
static int hf_gsm_a_eutra_mfbi_support = -1;
|
||||
static int hf_gsm_a_ext_tsc_set_cap_support = -1;
|
||||
|
||||
static int hf_gsm_a_geo_loc_type_of_shape = -1;
|
||||
static int hf_gsm_a_geo_loc_sign_of_lat = -1;
|
||||
|
@ -2448,7 +2449,7 @@ de_ms_cm_2(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset,
|
|||
|
||||
/*
|
||||
* [3] 10.5.1.7 Mobile Station Classmark 3
|
||||
* 3GPP TS 24.008 version 12.7.0 Release 12
|
||||
* 3GPP TS 24.008 version 12.9.0 Release 12
|
||||
*/
|
||||
#define AVAILABLE_BITS_CHECK(n) \
|
||||
bits_left = ((len + offset) << 3) - bit_offset; \
|
||||
|
@ -3205,6 +3206,13 @@ de_ms_cm_3(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset,
|
|||
proto_tree_add_bits_item(tree, hf_gsm_a_eutra_mfbi_support, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
|
||||
bit_offset = bit_offset + 1;
|
||||
|
||||
/*
|
||||
* < Extended TSC Set Capability support : bit(1)>
|
||||
*/
|
||||
AVAILABLE_BITS_CHECK(1);
|
||||
proto_tree_add_bits_item(tree, hf_gsm_a_ext_tsc_set_cap_support, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
|
||||
bit_offset = bit_offset + 1;
|
||||
|
||||
/*
|
||||
* Add spare bits until we reach an octet boundary
|
||||
*/
|
||||
|
@ -4310,6 +4318,11 @@ proto_register_gsm_a_common(void)
|
|||
FT_BOOLEAN, BASE_NONE, TFS(&true_false_vals), 0x00,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gsm_a_ext_tsc_set_cap_support,
|
||||
{ "Extended TSC Set Capability support", "gsm_a.classmark3.ext_tsc_set_cap_support",
|
||||
FT_BOOLEAN, BASE_NONE, TFS(&true_false_vals), 0x00,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_gsm_a_geo_loc_type_of_shape,
|
||||
{ "Location estimate", "gsm_a.gad.location_estimate",
|
||||
FT_UINT8, BASE_DEC, VALS(type_of_shape_vals), 0xf0,
|
||||
|
|
|
@ -1159,6 +1159,7 @@ typedef enum
|
|||
DE_PRO_CONF_OPT, /* Protocol Configuration Options */
|
||||
DE_PD_PRO_ADDR, /* Packet Data Protocol Address */
|
||||
DE_QOS, /* Quality Of Service */
|
||||
DE_RE_ATTEMPT_IND, /* Re-attempt indicator */
|
||||
DE_SM_CAUSE, /* SM Cause */
|
||||
DE_SM_CAUSE_2, /* SM Cause 2 */
|
||||
DE_LINKED_TI, /* Linked TI */
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
* Mobile radio interface Layer 3 specification;
|
||||
* Core network protocols;
|
||||
* Stage 3
|
||||
* (3GPP TS 24.008 version 12.8.0 Release 12)
|
||||
* (3GPP TS 24.008 version 12.9.0 Release 12)
|
||||
*
|
||||
* Wireshark - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@wireshark.org>
|
||||
|
@ -197,6 +197,7 @@ static const value_string gsm_gm_elem_strings[] = {
|
|||
{ DE_PRO_CONF_OPT, "Protocol Configuration Options" },
|
||||
{ DE_PD_PRO_ADDR, "Packet Data Protocol Address" },
|
||||
{ DE_QOS, "Quality Of Service" },
|
||||
{ DE_RE_ATTEMPT_IND, "Re-attempt Indicator" },
|
||||
{ DE_SM_CAUSE, "SM Cause" },
|
||||
{ DE_SM_CAUSE_2, "SM Cause 2" },
|
||||
{ DE_LINKED_TI, "Linked TI" },
|
||||
|
@ -366,6 +367,7 @@ static int hf_gsm_a_sm_qos_max_bitrate_downl_ext2 = -1;
|
|||
static int hf_gsm_a_sm_qos_guar_bitrate_upl_ext2 = -1;
|
||||
static int hf_gsm_a_sm_qos_guar_bitrate_downl_ext2 = -1;
|
||||
static int hf_gsm_a_sm_qos_maximum_sdu_size = -1;
|
||||
static int hf_gsm_a_sm_ratc = -1;
|
||||
static int hf_gsm_a_sm_cause = -1;
|
||||
static int hf_gsm_a_sm_cause_2 = -1;
|
||||
static int hf_gsm_a_sm_llc_sapi = -1;
|
||||
|
@ -446,6 +448,7 @@ static int hf_gsm_a_gm_rac_dlmc_inter_band_recep = -1;
|
|||
static int hf_gsm_a_gm_rac_dlmc_max_bandwidth = -1;
|
||||
static int hf_gsm_a_gm_rac_dlmc_max_nb_dl_ts = -1;
|
||||
static int hf_gsm_a_gm_rac_dlmc_max_nb_dl_carriers = -1;
|
||||
static int hf_gsm_a_gm_rac_ext_tsc_set_cap_support = -1;
|
||||
static int hf_gsm_a_sm_ti_flag = -1;
|
||||
static int hf_gsm_a_sm_ext = -1;
|
||||
|
||||
|
@ -3096,6 +3099,17 @@ de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui
|
|||
bits_in_oct -= bits_needed;
|
||||
}
|
||||
|
||||
/*
|
||||
* Extended TSC Set Capability support
|
||||
*/
|
||||
bits_needed = 1;
|
||||
GET_DATA;
|
||||
proto_tree_add_bits_item(tf_tree, hf_gsm_a_gm_rac_ext_tsc_set_cap_support, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
|
||||
bit_offset += bits_needed;
|
||||
curr_bits_length -= bits_needed;
|
||||
oct <<= bits_needed;
|
||||
bits_in_oct -= bits_needed;
|
||||
|
||||
/*
|
||||
* we are too long ... so jump over it
|
||||
*/
|
||||
|
@ -4834,6 +4848,30 @@ de_sm_qos(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g
|
|||
return (curr_offset - offset);
|
||||
}
|
||||
|
||||
/*
|
||||
* [12] 10.5.6.5a Re-attempt indicator
|
||||
*/
|
||||
const true_false_string gsm_a_gm_ratc_value = {
|
||||
"MS is not allowed to repeat the request after inter-system change to S1 mode",
|
||||
"MS is allowed to repeat the request after inter-system change to S1 mode"
|
||||
};
|
||||
|
||||
guint16
|
||||
de_sm_re_attempt_ind(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
|
||||
{
|
||||
guint32 curr_offset;
|
||||
|
||||
curr_offset = offset;
|
||||
|
||||
proto_tree_add_bits_item(tree, hf_gsm_a_spare_bits, tvb, offset << 3, 7, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_gsm_a_sm_ratc, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
curr_offset++;
|
||||
|
||||
EXTRANEOUS_DATA_CHECK(len, curr_offset - offset, pinfo, &ei_gsm_a_gm_extraneous_data);
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
/*
|
||||
* [9] 10.5.6.6 SM cause
|
||||
*/
|
||||
|
@ -5625,6 +5663,7 @@ guint16 (*gm_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_
|
|||
de_sm_pco, /* Protocol Configuration Options */
|
||||
de_sm_pdp_addr, /* Packet Data Protocol Address */
|
||||
de_sm_qos, /* Quality Of Service */
|
||||
de_sm_re_attempt_ind, /* Re-attempt indicator */
|
||||
de_sm_cause, /* SM Cause */
|
||||
de_sm_cause_2, /* SM Cause 2 */
|
||||
de_sm_linked_ti, /* Linked TI */
|
||||
|
@ -6509,7 +6548,9 @@ dtap_sm_act_pdp_rej(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32
|
|||
|
||||
ELEM_OPT_TLV( 0x27, GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT, NULL);
|
||||
|
||||
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - T3396 value");
|
||||
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - Back-off timer value");
|
||||
|
||||
ELEM_OPT_TLV(0x6B, GSM_A_PDU_TYPE_GM, DE_RE_ATTEMPT_IND, NULL);
|
||||
|
||||
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data);
|
||||
}
|
||||
|
@ -6612,7 +6653,9 @@ dtap_sm_act_sec_pdp_rej(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui
|
|||
|
||||
ELEM_OPT_TLV( 0x27, GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT, NULL);
|
||||
|
||||
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - T3396 value");
|
||||
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - Back-off timer value");
|
||||
|
||||
ELEM_OPT_TLV(0x6B, GSM_A_PDU_TYPE_GM, DE_RE_ATTEMPT_IND, NULL);
|
||||
|
||||
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data);
|
||||
}
|
||||
|
@ -6822,7 +6865,9 @@ dtap_sm_mod_pdp_rej(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32
|
|||
|
||||
ELEM_OPT_TLV( 0x27, GSM_A_PDU_TYPE_GM, DE_PRO_CONF_OPT, NULL);
|
||||
|
||||
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - T3396 value");
|
||||
ELEM_OPT_TLV(0x37, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - Back-off timer value");
|
||||
|
||||
ELEM_OPT_TLV(0x6B, GSM_A_PDU_TYPE_GM, DE_RE_ATTEMPT_IND, NULL);
|
||||
|
||||
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_gsm_a_gm_extraneous_data);
|
||||
}
|
||||
|
@ -7831,6 +7876,11 @@ proto_register_gsm_a_gm(void)
|
|||
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_gsm_a_sm_ratc,
|
||||
{ "RATC", "gsm_a.gm.sm.re_attempt_ind.ratc",
|
||||
FT_BOOLEAN, 8, TFS(&gsm_a_gm_ratc_value), 0x01,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_gsm_a_sm_cause,
|
||||
{ "SM Cause", "gsm_a.gm.sm.cause",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||
|
@ -8351,6 +8401,11 @@ proto_register_gsm_a_gm(void)
|
|||
FT_UINT8, BASE_DEC, VALS(gsm_a_gm_dlmc_max_nb_dl_carriers_vals), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_gsm_a_gm_rac_ext_tsc_set_cap_support,
|
||||
{ "Extended TSC Set Capability support", "gsm_a.gm.gmm.rac.ext_tsc_set_cap_support",
|
||||
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_gsm_a_sm_ti_flag,
|
||||
{ "TI Flag", "gsm_a.gm.sm.ti_flag",
|
||||
FT_BOOLEAN, 8, TFS(&gsm_a_sm_ti_flag_vals), 0x80,
|
||||
|
|
Loading…
Reference in New Issue