summaryrefslogtreecommitdiff
path: root/epan/dissectors/asn1/rrc
diff options
context:
space:
mode:
authorS. Shapira <sswsdev@gmail.com>2017-03-26 00:37:41 +0300
committerAnders Broman <a.broman58@gmail.com>2017-03-27 04:09:22 +0000
commitea0f0939bb7c4a0b12864f36a6525fa930cc11b8 (patch)
treecc231aa25b68634fdf8d7fa9dd8431c2c26062d9 /epan/dissectors/asn1/rrc
parentdc482dd71508ea69f58fa5c0d4ac9bd6d55de7bc (diff)
downloadwireshark-ea0f0939bb7c4a0b12864f36a6525fa930cc11b8.tar.gz
[UMTS RRC] Added dissection of "Cell Identity"
According to TS 25.401 / 6.1.5 Cell Identifier Change-Id: I74996e76328f536dec0d34aa8229a1074ed47187 Reviewed-on: https://code.wireshark.org/review/20709 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/asn1/rrc')
-rw-r--r--epan/dissectors/asn1/rrc/packet-rrc-template.c12
-rw-r--r--epan/dissectors/asn1/rrc/rrc.cnf27
2 files changed, 32 insertions, 7 deletions
diff --git a/epan/dissectors/asn1/rrc/packet-rrc-template.c b/epan/dissectors/asn1/rrc/packet-rrc-template.c
index 72306c0ee6..57b88e799a 100644
--- a/epan/dissectors/asn1/rrc/packet-rrc-template.c
+++ b/epan/dissectors/asn1/rrc/packet-rrc-template.c
@@ -108,6 +108,7 @@ static int ett_rrc = -1;
static gint ett_rrc_eutraFeatureGroupIndicators = -1;
static gint ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo = -1;
static gint ett_rrc_ims_info = -1;
+static gint ett_rrc_cellIdentity = -1;
static expert_field ei_rrc_no_hrnti = EI_INIT;
@@ -122,6 +123,8 @@ static int hf_rrc_ims_info_atgw_trans_det_cont_type = -1;
static int hf_rrc_ims_info_atgw_udp_port = -1;
static int hf_rrc_ims_info_atgw_ipv4 = -1;
static int hf_rrc_ims_info_atgw_ipv6 = -1;
+static int hf_rrc_cellIdentity_rnc_id = -1;
+static int hf_rrc_cellIdentity_c_id = -1;
static const true_false_string rrc_eutra_feat_group_ind_1_val = {
"UTRA CELL_PCH to EUTRA RRC_IDLE cell reselection - Supported",
@@ -310,6 +313,14 @@ void proto_register_rrc(void) {
{"ATGW IPv6", "rrc.rsrvcc_info.ims_info_atgw_ipv6",
FT_IPv6, BASE_NONE, NULL, 0x0,
"rSR-VCC IMS information ATGW IPv6", HFILL}},
+ { &hf_rrc_cellIdentity_rnc_id,
+ {"RNC Identifier", "rrc.cellIdentity.rnc_id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "The RNC Identifier (RNC-Id) part of the Cell Identity", HFILL }},
+ { &hf_rrc_cellIdentity_c_id,
+ {"Cell Identifier", "rrc.cellIdentity.c_id",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "The Cell Identifier (C-Id) part of the Cell Identity", HFILL }}
};
/* List of subtrees */
@@ -319,6 +330,7 @@ void proto_register_rrc(void) {
&ett_rrc_eutraFeatureGroupIndicators,
&ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo,
&ett_rrc_ims_info,
+ &ett_rrc_cellIdentity,
};
static ei_register_info ei[] = {
diff --git a/epan/dissectors/asn1/rrc/rrc.cnf b/epan/dissectors/asn1/rrc/rrc.cnf
index 444db4e0d5..f85c7a69cf 100644
--- a/epan/dissectors/asn1/rrc/rrc.cnf
+++ b/epan/dissectors/asn1/rrc/rrc.cnf
@@ -728,17 +728,17 @@ HNBName TYPE=FT_STRING DISPLAY=STR_UNICODE
switch (GPOINTER_TO_UINT(actx->private_data)-1) {
case RRC_NAS_SYS_INFO_CN_COMMON:
subtree = proto_tree_add_subtree(tree, nas_sys_info_gsm_map_tvb, 0, length,
- ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "CN Common GSM-MAP NAS system information");
+ ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "CN Common GSM-MAP NAS system information");
de_cn_common_gsm_map_nas_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
break;
case RRC_NAS_SYS_INFO_CS:
subtree = proto_tree_add_subtree(tree, nas_sys_info_gsm_map_tvb, 0, length,
- ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "CS domain specific system information");
+ ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "CS domain specific system information");
de_cs_domain_spec_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
break;
case RRC_NAS_SYS_INFO_PS:
subtree = proto_tree_add_subtree(tree, nas_sys_info_gsm_map_tvb, 0, length,
- ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "PS domain specific system information");
+ ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, NULL, "PS domain specific system information");
de_ps_domain_spec_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
break;
default:
@@ -748,9 +748,22 @@ HNBName TYPE=FT_STRING DISPLAY=STR_UNICODE
}
}
-/*Here we try to figure out which HS-DSCH channels are multiplexed*/
-#.FN_BODY DL-TransportChannelType-r5 VAL_PTR = &type
+#.FN_BODY CellIdentity VAL_PTR = &cell_id_tvb
+ tvbuff_t * cell_id_tvb = NULL;
+ proto_item *temp_ti;
+ proto_tree *cell_identity_tree;
+
+%(DEFAULT_BODY)s
+ if(cell_id_tvb != NULL) {
+ cell_identity_tree = proto_item_add_subtree(actx->created_item, ett_rrc_cellIdentity);
+ temp_ti = proto_tree_add_bits_item(cell_identity_tree, hf_rrc_cellIdentity_rnc_id,cell_id_tvb, 0, 12, ENC_BIG_ENDIAN);
+ PROTO_ITEM_SET_GENERATED(temp_ti);
+ temp_ti = proto_tree_add_bits_item(cell_identity_tree, hf_rrc_cellIdentity_c_id, cell_id_tvb, 12, 16, ENC_BIG_ENDIAN);
+ PROTO_ITEM_SET_GENERATED(temp_ti);
+ }
+#.FN_BODY DL-TransportChannelType-r5 VAL_PTR = &type
+/*Here we try to figure out which HS-DSCH channels are multiplexed*/
guint *flowd_p;
guint *cur_val=NULL;
struct rrc_info *rrcinf;
@@ -783,9 +796,9 @@ HNBName TYPE=FT_STRING DISPLAY=STR_UNICODE
}
}
-/*Here we try to figure out which HS-DSCH channels are multiplexed*/
-#.FN_BODY DL-TransportChannelType-r7 VAL_PTR = &type
+#.FN_BODY DL-TransportChannelType-r7 VAL_PTR = &type
+/*Here we try to figure out which HS-DSCH channels are multiplexed*/
guint *flowd_p;
guint *cur_val=NULL;
struct rrc_info *rrcinf;