aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_a_bssmap.c
diff options
context:
space:
mode:
authordimeg <dimeg@f5534014-38df-0310-8fa8-9805f1628bb7>2010-08-27 21:30:12 +0000
committerdimeg <dimeg@f5534014-38df-0310-8fa8-9805f1628bb7>2010-08-27 21:30:12 +0000
commit9cc26dd342d2ef99d48001f6c333c891e6bb844a (patch)
treec6829330ad58fe0457ebbce8a998079a747a76ad /epan/dissectors/packet-gsm_a_bssmap.c
parent315c9af9f4a1e4184153d47b5de5a880c2b1e377 (diff)
Support for eMLPP Priority IE in BSSMAP
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@33971 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-gsm_a_bssmap.c')
-rw-r--r--epan/dissectors/packet-gsm_a_bssmap.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/epan/dissectors/packet-gsm_a_bssmap.c b/epan/dissectors/packet-gsm_a_bssmap.c
index d2b7623def..0ba514be35 100644
--- a/epan/dissectors/packet-gsm_a_bssmap.c
+++ b/epan/dissectors/packet-gsm_a_bssmap.c
@@ -486,6 +486,7 @@ static int hf_gsm_a_bssmap_location_type_location_information = -1;
static int hf_gsm_a_bssmap_location_type_positioning_method = -1;
static int hf_gsm_a_bssmap_chan_type_extension = -1;
static int hf_gsm_a_bssmap_cause_extension = -1;
+static int hf_gsm_a_bssmap_emlpp_prio = -1;
static int hf_fe_extra_info_prec = -1;
static int hf_fe_extra_info_lcs = -1;
static int hf_fe_extra_info_ue_prob = -1;
@@ -2730,6 +2731,27 @@ be_ass_req(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar
* (bit 3 to 1 of octet 5) in the Descriptive group or broadcast call reference information element as
* defined in 3GPP TS 24.008.
*/
+static const value_string gsm_a_bssmap_call_priority_vals[] = {
+ { 0x00, "No priority applied" },
+ { 0x01, "Call priority level 4" },
+ { 0x02, "Call priority level 3" },
+ { 0x03, "Call priority level 2" },
+ { 0x04, "Call priority level 1" },
+ { 0x05, "Call priority level 0" },
+ { 0x06, "Call priority level B" },
+ { 0x07, "Call priority level A" },
+ { 0, NULL }
+};
+
+static guint16
+be_emlpp_prio(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+{
+ proto_tree_add_bits_item(tree, hf_gsm_a_bssmap_spare_bits, tvb, offset << 3, 5, FALSE);
+ proto_tree_add_item(tree, hf_gsm_a_bssmap_emlpp_prio, tvb, offset, 1, FALSE);
+
+ return 1;
+}
+
/*
* 3.2.2.57 Configuration Evolution Indication
*/
@@ -3788,7 +3810,7 @@ guint16 (*bssmap_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, guint32 offset, gu
NULL /* no associated data */, /* Talker Flag */
NULL /* no associated data */, /* Connection Release Requested */
de_d_gb_call_ref, /* Group Call Reference */
- NULL, /* eMLPP Priority */
+ be_emlpp_prio, /* eMLPP Priority */
be_conf_evo_ind, /* Configuration Evolution Indication */
be_field_element_dissect, /* Old BSS to New BSS Information */
be_lsa_id, /* LSA Identifier */
@@ -6680,6 +6702,12 @@ proto_register_gsm_a_bssmap(void)
FT_BOOLEAN, 8, TFS(&bssmap_cause_extension_value), 0x80,
NULL, HFILL }
},
+ { &hf_gsm_a_bssmap_emlpp_prio,
+ { "eMLPP Priority", "gsm_a_bssmap.emlpp_priority",
+ FT_UINT8, BASE_HEX, VALS(gsm_a_bssmap_call_priority_vals), 0x07,
+ NULL, HFILL }
+ },
+
{ &hf_fe_extra_info_prec,
{ "Pre-emption Recommendation", "fe_extra_info.prec",
FT_UINT8, BASE_DEC, VALS(fe_extra_info_prec_vals), 0x01,