summaryrefslogtreecommitdiff
path: root/rtp.c
diff options
context:
space:
mode:
Diffstat (limited to 'rtp.c')
-rwxr-xr-xrtp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/rtp.c b/rtp.c
index 03606b024..484e53fa0 100755
--- a/rtp.c
+++ b/rtp.c
@@ -233,7 +233,10 @@ static struct ast_frame *process_rfc2833(struct ast_rtp *rtp, unsigned char *dat
}
else if(event_end & 0x80)
{
- f = send_dtmf(rtp);
+ if (rtp->resp) {
+ f = send_dtmf(rtp);
+ rtp->resp = 0;
+ }
resp = 0;
duration = 0;
}
@@ -241,8 +244,8 @@ static struct ast_frame *process_rfc2833(struct ast_rtp *rtp, unsigned char *dat
{
f = send_dtmf(rtp);
}
-
- rtp->resp = resp;
+ if (!(event_end & 0x80))
+ rtp->resp = resp;
rtp->dtmfcount = dtmftimeout;
rtp->dtmfduration = duration;
return f;