jNetPcap library doesn\'t identify RTP packet with DTMF payload as a RTP packet.
This analysis is done inside function validate_rtp() of packet_protocol.cpp file (line 143 for version 1.3.b3).
There are the following lines:
if (rtp->rtp_ver != 2 ||
rtp->rtp_cc > 15 ||
rtp->rtp_type > 25 ||
rtp->rtp_seq == 0 ||
rtp->rtp_ts == 0 ||
rtp->rtp_ssrc == 0
) {
TRACE(\"INVALID header flad\");
CALL(debug_rtp(rtp));
EXIT();
return INVALID;
}
All RTP payload types greater than 25 is considered as not RTP packets. This is incorrect. DTMF payload type can have 101 value.
Ok, I see your point. This check is part of the heuristics protocol discovery and the bounds on this parameter were set too tightly. I see you assigned it as highest priority so will treat it as such.