Ethereal-dev: [Ethereal-dev] h225 fastStart decoding and improved output to info column
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Lars.Roland@xxxxxxx
Date: Sat, 9 Aug 2003 19:16:13 +0200 (MEST)
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
- Follow-Ups:
- Prev by Date: Re: [Ethereal-dev] Segmentation Fault Ethereal
- Next by Date: Re: [Ethereal-dev] h225 fastStart decoding and improved output to info column
- Previous by thread: [Ethereal-dev] Patch for packet-h245.c to enable rtp/rtcp decoding
- Next by thread: Re: [Ethereal-dev] h225 fastStart decoding and improved output to info column
- Index(es):
- Get Wireshark
- Download
- Code of Conduct