Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-users: [Wireshark-users] G729 patch for rtpdump from wireshark pcap

From: "Robert McNaught" <asteriskator@xxxxxxxxx>
Date: Wed, 3 Dec 2008 16:55:18 -0800
Hi,

I am reading the wireshark wiki at
http://wiki.wireshark.org/RTP_statistics and trying decode a G729
audio stream so I can play it.

The wiki states

G.729
The ITU-T includes software routines to convert PCM audio (G.729
bitstream format) to and from PCM. If you buy such software package
you can compile the decoder to extract the PCM audio from G.729
bitstream. This G.729AB bitstream is rather cumbersome (G.729AB
packets are composed of several voice or silence chunks; in the ITU-T
routines each chunk is identified by a leading sync pattern; further
more, each bit in the payload must be coded as a 16-bit long word), so
a modified version of rtpdump is required to extract G.729AB bitstream
from the rtpdump file from Wireshark; download the sources of the
version 1.18 of rtpdump, apply the patch rtpdump.c.1.18.patch, compile
and follow these steps:
Open the RTP capture file with Wireshark
Select the proper UDP and force its decoding as RTP: Menu Analyze >>
Decode As... RTP.
Filter the G.729AB payload with display filter rtp.p_type==18.
Menu Statistics >> RTP >> Show all streams. Select the one with G.729
of your interest, and press button Save As... into a "rtpdump"
formatted file.
rtpdump -F itut -f file.rtpdump -o file.rtp
decoder file.rtp file.pcm
Import the file.pcm in Goldwave or Audacity (for example) as 16 bit
signed mono, sampling ratio of 8000 Hz.
The flag "itut" for RTPDUMP is new to allow the decoding of rtpdump
into ITU-T G.729AB format described above.


I am not understanding how to apply the patch to the file - the wiki
does not say.  I have the source code for rtpdump downloaded and the
patch.  I know it is something like "patch cfile patchfile" but I
cannot get it to work.  I get these errors when I try and apply this
patch:

rmcnaught@rmcnaught-ubuntu:~/src/rtptools-1.18$ patch rtpdump.c
rtpdump.c.1.18.patch
patching file rtpdump.c
Hunk #1 FAILED at 54.
Hunk #2 FAILED at 68.
Hunk #3 FAILED at 100.
Hunk #4 FAILED at 676.
Hunk #5 FAILED at 730.
5 out of 5 hunks FAILED -- saving rejects to file rtpdump.c.rej


Has anyone done this procedure before to decode g729 from a pcap file
on wireshark?  If so, can they remember if I the procedure worked and
if I have to pass options to the pass command.

Thanks in advance

Robert