Menu

#139 RTP packets with timestamp == 0 are not identified as valid RTP packets

Version 1.4
open
nobody
5
2015-07-16
2015-07-16
No

RTP packets with the timestamp = 0 are not identified as valid RTP packets.

The validation of rtp packets is done inside of the function validate_rtp() of packet_protocol.cpp file (line 371 for version 1.4.r1425-1).
The following lines show that the timestamp rtp->rtp_ts is checked for 0.

/*
 * Modified check for rtp->rtp_type > 25 per Bug#3482647, which prevented DTMF payload
 * Removed check for rtp->rtp_seq == 0 per Bug#3482648
 *
 * Bug# 118 DTMF RTP paylaod is not supported
 */
if ( /* 1st CHECK header properties */
        rtp->rtp_ver != 2
        || rtp->rtp_cc > 15
        || rtp->rtp_ts == 0
        || rtp->rtp_type > 34 && rtp->rtp_type < 96
        || rtp->rtp_type > 127
        ) {
    TRACE("1st check", "FAILED - header flags");
    EXIT("validate_rtp");
    return INVALID;
}

This timestamp check seems to be wrong as there are cases where this timestamp actually can be 0. Please have a look at the attached trace.

1 Attachments

Discussion


Log in to post a comment.