X-Git-Url: http://git.asterisk.org/gitweb/?p=asterisk%2Fasterisk.git;a=blobdiff_plain;f=rtp.c;h=acf67d081e276eb838f913a17371b36418221e4d;hp=e97b8690b196a3e66feb10c6495b511c0bb458d4;hb=8bb060d8acaf21557b10b824b242a8e62edf010d;hpb=46ffd20c4843140ade61863de6fb74ed779e22e2 diff --git a/rtp.c b/rtp.c index e97b869..acf67d0 100755 --- a/rtp.c +++ b/rtp.c @@ -427,6 +427,7 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp) struct sockaddr_in sin; int len; unsigned int seqno; + int version; int payloadtype; int hdrlen = 12; int mark; @@ -477,6 +478,12 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp) /* Get fields */ seqno = ntohl(rtpheader[0]); + + /* Check RTP version */ + version = (seqno & 0xC0000000) >> 30; + if (version != 2) + return &null_frame; + payloadtype = (seqno & 0x7f0000) >> 16; mark = seqno & (1 << 23); ext = seqno & (1 << 28);