diff options
author | Kinsey Moore <kmoore@digium.com> | 2011-07-20 19:03:17 +0000 |
---|---|---|
committer | Kinsey Moore <kmoore@digium.com> | 2011-07-20 19:03:17 +0000 |
commit | 9c232a54703b9f819c2da5576163a85d18874471 (patch) | |
tree | cc551b7dbe676a002580ec7ec0a1504fe8d73cb7 /channels | |
parent | 6855bb873f51efb00c0182d7a9da374d8354deff (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: https://origsvn.digium.com/svn/asterisk/trunk@328937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 12 |
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); |