diff options
author | S. Shapira <sswsdev@gmail.com> | 2017-03-26 00:37:41 +0300 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-03-27 04:09:22 +0000 |
commit | ea0f0939bb7c4a0b12864f36a6525fa930cc11b8 (patch) | |
tree | cc231aa25b68634fdf8d7fa9dd8431c2c26062d9 /epan/dissectors/asn1/rrc | |
parent | dc482dd71508ea69f58fa5c0d4ac9bd6d55de7bc (diff) | |
download | wireshark-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.c | 12 | ||||
-rw-r--r-- | epan/dissectors/asn1/rrc/rrc.cnf | 27 |
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; |