aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_abis_om2000.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-07-31 17:59:25 +0200
committerMichael Mann <mmann78@netscape.net>2016-08-05 13:46:46 +0000
commite6e0a905bbcd95bd33d76aa34740f611796f015d (patch)
tree54cc650b73ac5a134df500be381e2526d26fc7ba /epan/dissectors/packet-gsm_abis_om2000.c
parentc02e3e713cbefca8e765a193a26bc8707e27bc5a (diff)
gsm_abis_om2000: Decode "Attribute ID" Information Element
The "Attribute ID" IE is used by the RBS to indicate which particular setting has caused it to reject a given request by the BSC. Change-Id: I05621831f70fb53b5b752afceed9337f6cd0edb7 Reviewed-on: https://code.wireshark.org/review/16819 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-gsm_abis_om2000.c')
-rw-r--r--epan/dissectors/packet-gsm_abis_om2000.c66
1 files changed, 66 insertions, 0 deletions
diff --git a/epan/dissectors/packet-gsm_abis_om2000.c b/epan/dissectors/packet-gsm_abis_om2000.c
index 2be66fc19f..4fe66fb045 100644
--- a/epan/dissectors/packet-gsm_abis_om2000.c
+++ b/epan/dissectors/packet-gsm_abis_om2000.c
@@ -108,6 +108,8 @@ static int hf_om2k_conl_tag = -1;
static int hf_om2k_conl_tei = -1;
static int hf_om2k_tf_mode = -1;
static int hf_om2k_tf_fs_offset = -1;
+static int hf_om2k_attr_id = -1;
+static int hf_om2k_attr_index = -1;
/* initialize the subtree pointers */
static int ett_om2000 = -1;
@@ -529,6 +531,53 @@ static const value_string om2k_tf_mode_vals[] = {
{ 0, NULL }
};
+static const value_string om2k_attr_id_vals[] = {
+ { 0x0005, "Alarm Status Type" },
+ { 0x0007, "Input BS_AG_BLKS_RES" },
+ { 0x001d, "Input FN Offset" },
+ { 0x002f, "Power GMSK" },
+ { 0x0033, "Reciever Diversity" },
+ { 0x0037, "Power 8-PSK" },
+ { 0x003a, "TF Mode" },
+ { 0x0043, "File Supported Functions OML I" },
+ { 0x0044, "File Supported Functions OML II" },
+ { 0x0045, "File Supported Functions RSL I" },
+ { 0x0046, "File Supported Functions RSL II" },
+ { 0x0047, "Input Extended Range" },
+ { 0x0086, "TF Synchronization Source" },
+ { 0x0101, "Alarm Information" },
+ { 0x0127, "ICPs Signaling" },
+ { 0x0143, "TG Supported Functions OML I" },
+ { 0x0144, "TG Supported Functions OML II" },
+ { 0x0145, "TG Supported Functions RSL I" },
+ { 0x0146, "TG Supported Functions RSL II" },
+ { 0x01ff, "ICPs IS" },
+ { 0x0227, "ICPs Traffic" },
+ { 0x0243, "TRXC Supported Functions OML I" },
+ { 0x0244, "TRXC Supported Functions OML II" },
+ { 0x0245, "TRXC Supported Functions RSL I" },
+ { 0x0246, "TRXC Supported Functions RSL II" },
+ { 0x02ff, "Cascadable" },
+ { 0x0327, "ICPs PCM" },
+ { 0x03ff, "TEI" },
+ { 0x041f, "ARFCN AB RX" },
+ { 0x0420, "ARFCN TX" },
+ { 0x0427, "ICPs CON" },
+ { 0x04ff, "TCH Capabilities" },
+ { 0x0527, "ICP Group" },
+ { 0x05ff, "Cascade downlink" },
+ { 0x0627, "ICP Group Capacity" },
+ { 0x07ff, "CRC-4 Option" },
+ { 0x0bff, "Hopping Type" },
+ { 0x0cff, "TRXC Domain" },
+ { 0x19ff, "Band AB RX" },
+ { 0x1aff, "Band TX" },
+ { 0x1bff, "TX Chain Delay" },
+ { 0, NULL }
+};
+
+static value_string_ext om2k_attr_id_vals_ext = VALUE_STRING_EXT_INIT(om2k_attr_id_vals);
+
static gint
dissect_tss_mo_state(tvbuff_t *tvb, gint offset, proto_tree *tree)
{
@@ -878,6 +927,13 @@ dissect_om2k_attrs(tvbuff_t *tvb, gint offset, proto_tree *tree)
proto_tree_add_item(tree, hf_om2k_icm_cr, tvb,
offset++, 1, ENC_BIG_ENDIAN);
break;
+ case 0x7f: /* Attribute ID */
+ proto_tree_add_item(tree, hf_om2k_attr_id, tvb,
+ offset, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tree, hf_om2k_attr_index, tvb,
+ offset+2, 1, ENC_BIG_ENDIAN);
+ offset += 3;
+ break;
case 0x84: /* HW Info Signature */
proto_tree_add_item(tree, hf_om2k_hwinfo_sig, tvb,
offset, 2, ENC_BIG_ENDIAN);
@@ -1400,6 +1456,16 @@ proto_register_abis_om2000(void)
FT_UINT64, BASE_DEC, NULL, 0,
NULL, HFILL }
},
+ { &hf_om2k_attr_id,
+ { "Attribute Identifier", "gsm_abis_om2000.attr_id",
+ FT_UINT16, BASE_HEX|BASE_EXT_STRING, &om2k_attr_id_vals_ext, 0,
+ NULL, HFILL }
+ },
+ { &hf_om2k_attr_index,
+ { "Attribute Index", "gsm_abis_om2000.attr_index",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
};
static gint *ett[] = {
&ett_om2000,