We're now a non-profit! Support open source packet analysis by making a donation.

Wireshark-dev: Re: [Wireshark-dev] RTP-MIDI and AppleMIDI dissectors

From: Jaap Keuter <[email protected]>
Date: Mon, 01 Feb 2010 22:30:19 +0100

I've looked at your code and looks close being ready for inclusion.
Here some steps to take:
- Convert to build in dissectors, there's no reason not to.
- Remove calls to check_col()
- In the header fields change the "" blubs by NULL
- You could look into the expert info system for error reporting.
- The occasional // style comment has to go
- some proto_tree_add_text() calls could be proto_tree_add_item() calls
- last parameter of proto_tree_add_item() is a gboolean, so either TRUE of FALSE
- Fuzztest them.
- And finally, add them to an enhancement bug.
- Protocol pages on the Wiki would be welcome documentation as well.


Tobias Erichsen wrote:
Hi Jaap,

like I wrote in my earlier mail, I will be converting the AppleMIDI
dissector to be builtin in the next couple of days.

As the RTP-MIDI plugin is still work in progress (works perfectly
already for standard-MIDI-data, but like I wrote does not fully
decode more esoteric MIDI-message in all depths), I would prefer
to keep that as plugin for the next time - would that be ok with
the project?

I will also fuzztest the plugins, have not done that yet.

It would still be good if some of you guys who have done more work
for Wireshark might take a small look at the code if that is in
good shape for inclusion otherwise.

Best regards,

-----Ursprüngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] Im Auftrag von Jaap Keuter
Gesendet: Sonntag, 31. Januar 2010 22:41
An: Developer support list for Wireshark
Betreff: Re: [Wireshark-dev] RTP-MIDI and AppleMIDI dissectors


The way to do this is to file an enhancement bug, so it won't get lost.
Two questions up front:
Did you fuzztest the code?
Can you work both as build in dissectors? That is really the prefered way.

Send from my iPhone

On 31 jan 2010, at 14:19, "Tobias Erichsen" <[email protected]> wrote:

Hi everyone,

after my initial efforts in 2006, I have since then reworked my Previous code and have been able to compile it with the source of Wireshark 1.2.6 both for x86 and x64.
Dissector-plugin to decode MIDI-data which is transmitted via RTP based on RFC-4695. The dissector currently supports the standard- MIDI-stuff, but enhancements for more "esoteric" MIDI-sub-standards still could to be implemented...
Dissector-plugin to decode the lightweight
Apple-network-MIDI session
establishment protocol (which is used to establish an
RTP-session to
send & receive MIDI-data via RFC-4695). This protocol is
The dissector is based on the Apple implementation summary from May 2005.
You will find attached two zip-files containing the source-code and 
one zip-file containing a sample-capture with both the 
Apple-session-protocol and RF-4695-data.  This capture was done 
between a MacBook and a MIDI Kiss-Box
I would be glad if some of you guys could take a look at 
the code and
give me some feedback if this is already in good shape to be integrated into the official Wireshark-release.
I would be willing to rework the AppleMIDI plugin to work 
as a builtin
dissector, as this part is fully done.

The RTP-MIDI-dissector should stay a plugin for a while
since I plan
to implement more enhancements over the next couple of months (decoding of some more specialized MIDI-commands for stuff like lighting-control etc.)
Best regards,