Wireshark-users: [Wireshark-users] Is there a tshark option to save just RTP Header?
      
      
Hi to all.
Is it possible to control what information is being saved by tshark into 
the output capture file? For instance, if tshark is using the display 
filter '-R "sip or rtp"' to capture SIP and RTP packets, can I tell 
tshark just to write out the RTP header-only (along with SIP packets) to 
the output file? Currently, I assume I would have to run two captures; 
one for SIP packets and a second for RTP with the snaplen option set to 
54 to truncate those RTP (UDP) packets. And then later merge the two 
captures back together. I would like to be able to do this from one 
capture session (better on CPU usage).
I assume tshark does not support this capability which leads me to the 
next question. If I (or someone else) were to implement this capability 
(to contribute back), where would the best place be to add it? Could I 
add it as a preference within the RTP dissector (something like '-o 
rtp.clear_payload:TRUE')?   Then from the RTP dissector, just manipulate 
the tvb->real_data buffer or tvb->length based upon the preference 
setting (it could simply zero out RTP payload, or maybe even modify the 
UDP/RTP lengths, etc.). It looks like dissect_packet() passes a pointer 
to the original packet data and not to a copied buffer, so it looks 
feasible.
We (as a telecom vendor) really have a need for this kind of capability 
since several telecom operators are becoming reluctant to send us their 
entire SIP/RTP packets due to increasing privacy concerns. And we really 
don't need the RTP payload captured unless we're diagnosing Voice 
Quality/Encoding problems. In most cases, RTP Header is enough for 
debugging most Signaling problems.
Any comments, concerns?
Thanks in advance,
Kerry Foster