Ethereal-dev: RE: [Ethereal-dev] Best way to call another dissector ?

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

From: "Michael Lum" <mlum@xxxxxxxxxxxxx>
Date: Tue, 21 Oct 2003 14:00:44 -0700
Sorry, yes what you stated is correct.

I've got it now, thanks.

> -----Original Message-----
> From: Guy Harris [mailto:guy@xxxxxxxxxxxx]
> Sent: Tuesday, October 21, 2003 1:33 PM
> To: mlum@xxxxxxxxxxxxx
> Cc: Ethereal
> Subject: Re: [Ethereal-dev] Best way to call another dissector ?
> 
> 
> 
> On Oct 21, 2003, at 10:44 AM, Michael Lum wrote:
> 
> > I am modifying the ANSI-637-A (SMS) dissector to dissect
> > the Transport Layer, previously it only did the Teleservice Layer.
> >
> > The dissector needs to "grab" data pushed by the ANSI MAP dissector,
> > this data will be encoded to the Teleservice Layer.
> >
> > The dissector needs to "grab" data pushed by the ANSI IOS dissector,
> > this data will be encoded to the Transport Layer.
> >
> > My question is after the Transport Layer dissector has located
> > "bearer data" it needs to get the Teleservice part dissector.
> >
> > The Teleservice dissector uses the Teleservice ID for the port 
> > matching.
> > The Transport Layer dissector will have the Teleservice ID.
> 
> The general question in the subject line has multiple answers, 
> depending on the problem being solved.  Unfortunately, not being a 
> digital cellphonehead, I can't quite figure out from the above which 
> problem is being solved. :-)
> 
> Do transport layer protocols run atop teleservice layer protocols, or 
> do teleservice layer protocols run atop transport layer protocols, or 
> is it "none of the above"?
> 
> "My question is after the Transport Layer dissector has located "bearer 
> data" it needs to get the Teleservice part dissector." appears to imply 
> that the teleservice layer runs atop the transport layer; "The 
> Teleservice dissector uses the Teleservice ID for the port matching.  
> The Transport Layer dissector will have the Teleservice ID." appears to 
> imply that, at the transport layer, there's an identifier of some sort 
> that specifies what's running at the teleservice layer.
> 
> If so, then I might suggest adding a dissector table for the 
> teleservice ID, have the transport layer dissector use that table, and 
> have the teleservice layer dissectors register in that table.