Wireshark-dev: [Wireshark-dev] how do you get SDP dissector info to use it with a new dissector
Hi
everyone,
I've been working on a new dissector that I'll
hopefully be able to contribute.
So far I've
used the protocol preferences menu to allow me to "setup" parameters that are
usually found in an SDP file or via SDP/SAP or via
SDP/RTSP.
This can be
quite tedious as I'm switching between different RTP streams, each having
potentially different setup parameters.
Hence I would
like to try and reuse the already dissected SDP parameters (if found) and use
those automatically i.e.
If
SDP -> Media Format (sdp.media.format) =
certain value,
then
Search SDP
-> Media format specific parameters
(sdp.fmtp.parameter)
If found "setup" parameter, "store" the value for that setup parameter and
associate it with the associated sdp.media.format
type
End
search
End SDP
search
As I expect
the SDP information to contain declarations for multiple RTP streams with
different dynamic payload types, each having setup parameters for my
dissector, what is the best approach I can take?
How do I
search for any relevant SDP info?
I've tried to
find relevant examples but haven't exactly succeeded and would appreciate a
pointer. Wireshark seems extremely powerful but it's rather daunting to a
beginner.
I came across
tapping, but I'm not sure whether I need to get info from the SDP tap, or
whether I need to create a tap for my dissector....or even tap at
all?!
As for using
those parameters:
Should I
define a structure containing all the relevant setup parameters, define a table
containing pointers to that structure, and populate it accordingly for each
relevant stream i.e. RTP payload type in SDP having my setup
parameters?
The idea would
then be to search this table for a matching RTP payload type so that my
dissector can use the correct setup parameters, extracted automatically from
SDP, rather than using the potentially incorrect setup parameters defined in my
preferences.
Thanks for
your help,
David