Ethereal-dev: [Ethereal-dev] Creating a SPRT dissecot

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

Date: Wed, 5 Nov 2003 14:53:55 -0500
Hi-

I am writing a dissector for the Simple Packet Relay Transport protocol
(SPRT).  This protocol runs atop UDP, and is actually recognized as RTP, but
the header and payload is different than in a traditional RTP packet.  I
started out in this endeavor just copying the methods that are used in the
rtp_dissector, and tweaking them up for my needs.  What I have it doing is
capturing the UDP traffic and 
right-click "Decode As"-ing to RTP.  At this point, in my capture window, I
see the PROTOCOL column display SPRT, as intended, and all of my info
displayed in the INFO column.  However, when I click on a particular packet
to view the tree, I get a run-time error, telling me the in proto.c line 378
the assertion failed.  This is the line:
Can anyone tell me why this assertion is failing.  Is it something in the
way I am dissecting the protocol?  At what point is the dissection displayed
in the window, or rather, what method is being called to display my
dissected trees?

	g_assert(hfindex >= 0 && (guint) hfindex < gpa_hfinfo->len);

Can anyone tell me why this assertion is failing.  Is it something in the
way I am dissecting the protocol?  At what point is the dissection displayed
in the window, or rather, what method is being called to display my
dissected trees?  Any help is greatly appreciated.  

Adam