#!/bin/bash
# url: http://pank.org/scripts/
# description: Extract RTP Audio from PCAP to MP3, need sox (http://sox.sourceforge.net)
# comment: bash
# platform: all

if [ -z $1 ] ; then
    echo "`basename $0` {pcap-file}"
    exit
fi

for SSRC in `tshark -n -r $1 -R rtp -T fields -e rtp.ssrc -Eseparator=, | sort -u`
do
    tshark -n -r $1 -R rtp -R "rtp.ssrc == $SSRC" -T fields -e rtp.payload | tr : '\n' > $SSRC.payloads
    > $SSRC.raw
    for HEX in `cat $SSRC.payloads`
    do
        printf "\\x$HEX" >> $SSRC.raw
    done
    [ -f $SSRC.wav ] && rm $SSRC.wav
    sox -t raw -r 8000 -c 1 -e mu-law $SSRC.raw $SSRC.wav
    if [ -z $A ] ; then
        A=$SSRC
    else
        B=$SSRC
    fi
done
sox -mM $A.wav $B.wav $A-$B.mp3 remix 1-2