aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2007-01-16 22:51:08 +0000
committerAnders Broman <anders.broman@ericsson.com>2007-01-16 22:51:08 +0000
commit4e448c3cf9bdc6092e15d053c91847e9f13949c4 (patch)
tree7c886e71ac25b93fba097a895877da4c6b537cc4 /asn1
parenta5b223382f242b640a38a9a9d9c51480e4c70020 (diff)
Dissekt ControlChannelData.
svn path=/trunk/; revision=20458
Diffstat (limited to 'asn1')
-rw-r--r--asn1/ansi_map/ansi_map.cnf7
-rw-r--r--asn1/ansi_map/packet-ansi_map-template.c65
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 = &parameter_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 = &parameter_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,