Ethereal-dev: Re: [Ethereal-dev] Proposal for replacement of tap_rtp.c
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "Ronnie Sahlberg" <ronnie_sahlberg@xxxxxxxxxxxxxx>
Date: Sat, 23 Aug 2003 14:55:17 +1000
The code does not compile neither for Gtk1 or for Gtk2 Gtk1 complains about missing definitions for g_strl... Gtk2 complains about a lot of unused variables and fails shortly thereafter. Please provide a real diff -c diff that also updates the appropriate makefiles (Makefile.am Makefile.nmake) and updates to ethereal.pod.template documentation when it compiles. ----- Original Message ----- From: "Lars Ruoff" Sent: Saturday, August 23, 2003 1:10 AM Subject: [Ethereal-dev] Proposal for replacement of tap_rtp.c > > Hi, > > i present a new version of the RTP analysis module for the GUI version of > Ethereal. > It completely replaces Miha Jemec's "tap_rtp" (accessible via > Tools/Statistics/RTP Analysis...). > > For the moment, there is no real extension of features (apart from the > streams list, which i will explain later), > but the main difference lies in the code, which i completely reviewed and > refactured: > - It is much clearer now and easier to read (Sorry Miha, but you will agree > on that the old one was really a mess in some places). > Now there is a strict separation between logic- and GUI- stuff. > - The code is more modular. The analysis window can be shown from anywhere. > Its entry point is declared in a .h-File, so it can be called from anywhere > (as long as the needed parameters are provided), without having to know > anything about the tap system. > - There can be multiple analysis windows open (meaning that each one keeps > track of its personal data) > - There is a new feature which i called the RTP Streams list, and a dialog > associated with it, which shows all different RTP streams (identified by a > SSRC) present in the capture. > This is nice for a quick overview of all RTP traffic. > > This is how it works: > > First a brief recapitulation on how the old tap_rtp worked: > It would take the src-ip,-port, dest-ip,-port and SSRC from the selected > packet. (If selected packet was not RTP it would return with an error > message). > With this data, it would do a first redissection to find the SSRC of the > reversed direction. > If more than one stream with reversed parameters would be found, the user > would have to choose from a list box. > Then the second (main) redissection would be carried out, to analyse delay, > jitter and sequence numbers of forward and reverse streams. > > Here is how the new module works: > There is one tap listener that is connected constantly and keeps up-to-date > a global list with ALL RTP streams present in the capture. > This list can be viewed with an associated dialog box via > "Tools/Statistics/RTP Streams.../Show all". > The analysis function has been moved to "Tools/Statistics/RTP > Streams.../Analyse". > There is no more need for the first dissection, since the data can be > retrieved from the global RTP streams list. > Again, if more than one stream with reversed parameters are be found, the > user will have to choose. > But now, he can do so directly in the RTP streams dialog box, which will be > displayed in that case, with the selected forward stream at the head of the > list and all possible reverse streams following. > The dialog box allows to make two selections: one for the forward and > reversed direction. > The user needs to choose the streams and press "analyse". > > The user may also decide to start directly with the RTP streams dialog, and > use the "analysis" button on any pair of two selected streams. > (This is also the default, if no packet is selected when activating > "Tools/Statistics/RTP Streams.../Analyse") > > The new module comes in form of 6 files (3x.cpp, 3x.h) instead of one as the > old one. :-/ > But this is to reflect the modularity: > - rtp_analysis is the direct successsor of tap_rtp and represents the > analysis tap and dialog box. > (GUI and logic still in one file, but much better seperated within) > - rtp_stream is the logic part of the stream list and -tap (it does not > depend on GUI stuff and could be used in tethereal as well, if useful). > - rtp_stream_dlg is the GUI-part of the stream list. > ALL 3 .c-files can/have to be declared as ETHEREAL_TAP_SRCs in the > /gtk-makefile (for make-ethereal-tap) !!! > If rtp_stream.c is delcared, the stream list tap will be registered on > start-up. > Otherwise it will be registered on demand. (Perhaps better this way, since > not everyone needs the tap running on his dissections!) > > (Just replace tap_rtp.c with these 3 files anywhere you encounter it in the > makefiles - this should do) > > A final note: > The development was made with some very specific user request in mind, for a > proprietary extension we use here at our office. > So i provide this "as is" to whoever might it find useful. > Decide yourself if it will be useful for a check-in for a future version of > Ethereal. > Comments will be appreciated. > Thanks go to Miha Jemec for its original code, which i took over to about > 75% in rtp_analysis. > > Tested on Win32/MSVC6 only! > > I will continue development on this, with the following planned features: > - Additional analysis on tagging errors, payload changes, blanks in the > conversation, ... > - A conversation diagramm showing packet distribution over time and > occurence of errors. > > Lars Ruoff > ---------------------------------------------------------------------------- ---- > _______________________________________________ > Ethereal-dev mailing list > Ethereal-dev@xxxxxxxxxxxx > http://www.ethereal.com/mailman/listinfo/ethereal-dev >
- Follow-Ups:
- Re: [Ethereal-dev] Proposal for replacement of tap_rtp.c
- From: Lars Ruoff
- Re: [Ethereal-dev] Proposal for replacement of tap_rtp.c
- References:
- [Ethereal-dev] Proposal for replacement of tap_rtp.c
- From: Lars Ruoff
- [Ethereal-dev] Proposal for replacement of tap_rtp.c
- Prev by Date: Re: [Ethereal-dev] packet-smpp.c - disregard previous patch
- Next by Date: Re: [Ethereal-dev] Patch to packet MEGACO
- Previous by thread: [Ethereal-dev] Proposal for replacement of tap_rtp.c
- Next by thread: Re: [Ethereal-dev] Proposal for replacement of tap_rtp.c
- Index(es):