Ethereal-dev: Re: [Ethereal-dev] Changed cause code "strings " in packet-q931to conform to q.8
Dear all,
I have not have the specs on my table but ISUP and Q.931 are different
protocols. They are related, but defined in different ITU specs. As far
as I know the tables used in the ISUP dissector are taken from the
ITU ISUP spec. So the tables in the ISUP dissector should only be
changed
if they are taken incorrectly from the ITU spec. I'm not familiar with
the
q.931 dissector.
Best regards
Michael
On Thursday, Feb 6, 2003, at 22:28 Europe/Berlin, Anders Broman wrote:
On Thu, Feb 06, 2003 at 05:05:26PM +0100, Anders Broman (EAB) wrote:
Included changes in q.931 dissector to conform to q.850 cause codes +
Unfortunately, that will, I presume, render the Q.931 dissector less
useful for dissecting, well, regular ISDN Q.931 traffic, and probably
H.323 traffic as wel, as it won't correctly dissect cause codes in
that
traffic.
Reading the specs. ( Q931. Q7.. (forgot the exact no 761 ?) ( ISDN)) I
was
under the impression that they both use
the same caus code interpretation e.g Q850, the current interpretation
does
not fully conform.
Even one of the references ( I only checked out one )
http://www.andrews-arnold.co.uk/isdn/q931cause.html
Which is actually changed to http://aa.nu/q931cause.html has different
interpretation than the dissector.
Example :
{ 0x08, "Prefix 0 dialed but not allowed" },
{ 0x09, "Prefix 1 dialed but not allowed" },
Cause No. 8 - Preemption This cause indicates that the call is being
preempted.
Cause No. 9 - Preemption - circuit reserved for reuse This cause
indicates
that the call is being preempted and the
circuit is reserved for reuse by the
preempting
exchange.
Instead, what should probably be done is:
have a "dissect_cause_ie()" routine that takes a tvbuff_t *, an
offset, a length, a proto_tree *, *and* a const value_string *
as arguments - it's code would be what's in
"dissect_q931_cause_ie()", except that it uses the specified
value_string table to dissect the cause code;
the Q.931 dissector should call it with the current cause code
value_string table, which should not be modified;
the ISUP dissector should call it with a new Q.850 cause code
value_string table.
If in fact they should both use the same table it would be efficient
to have
it in one place.
There is alos other elements in the ISUP dissector that refers to
Q931 so
the next step would be
to get them intrepeted by the Q931 dissector ( Example Access
transport,
UUI, and User service information ).
Also, you should submit your changes as patches rather than as new
versions of the source file, if possible - we could generate the patch
from your source, and apply it, if the Q.931 dissector happens to
change
after you make your changes, but that's a bit inconvenient.
I'll try and do it right next time, if the change is accepted.
Best regards
Anders
_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev