RTP packets with the sequence number = 0 are identified as invalid RTP packets.
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;
}
That is wrong because some manufactures use 0 sequence numbers for the first packet in RTP streams. For example Siemens. Please find the trace in the attachment.
Will get that heuristics check relaxed.
The issue has been fixed and will be released in the next major or maintenance release. The bug was found and confirmed. Appropriate jUnit test cases have been created to verify that this issue is resolved and will not be broken again by future changes.