summaryrefslogtreecommitdiff
path: root/main/rtp.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2006-09-27 19:12:40 +0000
committerJoshua Colp <jcolp@digium.com>2006-09-27 19:12:40 +0000
commit6df7c274d82722caeb95bd5d663a2e7bb5f96550 (patch)
treee5621040f60406b9e3aa67274669d0bf605092e7 /main/rtp.c
parenta5770f4e7200cbce10de021697589c0357554d17 (diff)
Merged revisions 43798 via svnmerge from
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
Diffstat (limited to 'main/rtp.c')
-rw-r--r--main/rtp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/main/rtp.c b/main/rtp.c
index 1e79ea405..153426827 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -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;