Ethereal-dev: Re: [Ethereal-dev] Problems with H.323 dissector(s)

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Martin Regner" <martin.regner@xxxxxxxxx>
Date: Sat, 30 Aug 2003 16:12:20 +0200
Hi,

I think that I have found where the problem with IRR is that the per_callinfo SEQUENCE OF SEQUENCE is OPTIONAL in the ASN.1 specification, but not in the InfoRequestResponse_sequence table in packet_h225.c

When I changed as below I got the IRR correctly decoded.

REPLACE:
=========
static per_sequence_t InfoRequestResponse_sequence[] = {
 { "nonStandardData", EXTENSION_ROOT, OPTIONAL,
  dissect_h245_NonStandardParameter_with_extension_marker },
 { "requestSeqNum", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_RequestSeqNum },
 { "endpointType", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_EndPointType },
 { "endpointIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_EndpointIdentifier },
 { "rasAddress", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_rasAddress },
 { "callSignalAddress", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_callSignalAddress },
 { "endpointAlias", EXTENSION_ROOT, OPTIONAL,
  dissect_h225_endpointAlias },
 { "perCallInfo", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_perCallInfo },

WITH:
=====
static per_sequence_t InfoRequestResponse_sequence[] = {
 { "nonStandardData", EXTENSION_ROOT, OPTIONAL,
  dissect_h245_NonStandardParameter_with_extension_marker },
 { "requestSeqNum", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_RequestSeqNum },
 { "endpointType", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_EndPointType },
 { "endpointIdentifier", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_EndpointIdentifier },
 { "rasAddress", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_rasAddress },
 { "callSignalAddress", EXTENSION_ROOT, NOT_OPTIONAL,
  dissect_h225_callSignalAddress },
 { "endpointAlias", EXTENSION_ROOT, OPTIONAL,
  dissect_h225_endpointAlias },
 { "perCallInfo", EXTENSION_ROOT, OPTIONAL,
  dissect_h225_perCallInfo },