NAS EPS: upgrade dissector to v15.2.0

Change-Id: I448934f15a18b5f6086cdf3f415dcccf2a4534d6
Reviewed-on: https://code.wireshark.org/review/26683
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Pascal Quantin 2018-03-29 23:20:55 +02:00 committed by Anders Broman
parent 684ca9db12
commit af7309ff9d
3 changed files with 150 additions and 12 deletions

View File

@ -1478,7 +1478,8 @@ typedef enum
DE_EMM_UE_NET_CAP, /* 9.9.3.34 UE network capability */
DE_EMM_UE_RA_CAP_INF_UPD_NEED, /* 9.9.3.35 UE radio capability information update needed */
DE_EMM_UE_SEC_CAP, /* 9.9.3.36 UE security capability */
DE_EMM_EMERG_NUM_LST, /* 9.9.3.37 Emergency Number List */
DE_EMM_EMERG_NUM_LIST, /* 9.9.3.37 Emergency Number List */
DE_EMM_EXT_EMERG_NUM_LIST, /* 9.9.3.37a Extended Emergency Number List */
DE_EMM_CLI, /* 9.9.3.38 CLI */
DE_EMM_SS_CODE, /* 9.9.3.39 SS Code */
DE_EMM_LCS_IND, /* 9.9.3.40 LCS indicator */
@ -1495,6 +1496,7 @@ typedef enum
DE_EMM_REPLAYED_NAS_MSG_CONT, /* 9.9.3.51 Replayed NAS message container */
DE_EMM_NETWORK_POLICY, /* 9.9.3.52 Network policy */
DE_EMM_UE_ADD_SEC_CAP, /* 9.9.3.53 UE additional security capability */
DE_EMM_UE_STATUS, /* 9.9.3.54 UE status */
DE_EMM_NONE /* NONE */
}
nas_emm_elem_idx_t;
@ -1589,6 +1591,61 @@ typedef enum
}
sgsap_elem_idx_t;
typedef enum
{
DE_NAS_5GS_MM_5GMM_CAP, /* 9.8.3.1 5GMM capability*/
DE_NAS_5GS_MM_5GMM_CAUSE, /* 9.8.3.2 5GMM cause*/
DE_NAS_5GS_MM_5GS_MOBILE_ID, /* 9.8.3.3 5GS mobile identity*/
DE_NAS_5GS_MM_5GS_NW_FEAT_SUP, /* 9.8.3.4 5GS network feature support*/
DE_NAS_5GS_MM_5GS_REG_RES, /* 9.8.3.5 5GS registration result*/
DE_NAS_5GS_MM_5GS_REG_TYPE, /* 9.8.3.6 5GS registration type*/
DE_NAS_5GS_MM_ALLOW_PDU_SES_STS, /* 9.8.3.7 Allowed PDU session status*/
DE_NAS_5GS_MM_AUT_PAR_AUTN, /* 9.8.3.8 Authentication parameter AUTN*/
DE_NAS_5GS_MM_AUT_PAR_RAND, /* 9.8.3.9 Authentication parameter RAND*/
DE_NAS_5GS_MM_CONF_UPD_IND, /* 9.8.3.10 Configuration update indication*/
DE_NAS_5GS_MM_DLGT_SAVING_TIME, /* 9.8.3.11 Daylight saving time*/
DE_NAS_5GS_MM_DE_REG_TYPE, /* 9.8.3.12 De-registration type*/
DE_NAS_5GS_MM_DNN, /* 9.8.3.13 DNN*/
DE_NAS_5GS_MM_EAP_MSG, /* 9.8.3.14 EAP message*/
DE_NAS_5GS_MM_EPS_NAS_MSG_CONT, /* 9.8.3.15 EPS NAS message container*/
DE_NAS_5GS_MM_GPRS_TIMER_2, /* 9.8.3.16 GPRS timer 2*/
DE_NAS_5GS_MM_HASHAMF, /* 9.8.3.17 HashAMF*/
DE_NAS_5GS_MM_IMEISV_REQ, /* 9.8.3.18 IMEISV request*/
DE_NAS_5GS_MM_LADN_INF, /* 9.8.3.19 LADN information*/
DE_NAS_5GS_MM_MSG_AUTH_CODE, /* 9.8.3.20 Message authentication code*/
DE_NAS_5GS_MM_MICO_IND, /* 9.8.3.21 MICO indication*/
DE_NAS_5GS_MM_NAS_KEY_SET_ID, /* 9.8.3.22 NAS key set identifier*/
DE_NAS_5GS_MM_NAS_MSG_CONT, /* 9.8.3.23 NAS message container*/
DE_NAS_5GS_MM_NAS_SEC_ALGO, /* 9.8.3.24 NAS security algorithms*/
DE_NAS_5GS_MM_NAS_SEC_PAR_NG_RAN, /* 9.8.3.25 NAS security parameters to NG-RAN*/
DE_NAS_5GS_MM_NW_NAME, /* 9.8.3.26 Network name*/
DE_NAS_5GS_MM_NONCE, /* 9.8.3.27 Nonce*/
DE_NAS_5GS_MM_NSSAI, /* 9.8.3.28 NSSAI*/
DE_NAS_5GS_MM_NSSAI_INF_FOR_PDU_SES, /* 9.8.3.29 NSSAI info for PDU sessions*/
DE_NAS_5GS_MM_PLD_CONT, /* 9.8.3.30 Payload container*/
DE_NAS_5GS_MM_PLD_CONT_TYPE, /* 9.8.3.31 Payload container type*/
DE_NAS_5GS_MM_PDU_SES_REACT_RES, /* 9.8.3.32 PDU session reactivation result*/
DE_NAS_5GS_MM_PLMN_LIST, /* 9.8.3.33 PLMN list*/
DE_NAS_5GS_MM_OLD_PDU_SES_ID, /* 9.8.3.34 Old PDU session identity*/
DE_NAS_5GS_MM_REJ_NSSAI, /* 9.8.3.35 Rejected NSSAI*/
DE_NAS_5GS_MM_S1_UE_NW_CAP, /* 9.8.3.36 S1 UE network capability*/
DE_NAS_5GS_MM_S_NSSAI, /* 9.8.3.37 S-NSSAI*/
DE_NAS_5GS_MM_SEQ_NO, /* 9.8.3.38 Sequence number*/
DE_NAS_5GS_MM_SAL, /* 9.8.3.39 Service area list*/
DE_NAS_5GS_MM_SMS_ALL, /* 9.8.3.40 SMS allowed*/
DE_NAS_5GS_MM_SMS_REQ, /* 9.8.3.41 SMS requested*/
DE_NAS_5GS_MM_REQ_TYPE, /* 9.8.3.42 Request type*/
DE_NAS_5GS_MM_SERV_TYPE, /* 9.8.3.43 Service type*/
DE_NAS_5GS_MM_TAI_ID, /* 9.8.3.44 Tracking area identity*/
DE_NAS_5GS_MM_TAI_ID_LIST, /* 9.8.3.45 Tracking area identity list*/
DE_NAS_5GS_MM_TZ, /* 9.8.3.46 Time zone*/
DE_NAS_5GS_MM_TZ_AND_T, /* 9.8.3.47 Time zone and time*/
DE_NAS_5GS_MM_UE_SEC_CAP, /* 9.8.3.48 UE security capability*/
DE_NAS_5GS_MM_UE_STS, /* 9.8.3.49 UE status*/
DE_NAS_5GS_MM_NONE /* NONE */
}
nas_5gs_mm_elem_idx_t;
#endif /* __PACKET_GSM_A_COMMON_H__ */
/*

View File

@ -117,6 +117,7 @@ static int hf_nas_5gs_mm_eia4 = -1;
static int hf_nas_5gs_mm_eia5 = -1;
static int hf_nas_5gs_mm_eia6 = -1;
static int hf_nas_5gs_mm_eia7 = -1;
static int hf_nas_5gs_mm_n1_mode_reg_b1 = -1;
static int hf_nas_5gs_mm_s1_mode_reg_b0 = -1;
static int hf_nas_5gs_pdu_ses_sts_psi_7_b7 = -1;
@ -1318,6 +1319,11 @@ de_nas_5gs_mm_ue_sec_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_
* 9.8.3.49 UE status
*/
static true_false_string tfs_nas_5gs_mm_n1_mod = {
"UE is in 5GMM-REGISTERED state",
"UE is not in 5GMM-REGISTERED state"
};
static true_false_string tfs_nas_5gs_mm_s1_mod = {
"UE is in EMM-REGISTERED state",
"UE is not in EMM-REGISTERED state"
@ -1337,7 +1343,7 @@ de_nas_5gs_mm_ue_sts(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
&hf_nas_5gs_spare_b4,
&hf_nas_5gs_spare_b3,
&hf_nas_5gs_spare_b2,
&hf_nas_5gs_spare_b1,
&hf_nas_5gs_mm_n1_mode_reg_b1,
&hf_nas_5gs_mm_s1_mode_reg_b0,
NULL
};
@ -1831,6 +1837,7 @@ guint16(*nas_5gs_common_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info
/*
* 9.8.3 5GS mobility management (5GMM) information elements
*/
#if 0
typedef enum
{
DE_NAS_5GS_MM_5GMM_CAP, /* 9.8.3.1 5GMM capability*/
@ -1885,6 +1892,7 @@ typedef enum
DE_NAS_5GS_MM_NONE /* NONE */
}
nas_5gs_mm_elem_idx_t;
#endif
static const value_string nas_5gs_mm_elem_strings[] = {
{ DE_NAS_5GS_MM_5GMM_CAP, "5GMM capability" }, /* 9.8.3.1 5GMM capability*/
@ -3976,6 +3984,11 @@ proto_register_nas_5gs(void)
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01,
NULL, HFILL }
},
{ &hf_nas_5gs_mm_n1_mode_reg_b1,
{ "N1 mode reg","nas_5gs.mm.n1_mode_reg_b1",
FT_BOOLEAN, 8, TFS(&tfs_nas_5gs_mm_n1_mod), 0x02,
NULL, HFILL }
},
{ &hf_nas_5gs_mm_s1_mode_reg_b0,
{ "S1 mode reg","nas_5gs.mm.s1_mode_reg_b0",
FT_BOOLEAN, 8, TFS(&tfs_nas_5gs_mm_s1_mod), 0x01,

View File

@ -9,7 +9,7 @@
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* References: 3GPP TS 24.301 V15.1.1 (2017-12)
* References: 3GPP TS 24.301 V15.2.0 (2018-03)
*/
#include "config.h"
@ -89,6 +89,7 @@ static int hf_nas_eps_emm_cs_lcs = -1;
static int hf_nas_eps_emm_epc_lcs = -1;
static int hf_nas_eps_emm_emc_bs = -1;
static int hf_nas_eps_emm_ims_vops = -1;
static int hf_nas_eps_emm_n26ind = -1;
static int hf_nas_eps_emm_restrict_dcnr = -1;
static int hf_nas_eps_emm_restrict_ec = -1;
static int hf_nas_eps_emm_epco = -1;
@ -177,6 +178,8 @@ static int hf_nas_eps_emm_up_ciot_cap = -1;
static int hf_nas_eps_emm_cp_ciot_cap = -1;
static int hf_nas_eps_emm_prose_relay_cap = -1;
static int hf_nas_eps_emm_prose_dc_cap = -1;
static int hf_nas_eps_sgc_cap = -1;
static int hf_nas_eps_n1mode_cap = -1;
static int hf_nas_eps_dcnr_cap = -1;
static int hf_nas_eps_cp_backoff_cap = -1;
static int hf_nas_eps_restrict_ec_cap = -1;
@ -787,7 +790,8 @@ static const value_string nas_emm_elem_strings[] = {
{ DE_EMM_UE_NET_CAP, "UE network capability" }, /* 9.9.3.34 UE network capability */
{ DE_EMM_UE_RA_CAP_INF_UPD_NEED, "UE radio capability information update needed" },/* 9.9.3.35 UE radio capability information update needed */
{ DE_EMM_UE_SEC_CAP, "UE security capability" }, /* 9.9.3.36 UE security capability */
{ DE_EMM_EMERG_NUM_LST, "Emergency Number List" }, /* 9.9.3.37 Emergency Number List */
{ DE_EMM_EMERG_NUM_LIST, "Emergency Number List" }, /* 9.9.3.37 Emergency Number List */
{ DE_EMM_EXT_EMERG_NUM_LIST, "Extended Emergency Number List" }, /* 9.9.3.37a Extended Emergency Number List */
{ DE_EMM_CLI, "CLI" }, /* 9.9.3.38 CLI */
{ DE_EMM_SS_CODE, "SS Code" }, /* 9.9.3.39 SS Code */
{ DE_EMM_LCS_IND, "LCS indicator" }, /* 9.9.3.40 LCS indicator */
@ -804,6 +808,7 @@ static const value_string nas_emm_elem_strings[] = {
{ DE_EMM_REPLAYED_NAS_MSG_CONT, "Replayed NAS message container" }, /* 9.9.3.51 Replayed NAS message container */
{ DE_EMM_NETWORK_POLICY, "Network policy" }, /* 9.9.3.52 Network policy */
{ DE_EMM_UE_ADD_SEC_CAP, "UE additional security capability" }, /* 9.9.3.53 UE additional security capability */
{ DE_EMM_UE_STATUS, "UE status" }, /* 9.9.3.54 UE status */
{ 0, NULL }
};
value_string_ext nas_emm_elem_strings_ext = VALUE_STRING_EXT_INIT(nas_emm_elem_strings);
@ -868,7 +873,8 @@ typedef enum
DE_EMM_UE_NET_CAP, /* 9.9.3.34 UE network capability */
DE_EMM_UE_RA_CAP_INF_UPD_NEED, /* 9.9.3.35 UE radio capability information update needed */
DE_EMM_UE_SEC_CAP, /* 9.9.3.36 UE security capability */
DE_EMM_EMERG_NUM_LST, /* 9.9.3.37 Emergency Number List */
DE_EMM_EMERG_NUM_LIST, /* 9.9.3.37 Emergency Number List */
DE_EMM_EXT_EMERG_NUM_LIST, /* 9.9.3.37a Extended Emergency Number List */
DE_EMM_CLI, /* 9.9.3.38 CLI */
DE_EMM_SS_CODE, /* 9.9.3.39 SS Code */
DE_EMM_LCS_IND, /* 9.9.3.40 LCS indicator */
@ -885,6 +891,7 @@ typedef enum
DE_EMM_REPLAYED_NAS_MSG_CONT, /* 9.9.3.51 Replayed NAS message container */
DE_EMM_NETWORK_POLICY, /* 9.9.3.52 Network policy */
DE_EMM_UE_ADD_SEC_CAP, /* 9.9.3.53 UE additional security capability */
DE_EMM_UE_STATUS, /* 9.9.3.54 UE status */
DE_EMM_NONE /* NONE */
}
nas_emm_elem_idx_t;
@ -926,7 +933,7 @@ de_emm_add_upd_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
static const value_string nas_eps_emm_pnb_ciot_vals[] = {
{ 0x0, "No additional information"},
{ 0x1, "Control-plane CIoT EPS optimization"},
{ 0x2, "S1-U data transfer"},
{ 0x2, "User plane CIoT EPS optimization"},
{ 0x3, "Reserved"},
{ 0, NULL }
};
@ -1311,8 +1318,10 @@ de_emm_eps_net_feature_sup(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _
proto_tree_add_bits_item(tree, hf_nas_eps_emm_ims_vops, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
bit_offset += 1;
if (len >= 2) {
proto_tree_add_bits_item(tree, hf_nas_eps_spare_bits, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
proto_tree_add_bits_item(tree, hf_nas_eps_spare_bits, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
bit_offset += 1;
proto_tree_add_bits_item(tree, hf_nas_eps_emm_n26ind, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
bit_offset += 1;
proto_tree_add_bits_item(tree, hf_nas_eps_emm_restrict_dcnr, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
bit_offset += 1;
proto_tree_add_bits_item(tree, hf_nas_eps_emm_restrict_ec, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
@ -2005,6 +2014,8 @@ de_emm_ue_net_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
};
static const int * oct9_flags[] = {
&hf_nas_eps_sgc_cap,
&hf_nas_eps_n1mode_cap,
&hf_nas_eps_dcnr_cap,
&hf_nas_eps_cp_backoff_cap,
&hf_nas_eps_restrict_ec_cap,
@ -2066,9 +2077,9 @@ de_emm_ue_net_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
return (len);
/* Octet 9
* 0 Spare 0 Spare 0 Spare DCNR CP backoff RestrictEC V2X PC5 multipleDRB
* 0 Spare SGC N1mode DCNR CP backoff RestrictEC V2X PC5 multipleDRB
*/
proto_tree_add_bits_item(tree, hf_nas_eps_spare_bits, tvb, (curr_offset<<3), 3, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(tree, hf_nas_eps_spare_bits, tvb, (curr_offset<<3), 1, ENC_BIG_ENDIAN);
proto_tree_add_bitmask_list(tree, tvb, curr_offset, 1, oct9_flags, ENC_NA);
curr_offset++;
@ -2222,6 +2233,21 @@ de_emm_ue_sec_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
* packet-gsm_a_dtap.c
*/
/*
* 9.9.3.37a Extended Emergency Number List
*/
static guint16
de_emm_ext_emerg_num_list(tvbuff_t *tvb _U_, proto_tree *tree _U_, packet_info *pinfo,
guint32 offset, guint len,
gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset = offset;
EXTRANEOUS_DATA_CHECK(len, 0, pinfo, &ei_nas_eps_extraneous_data);
return len;
}
/*
* 9.9.3.38 CLI
*/
@ -2237,7 +2263,7 @@ de_emm_ue_sec_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
*/
static guint16
de_emm_ss_code(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
guint32 offset, guint len _U_,
guint32 offset, guint len,
gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset;
@ -2543,6 +2569,11 @@ de_emm_ue_add_sec_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, g
return len;
}
/*
* 9.9.3.54 UE status
* see packet-nas_5gs.c
*/
/*
* 9.9.4 EPS Session Management (ESM) information elements
*/
@ -2694,7 +2725,15 @@ static const range_string nas_eps_qci_vals[] = {
{ 0x43, 0x44, "Spare"},
{ 0x45, 0x45, "QCI 69"},
{ 0x46, 0x46, "QCI 70"},
{ 0x47, 0x7F, "Spare"},
{ 0x47, 0x4A, "Spare"},
{ 0x4B, 0x4B, "QCI 75"},
{ 0x4C, 0x4E, "Spare"},
{ 0x4F, 0x4F, "QCI 79"},
{ 0x50, 0x50, "QCI 80"},
{ 0x51, 0x51, "Spare"},
{ 0x52, 0x52, "QCI 82"},
{ 0x53, 0x53, "QCI 83"},
{ 0x54, 0x7F, "Spare"},
{ 0x80, 0xFE, "Operator-specific QCI"},
{ 0xFF, 0xFF, "Reserved"},
{ 0, 0, NULL }
@ -3715,6 +3754,7 @@ guint16 (*emm_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, g
de_emm_ue_ra_cap_inf_upd_need, /* 9.9.3.35 UE radio capability information update needed */
de_emm_ue_sec_cap, /* 9.9.3.36 UE security capability */
NULL, /* 9.9.3.37 Emergency Number List (packet-gsm_a_dtap.c) */
de_emm_ext_emerg_num_list, /* 9.9.3.37a Extended Emergency Number List */
NULL, /* 9.9.3.38 CLI */
de_emm_ss_code, /* 9.9.3.39 SS Code */
de_emm_lcs_ind, /* 9.9.3.40 LCS indicator */
@ -3731,6 +3771,7 @@ guint16 (*emm_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, g
de_emm_replayed_nas_msg_cont, /* 9.9.3.51 Replayed NAS message container */
de_emm_network_policy, /* 9.9.3.52 Network policy */
de_emm_ue_add_sec_cap, /* 9.9.3.53 UE additional security capability */
NULL, /* 9.9.3.54 UE status */
NULL, /* NONE */
};
@ -3927,6 +3968,10 @@ nas_emm_attach_acc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32
ELEM_OPT_TLV(0x6B, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_2, " - T3448 value");
/* C- Network policy Network policy 9.9.3.52 O TV 1 */
ELEM_OPT_TV_SHORT(0xC0, NAS_PDU_TYPE_EMM, DE_EMM_NETWORK_POLICY, NULL);
/* 6C T3447 value GPRS timer 3 9.9.3.16B O TLV 3 */
ELEM_OPT_TLV(0x6C, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - T3447 value");
/* 35 Extended emergency number list Extended emergency number list 9.9.3.37A O TLV FFS */
ELEM_OPT_TLV(0x35, NAS_PDU_TYPE_EMM, DE_EMM_EXT_EMERG_NUM_LIST, NULL);
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_nas_eps_extraneous_data);
}
@ -4699,6 +4744,10 @@ nas_emm_trac_area_upd_acc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, g
ELEM_OPT_TLV(0x6B, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_2, " - T3448 value");
/* C- Network policy Network policy 9.9.3.52 O TV 1 */
ELEM_OPT_TV_SHORT(0xC0, NAS_PDU_TYPE_EMM, DE_EMM_NETWORK_POLICY, NULL);
/* 6C T3447 value GPRS timer 3 9.9.3.16B O TLV 3 */
ELEM_OPT_TLV(0x6C, GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_3, " - T3447 value");
/* 35 Extended emergency number list Extended emergency number list 9.9.3.37A O TLV FFS */
ELEM_OPT_TLV(0x35, NAS_PDU_TYPE_EMM, DE_EMM_EXT_EMERG_NUM_LIST, NULL);
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_nas_eps_extraneous_data);
}
@ -4817,6 +4866,8 @@ nas_emm_trac_area_upd_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, g
ELEM_OPT_TLV(0x6E, GSM_A_PDU_TYPE_GM, DE_EXT_DRX_PARAMS, NULL);
/* 6F UE additional security capability UE additional security capability 9.9.3.53 O TLV 8 */
ELEM_OPT_TLV(0x6F, NAS_PDU_TYPE_EMM, DE_EMM_UE_ADD_SEC_CAP, NULL);
/* 6D UE status UE status 9.9.3.54 O TLV 3 */
ELEM_OPT_TLV(0x6D, NAS_5GS_PDU_TYPE_MM, DE_NAS_5GS_MM_UE_STS, NULL);
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_nas_eps_extraneous_data);
}
@ -4991,6 +5042,8 @@ nas_esm_act_ded_eps_bearer_ctx_acc(tvbuff_t *tvb, proto_tree *tree, packet_info
ELEM_OPT_TLV(0x33, NAS_PDU_TYPE_ESM, DE_ESM_NBIFOM_CONT, NULL);
/* 7B Extended protocol configuration options Extended protocol configuration options 9.9.4.26 O TLV-E 4-65538 */
ELEM_OPT_TLV_E(0x7B, NAS_PDU_TYPE_ESM, DE_ESM_EXT_PCO, NULL);
/* 5C Extended EPS QoS Extended quality of service 9.9.4.30 O TLV 12 */
ELEM_OPT_TLV(0x5C, NAS_PDU_TYPE_ESM, DE_ESM_EXT_EPS_QOS, NULL);
EXTRANEOUS_DATA_CHECK(curr_len, 0, pinfo, &ei_nas_eps_extraneous_data);
}
@ -6497,6 +6550,11 @@ proto_register_nas_eps(void)
FT_BOOLEAN ,BASE_NONE, TFS(&tfs_restricted_not_restricted), 0x0,
NULL, HFILL }
},
{ &hf_nas_eps_emm_n26ind,
{ "Interworking without N26","nas_eps.emm.n26ind",
FT_BOOLEAN ,BASE_NONE, TFS(&tfs_supported_not_supported), 0x0,
NULL, HFILL }
},
{ &hf_nas_eps_emm_restrict_dcnr,
{ "Restriction on the use of dual connectivity with NR","nas_eps.emm.restrict_dcnr",
FT_BOOLEAN ,BASE_NONE, TFS(&tfs_restricted_not_restricted), 0x0,
@ -6934,6 +6992,16 @@ proto_register_nas_eps(void)
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x01,
NULL, HFILL }
},
{ &hf_nas_eps_sgc_cap,
{ "Service gap control","nas_eps.emm.sgc_cap",
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40,
NULL, HFILL }
},
{ &hf_nas_eps_n1mode_cap,
{ "N1 mode","nas_eps.emm.n1mode_cap",
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x20,
NULL, HFILL }
},
{ &hf_nas_eps_dcnr_cap,
{ "Dual connectivity with NR","nas_eps.emm.dcnr_cap",
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x10,