Summary: | ASTERISK-27922: Force AST_FRAME_DTMF_END on AST_FRAME_DTMF_BEGIN | ||
Reporter: | Fiftyz Fifty (fiftyz) | Labels: | |
Date Opened: | 2018-06-16 07:57:46 | Date Closed: | 2018-06-18 08:03:05 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | Channels/General |
Versions: | 13.20.0 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Attachments: | ||
Description: | My logs look like this:
{code} channel.c: DTMF begin '2' received on Dongle/dongle1-0100000033 channel.c: DTMF begin passthrough '2' on Dongle/dongle1-0100000033 channel.c: DTMF begin '2' received on Dongle/dongle1-0100000033 channel.c: DTMF begin passthrough '2' on Dongle/dongle1-0100000033 {code} and DTMF are not detected because an AST_FRAME_DTMF_END is never received. I think, but I'm not a very good C programmer, in channel.c, function *__ast_read(), frame switch, case AST_FRAME_DTMF_BEGIN case, if (ast_test_flag(ast_channel_flags(chan), AST_FLAG_IN_DTMF)) is true an end dtmf frame should be forced before AST_FRAME_DTMF_BEGIN frame because cannot be 2 DTMF tones simultaneus on a channel but I don't know how this can be done in C. | ||
Comments: | By: Asterisk Team (asteriskteam) 2018-06-16 07:57:47.692-0500 Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report. Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process]. By: Joshua C. Colp (jcolp) 2018-06-18 08:03:05.432-0500 This is a violation of the use of DTMF frames. A channel driver should not raise an AST_FRAME_DTMF_BEGIN without ending any previous DTMF digit. |