aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/h245
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2011-09-06 15:05:26 +0000
committerAnders Broman <anders.broman@ericsson.com>2011-09-06 15:05:26 +0000
commitfa889d6d785964453b3eb9d8fd009a2895bf7f85 (patch)
tree8530283c3be08a86b39a57dd8cc62fa492aaef35 /asn1/h245
parent71cb9d69d2fd21763b520933dda5e50683380bc1 (diff)
From Liam Sharp:
(Standard)H.239 – subMessageIdentifier value strings missing from H245 dissector. Modified to be filterable. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6312 svn path=/trunk/; revision=38897
Diffstat (limited to 'asn1/h245')
-rw-r--r--asn1/h245/h245.cnf11
-rw-r--r--asn1/h245/packet-h245-template.c18
2 files changed, 28 insertions, 1 deletions
diff --git a/asn1/h245/h245.cnf b/asn1/h245/h245.cnf
index 11c9f54f7f..5636b79e96 100644
--- a/asn1/h245/h245.cnf
+++ b/asn1/h245/h245.cnf
@@ -623,9 +623,18 @@ if (h245_pi != NULL)
#.FN_BODY GenericMessage/subMessageIdentifier VAL_PTR = &subMessageIdentifer
guint32 subMessageIdentifer;
gef_ctx_t *gefx;
+
+ gefx = gef_ctx_get(actx->private_data);
+ if (gefx) {
+ /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get
+ * the value translated and make it fileterable.
+ */
+ if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) {
+ hf_index = hf_h245_subMessageIdentifier_standard;
+ }
+ }
%(DEFAULT_BODY)s
- gefx = gef_ctx_get(actx->private_data);
if (gefx) gefx->subid = ep_strdup_printf("%%u", subMessageIdentifer);
#.END
diff --git a/asn1/h245/packet-h245-template.c b/asn1/h245/packet-h245-template.c
index a2c81201f8..4380db39db 100644
--- a/asn1/h245/packet-h245-template.c
+++ b/asn1/h245/packet-h245-template.c
@@ -76,6 +76,7 @@ static dissector_handle_t amr_handle = NULL;
static void init_h245_packet_info(h245_packet_info *pi);
static int hf_h245_pdu_type = -1;
static int hf_h245Manufacturer = -1;
+static int hf_h245_subMessageIdentifier_standard = -1;
static int h245_tap = -1;
static int h245dg_tap = -1;
h245_packet_info *h245_pi=NULL;
@@ -254,6 +255,18 @@ static const value_string h245_RFC_number_vals[] = {
{ 0, NULL }
};
+/* Table 7/H.239 subMessageIdentifier values */
+static const value_string h245_h239subMessageIdentifier_vals[] = {
+ { 1, "flowControlReleaseRequest" },
+ { 2, "flowControlReleaseResponse" },
+ { 3, "presentationTokenRequest" },
+ { 4, "presentationTokenResponse" },
+ { 5, "presentationTokenRelease" },
+ { 6, "presentationTokenIndicateOwner" },
+ { 0, NULL }
+};
+
+
/* h223 multiplex codes */
static h223_set_mc_handle_t h223_set_mc_handle = NULL;
h223_mux_element *h223_me=NULL;
@@ -471,6 +484,11 @@ void proto_register_h245(void) {
{ &hf_h245Manufacturer,
{ "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
+ { &hf_h245_subMessageIdentifier_standard,
+ { "subMessageIdentifier", "h245.subMessageIdentifier.standard",
+ FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0,
+ NULL, HFILL }},
+
#include "packet-h245-hfarr.c"
};