diff options
author | Anders Broman <anders.broman@ericsson.com> | 2007-01-16 22:51:08 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2007-01-16 22:51:08 +0000 |
commit | 4e448c3cf9bdc6092e15d053c91847e9f13949c4 (patch) | |
tree | 7c886e71ac25b93fba097a895877da4c6b537cc4 /asn1 | |
parent | a5b223382f242b640a38a9a9d9c51480e4c70020 (diff) |
Dissekt ControlChannelData.
svn path=/trunk/; revision=20458
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/ansi_map/ansi_map.cnf | 7 | ||||
-rw-r--r-- | asn1/ansi_map/packet-ansi_map-template.c | 65 |
2 files changed, 68 insertions, 4 deletions
diff --git a/asn1/ansi_map/ansi_map.cnf b/asn1/ansi_map/ansi_map.cnf index 3589d5c765..f07c41b465 100644 --- a/asn1/ansi_map/ansi_map.cnf +++ b/asn1/ansi_map/ansi_map.cnf @@ -196,6 +196,13 @@ OriginationRequestRes if (parameter_tvb){ dissect_ansi_map_confidentialitymodes(parameter_tvb,pinfo,tree); } +# 6.5.2.51 ControlChannelData +#.FN_BODY ControlChannelData VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb){ + dissect_ansi_map_controlchanneldata(parameter_tvb,pinfo,tree); + } # 6.5.2.53 DeniedAuthorizationPeriod #.FN_BODY DeniedAuthorizationPeriod VAL_PTR = ¶meter_tvb diff --git a/asn1/ansi_map/packet-ansi_map-template.c b/asn1/ansi_map/packet-ansi_map-template.c index 37600d3608..e11fc08faa 100644 --- a/asn1/ansi_map/packet-ansi_map-template.c +++ b/asn1/ansi_map/packet-ansi_map-template.c @@ -123,9 +123,10 @@ static int hf_ansi_map_op_code_fam = -1; static int hf_ansi_map_op_code = -1; static int hf_ansi_map_reservedBitH = -1; -static int hf_ansi_map_reservedBitD = -1; static int hf_ansi_map_reservedBitHG = -1; static int hf_ansi_map_reservedBitHGFE = -1; +static int hf_ansi_map_reservedBitFED = -1; +static int hf_ansi_map_reservedBitD = -1; static int hf_ansi_map_reservedBitED = -1; static int hf_ansi_map_type_of_digits = -1; @@ -254,6 +255,11 @@ static int hf_ansi_map_channeldata_dtx = -1; static int hf_ansi_map_channeldata_scc = -1; static int hf_ansi_map_channeldata_chno = -1; static int hf_ansi_map_ConfidentialityModes_vp = -1; +static int hf_ansi_map_controlchanneldata_dcc = -1; +static int hf_ansi_map_controlchanneldata_cmac = -1; +static int hf_ansi_map_controlchanneldata_chno = -1; +static int hf_ansi_map_controlchanneldata_sdcc1 = -1; +static int hf_ansi_map_controlchanneldata_sdcc2 = -1; static int hf_ansi_map_ConfidentialityModes_se = -1; static int hf_ansi_map_deniedauthorizationperiod_period = -1; static int hf_ansi_map_ConfidentialityModes_dp = -1; @@ -331,6 +337,7 @@ static gint ett_cdmachanneldata = -1; static gint ett_cdmastationclassmark = -1; static gint ett_channeldata = -1; static gint ett_confidentialitymodes = -1; +static gint ett_controlchanneldata = -1; static gint ett_CDMA2000HandoffInvokeIOSData = -1; static gint ett_CDMA2000HandoffResponseIOSData = -1; static gint ett_originationtriggers = -1; @@ -1546,7 +1553,32 @@ dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo, proto_t /* SDCC1 ( octet 4, bit D and C )*/ /* SDCC2 ( octet 4, bit A and B )*/ +static void +dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){ + int offset = 0; + proto_item *item; + proto_tree *subtree; + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_controlchanneldata); + + /* Digital Color Code (DCC) (octet 1, bit H and G) */ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, FALSE); + /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, FALSE); + offset++; + /* Channel Number (CHNO) ( octet 2 and 3 ) */ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, FALSE); + /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */ + offset = offset +2; + /* SDCC1 ( octet 4, bit D and C )*/ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, FALSE); + proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE); + /* SDCC2 ( octet 4, bit A and B )*/ + proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, FALSE); + +} /* 6.5.2.52 CountUpdateReport */ static const value_string ansi_map_CountUpdateReport_vals[] = { @@ -4121,9 +4153,13 @@ void proto_register_ansi_map(void) { FT_UINT8, BASE_DEC, NULL, 0x18, "Reserved", HFILL }}, { &hf_ansi_map_reservedBitHGFE, - { "Reserved", "ansi_map.reserved_bitED", + { "Reserved", "ansi_map.reserved_bitHGFE", FT_UINT8, BASE_DEC, NULL, 0xf0, "Reserved", HFILL }}, + { &hf_ansi_map_reservedBitFED, + { "Reserved", "ansi_map.reserved_bitFED", + FT_UINT8, BASE_DEC, NULL, 0x38, + "Reserved", HFILL }}, { &hf_ansi_map_reservedBitED, { "Reserved", "ansi_map.reserved_bitED", FT_UINT8, BASE_DEC, NULL, 0x18, @@ -4638,8 +4674,28 @@ void proto_register_ansi_map(void) { { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp", FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x01, "Voice Privacy (VP) Confidentiality Status", HFILL }}, - { &hf_ansi_map_ConfidentialityModes_se, - { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se", + { &hf_ansi_map_controlchanneldata_dcc, + { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc", + FT_UINT8, BASE_DEC, NULL, 0xc0, + "Digital Color Code (DCC)", HFILL }}, + { &hf_ansi_map_controlchanneldata_cmac, + { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac", + FT_UINT8, BASE_DEC, NULL, 0x07, + "Control Mobile Attenuation Code (CMAC)", HFILL }}, + { &hf_ansi_map_controlchanneldata_chno, + { "Channel Number (CHNO)", "ansi_map.controlchanneldata.cmac", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Channel Number (CHNO)", HFILL }}, + { &hf_ansi_map_controlchanneldata_sdcc1, + { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1", + FT_UINT8, BASE_DEC, NULL, 0x0c, + "Supplementary Digital Color Codes (SDCC1)", HFILL }}, + { &hf_ansi_map_controlchanneldata_sdcc2, + { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2", + FT_UINT8, BASE_DEC, NULL, 0x03, + "Supplementary Digital Color Codes (SDCC2)", HFILL }}, + { &ett_controlchanneldata, + { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se", FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x02, "Signaling Message Encryption (SE) Confidentiality Status", HFILL }}, { &hf_ansi_map_ConfidentialityModes_dp, @@ -4896,6 +4952,7 @@ void proto_register_ansi_map(void) { &ett_cdmastationclassmark, &ett_channeldata, &ett_confidentialitymodes, + &ett_controlchanneldata, &ett_CDMA2000HandoffInvokeIOSData, &ett_CDMA2000HandoffResponseIOSData, &ett_originationtriggers, |