Hello Andreas,
I have made some changes (see h323.diff.zip) in your plugin so that it
can support subdissectors for H225 NonStandardParameter.
As did not want to introduce any new table shared between H323 plugin
and subdissectors I used dissector table of Ethereal created with
following command:
---------
register_dissector_table("h225.nsp", "H.225 NonStandardParameter",
FT_UINT32, BASE_HEX).
---------
It supports only 32-bit keys so I use Adler32 checksum of object
identifier (dotted string form) as a key. I.e. subdissectors registers
itself with following command (see attached Example3)
---------
dissector_add("h225.nsp", adler32_str("1.3.12.2.1107.2.6.3"),
ex3_handle);
---------
and H225 dissector calls following command
---------
pstring =
((PASN_ObjectId*)&m_nonStandardIdentifier.GetObject())->getValue();
dissector_try_port(hCont->h225_0.nsp_dissector_table,
adler32_str(pstring), next_tvb, hCont->h225_0.pinfo, tree)
---------
If you agree with this change, please, could you check it in?
Regards,
Tomas Kukosa
Attachment:
Example3.zip
Description: Zip compressed data
Attachment:
h323.diff.zip
Description: Zip compressed data