Merged revisions 43798 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Wed, 27 Sep 2006 19:12:40 +0000 (19:12 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 27 Sep 2006 19:12:40 +0000 (19:12 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43798 | file | 2006-09-27 15:10:59 -0400 (Wed, 27 Sep 2006) | 2 lines

Compensate for out of order packets better if RFC2833 compensation is turned on.

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43799 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/rtp.c

index 1e79ea4..1534268 100644 (file)
@@ -731,6 +731,12 @@ static struct ast_frame *process_rfc2833(struct ast_rtp *rtp, unsigned char *dat
                f->samples = duration;
                rtp->resp = 0;
                rtp->lasteventendseqn = seqno;
+       } else if (ast_test_flag(rtp, FLAG_DTMF_COMPENSATE) && event_end & 0x80 && rtp->lasteventendseqn != seqno) {
+               rtp->resp = resp;
+               f = send_dtmf(rtp, AST_FRAME_DTMF_END);
+               f->samples = duration;
+               rtp->resp = 0;
+               rtp->lasteventendseqn = seqno;
        }
 
        rtp->dtmfcount = dtmftimeout;