Ethereal-dev: [Ethereal-dev] h225 fastStart decoding and improved output to info column
Hello all,
attached patch enables decoding of fastStart elements and makes the output
in the protocol and info column look like the old plugin's output.
I also attached a file with some captured h225 signalling using fastStart.
This file is probably very interesting for Ronnie. I don't think the decoding
of the NonStandardParameter is broken. I have lots of packets with it and
they are all decoded properly.
Frame 31 contains such a NonStandardParameter.
Best Regards,
Lars Roland
Index: ethereal/packet-h225.c
===================================================================
RCS file: /cvsroot/ethereal/packet-h225.c,v
retrieving revision 1.4
diff -u -r1.4 packet-h225.c
--- ethereal/packet-h225.c 7 Aug 2003 21:31:39 -0000 1.4
+++ ethereal/packet-h225.c 9 Aug 2003 16:24:28 -0000
@@ -330,7 +330,7 @@
static int hf_h225_CallTerminationCause = -1;
static int hf_h225_CircuitInfo = -1;
static int hf_h225_genericData = -1;
-static int hf_h225_fastStart_item = -1;
+static int hf_h225_fastStart_item_lenght = -1;
static int hf_h225_fastStart = -1;
static int hf_h225_fastConnectRefused = -1;
static int hf_h225_InformationUUIE = -1;
@@ -4777,7 +4777,10 @@
static int
dissect_h225_fastStart_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_fastStart_item, -1, -1);
+ guint32 length;
+
+ offset=dissect_per_length_determinant(tvb, offset, pinfo, tree, hf_h225_fastStart_item_lenght, &length);
+ offset=dissect_h245_OpenLogicalChannel(tvb, offset, pinfo, tree);
return offset;
}
@@ -6876,7 +6879,15 @@
static int
dissect_h225_h323_message_body(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_h323_message_body, ett_h225_h323_message_body, h323_message_body_choice, "h323_message_body", NULL);
+ guint32 value;
+
+ offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_h323_message_body, ett_h225_h323_message_body, h323_message_body_choice, "h323_message_body", &(value));
+
+ if (check_col(pinfo->cinfo, COL_INFO)){
+ col_prepend_fstr(pinfo->cinfo, COL_INFO, "CS: %s ",
+ val_to_str(value, h323_message_body_vals, "<unknown>"));
+ }
+
return offset;
}
@@ -8102,7 +8113,7 @@
guint32 value;
if (check_col(pinfo->cinfo, COL_PROTOCOL)){
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.225.0 RAS");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.225.0");
}
if (check_col(pinfo->cinfo, COL_INFO)){
col_clear(pinfo->cinfo, COL_INFO);
@@ -8114,7 +8125,7 @@
offset=dissect_per_choice(tvb, offset, pinfo, tr, hf_h225_RasMessage, ett_h225_RasMessage, RasMessage_choice, "RasMessage", &value);
if (check_col(pinfo->cinfo, COL_INFO)){
- col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
+ col_prepend_fstr(pinfo->cinfo, COL_INFO, "RAS: %s ",
val_to_str(value, RasMessage_vals, "<unknown>"));
}
}
@@ -8137,29 +8148,18 @@
proto_item *it;
proto_tree *tr;
guint32 offset=0;
-#ifdef REMOVED
- guint32 value;
-#endif
if (check_col(pinfo->cinfo, COL_PROTOCOL)){
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.323 UserInformation");
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "H.225.0");
}
if (check_col(pinfo->cinfo, COL_INFO)){
col_clear(pinfo->cinfo, COL_INFO);
}
- it=proto_tree_add_protocol_format(tree, proto_h225, tvb, 0, tvb_length(tvb), "H.225");
+ it=proto_tree_add_protocol_format(tree, proto_h225, tvb, 0, tvb_length(tvb), "H.225.0 CS");
tr=proto_item_add_subtree(it, ett_h225);
offset=dissect_per_sequence(tvb, offset, pinfo, tr, hf_h225_H323_UserInformation, ett_h225_H323_UserInformation, H323_UserInformation_sequence);
-
-#ifdef REMOVED
- if (check_col(pinfo->cinfo, COL_INFO)){
- col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s ",
- val_to_str(value, H323UserInformation_vals, "<unknown>"));
- }
-#endif
-
}
@@ -9023,9 +9023,9 @@
{ &hf_h225_genericData,
{ "genericData", "h225.genericData", FT_NONE, BASE_NONE,
NULL, 0, "genericData sequence of", HFILL }},
- { &hf_h225_fastStart_item,
- { "fastStart_item", "h225.fastStart_item", FT_BYTES, BASE_HEX,
- NULL, 0, "fastStart_item octet string", HFILL }},
+ { &hf_h225_fastStart_item_lenght,
+ { "fastStart item lenght", "h225.fastStart_item_lenght", FT_UINT32, BASE_DEC,
+ NULL, 0, "fastStart item lenght", HFILL }},
{ &hf_h225_fastStart,
{ "fastStart", "h225.fastStart", FT_NONE, BASE_NONE,
NULL, 0, "fastStart sequence of", HFILL }},
Attachment:
H225call.ETH.gz
Description: application/gzip-compressed