aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore <kmoore@f38db490-d61c-443f-a65b-d21fe96a405b>2011-07-20 19:03:17 +0000
committerkmoore <kmoore@f38db490-d61c-443f-a65b-d21fe96a405b>2011-07-20 19:03:17 +0000
commit9b58d1a3daa400ce4b0003e812449695acd8c56f (patch)
treecc551b7dbe676a002580ec7ec0a1504fe8d73cb7
parentd271a946b1e43455c178fbf1c2dd6cbbecc7b023 (diff)
Merged revisions 328936 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/2.0 ................ r328936 | kmoore | 2011-07-20 14:01:37 -0500 (Wed, 20 Jul 2011) | 15 lines Merged revisions 328935 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r328935 | kmoore | 2011-07-20 14:00:23 -0500 (Wed, 20 Jul 2011) | 8 lines Inband DTMF regression The functionality of inband DTMF in chan_sip relied upon ast_rtp_instance_dtmf_mode_get/set not working properly to avoid calling ast_rtp_instance_dtmf_begin/end on RTP streams with inband DTMF. According to documentation, ast_rtp_instance_dtmf_begin/end is meant only for RFC2833 DTMF, never inband. This fixes the regression introduced in revision 328823. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@328937 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 0e5d27f79..a0b9cb037 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -6536,11 +6536,7 @@ static int sip_senddigit_begin(struct ast_channel *ast, char digit)
sip_pvt_lock(p);
switch (ast_test_flag(&p->flags[0], SIP_DTMF)) {
case SIP_DTMF_INBAND:
- if (p->rtp && ast_rtp_instance_dtmf_mode_get(p->rtp) == AST_RTP_DTMF_MODE_INBAND) {
- ast_rtp_instance_dtmf_begin(p->rtp, digit);
- } else {
- res = -1; /* Tell Asterisk to generate inband indications */
- }
+ res = -1; /* Tell Asterisk to generate inband indications */
break;
case SIP_DTMF_RFC2833:
if (p->rtp)
@@ -6572,11 +6568,7 @@ static int sip_senddigit_end(struct ast_channel *ast, char digit, unsigned int d
ast_rtp_instance_dtmf_end_with_duration(p->rtp, digit, duration);
break;
case SIP_DTMF_INBAND:
- if (p->rtp && ast_rtp_instance_dtmf_mode_get(p->rtp) == AST_RTP_DTMF_MODE_INBAND) {
- ast_rtp_instance_dtmf_end(p->rtp, digit);
- } else {
- res = -1; /* Tell Asterisk to stop inband indications */
- }
+ res = -1; /* Tell Asterisk to stop inband indications */
break;
}
sip_pvt_unlock(p);