aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_a_dtap.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2009-09-20 21:54:39 +0000
committerAnders Broman <anders.broman@ericsson.com>2009-09-20 21:54:39 +0000
commitc9dcf6c41583f92a2ea138af1a5af5f8c5af71fe (patch)
tree12a46f13c692e2be5818d9223382184ee8f4b003 /epan/dissectors/packet-gsm_a_dtap.c
parent4ac9d6b8c54510cd94487905640107cd93df8257 (diff)
From Gerasimos Dimitriadis:
DTAP decoding of Notification Indicator IE. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4029 svn path=/trunk/; revision=30028
Diffstat (limited to 'epan/dissectors/packet-gsm_a_dtap.c')
-rw-r--r--epan/dissectors/packet-gsm_a_dtap.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/epan/dissectors/packet-gsm_a_dtap.c b/epan/dissectors/packet-gsm_a_dtap.c
index f6c8183dfd..fcb31013d0 100644
--- a/epan/dissectors/packet-gsm_a_dtap.c
+++ b/epan/dissectors/packet-gsm_a_dtap.c
@@ -419,6 +419,8 @@ static int hf_gsm_a_codec_umts_amr_wb = -1;
static int hf_gsm_a_codec_fr_amr_wb = -1;
static int hf_gsm_a_codec_pdc_efr = -1;
+static int hf_gsm_a_notification_description = -1;
+
/* Initialize the subtree pointers */
static gint ett_dtap_msg = -1;
static gint ett_dtap_oct_1 = -1;
@@ -2830,8 +2832,21 @@ de_llc(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_st
/*
* 10.5.4.20 Notification indicator
*/
+static const value_string gsm_a_dtap_notification_description_vals[] = {
+ { 0x00, "User suspended" },
+ { 0x01, "User resumed" },
+ { 0x02, "Bearer change" },
+ { 0, NULL }
+};
-
+static guint16
+de_notif_ind(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+{
+ proto_tree_add_item(tree, hf_gsm_a_extension, tvb, offset, 1, FALSE);
+ proto_tree_add_item(tree, hf_gsm_a_notification_description, tvb, offset, 1, FALSE);
+
+ return 1;
+}
/*
* [3] 10.5.4.21 Progress indicator
*/
@@ -3793,7 +3808,7 @@ guint16 (*dtap_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guin
de_keypad_facility, /* Keypad Facility */
de_llc, /* 10.5.4.18 Low layer compatibility */
NULL, /* More Data */
- NULL, /* Notification Indicator */
+ de_notif_ind, /* Notification Indicator */
de_prog_ind, /* Progress Indicator */
NULL, /* Recall type $(CCBS)$ */
NULL, /* Redirecting Party BCD Number */
@@ -6183,6 +6198,11 @@ proto_register_gsm_a_dtap(void)
FT_BOOLEAN, 8, NULL, 0x01,
NULL, HFILL }
},
+ { &hf_gsm_a_notification_description,
+ { "Notification description", "gsm_a.notif_descr",
+ FT_UINT8, BASE_DEC, VALS(gsm_a_dtap_notification_description_vals), 0x7f,
+ NULL, HFILL }
+ },
};
/* Setup protocol subtree array */