Ethereal-dev: Re: [Ethereal-dev] First cut at H.450 dissector

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

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Tue, 23 Sep 2003 11:42:13 -0700

On Sep 23, 2003, at 4:58 AM, Graeme Reid wrote:

Inspired by the new H.225 and H.245 dissectors supplied by Andreas Sikkema (andreas.sikkema@xxxxxxxxxxx), I have taken a first cut at an H.450 dissector.  It currently handles H.450.1 and H.450.2 messages.  At this stage, it has only been tested using Blind Transfer success and failure cases, but Consultation Transfer should also work. Unfortunately I have run out of time to work on it further (at least in the short-term) so I thought it better to post what I have done so far.

I assume that's why I get the warning

	packet-h450.c:354: warning: `Extension_vals' defined but not used

i.e., the code to use it hasn't been written yet.


  The only known problem with it so far is that an invoke Id in a return result or return error of >32k
will be displayed as a negative number.

Well, the constrained invokeId is an unsigned integer (FT_UINT32), but the other invokeID is signed (FT_INT32), so values with the uppermost bit set will be treated as negative numbers.

The first of those is handled by "dissect_per_constrained_integer()", which treats the integer as unsigned. The latter is handled by "dissect_per_integer()", which treats it as signed; I don't have any of the ASN.1 specs handy, so I don't know whether there needs to be, for example, a "dissect_per_unsigned_integer()" routine.

There is one new file plus the diffs below.

Checked in (along with an update to Makefile.am).