David Roden
2007-Aug-17 13:03 UTC
[asterisk-users] Detecting DTMF Tones from Muted app_meetme Participants
Hi, folks. I have a problem using Asterisk 1.2. I create conferences using app_meetme and Zap channels, and for every participant I run the script defined by AGI_BACKGROUND_SCRIPT to be able to listen and react to DTMF tones. As the docs tell me, when using the AGI background script one loses the ability to control the meetme conference via the command line so for muting conference participants I had to create a small workaround (letting the user leave the conference by letting his AGI background script finish) and then rejoin him using the 'm' flag so that he can keep listening but is not allowed to talk. Now, while the user is muted, I can not read any DTMF tones in the AGI background script. "Okay," you might say, "the user is muted. It makes sense that his DTMF tones do not come through." But I say, "the muting, i.e. the nullification of any incoming audio is done somewhere within Asterisk, why is the DTMF tone detection not done _before_ the incoming audio is thrown away?" So, basically, my question is, how can I have a muted participant in a meetme conference that can still control his listening experience via DTMF tones? And I'm not afraid to mess around in the code - somehow, somewhere (at least in my imagination) there have to be two lines, the one reading "remove_audio();" and the other one reading "detect_dtmf_tones();" which should be rearranged... :) If anyone has a hint on where to start looking in the moloch that is Asterisk, please give me a hint. Or if you know in what other way I can achieve my goal, please give me a hint. I will be grateful until eternity (or next wednesday, whichever comes first). Thanks in advance, David -- INA Service GmbH Papenreye 63 22453 Hamburg Germany Mail: info at ina-germany.de Phone: +49 (0)40 557 07-07 Fax: +49 (0)40 557 07-100 Gesch?ftsf?hrer: Ines M. Hoerner Amtsgericht Hamburg HRB 96470 Ust-IdNr. DE248754961 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20070817/9897d913/attachment.pgp
Matt Florell
2007-Aug-17 20:15 UTC
[asterisk-users] Detecting DTMF Tones from Muted app_meetme Participants
On 8/17/07, David Roden <dr at ina-germany.de> wrote:> Hi, folks. > > I have a problem using Asterisk 1.2. I create conferences using > app_meetme and Zap channels, and for every participant I run the script > defined by AGI_BACKGROUND_SCRIPT to be able to listen and react to DTMF > tones. As the docs tell me, when using the AGI background script one > loses the ability to control the meetme conference via the command line > so for muting conference participants I had to create a small workaround > (letting the user leave the conference by letting his AGI background > script finish) and then rejoin him using the 'm' flag so that he can > keep listening but is not allowed to talk. > > Now, while the user is muted, I can not read any DTMF tones in the AGI > background script. "Okay," you might say, "the user is muted. It makes > sense that his DTMF tones do not come through." But I say, "the muting, > i.e. the nullification of any incoming audio is done somewhere within > Asterisk, why is the DTMF tone detection not done _before_ the incoming > audio is thrown away?" > > So, basically, my question is, how can I have a muted participant in a > meetme conference that can still control his listening experience via > DTMF tones? And I'm not afraid to mess around in the code - somehow, > somewhere (at least in my imagination) there have to be two lines, the > one reading "remove_audio();" and the other one reading > "detect_dtmf_tones();" which should be rearranged... :)Oh, if only it were that simple. There are many places within the app_meetme.c code that parse through DTMF information, and it depends on the type of channel as to whether it is parsed at all, or how it is passed along. I've done quite a bit of messing around with meetme, and most recently I put up a patch that would do better DTMF passthru between VOIP and Zap channels in meetme sessions within Asterisk 1.2.X (a backport of the feature in Asterisk 1.4). http://www.eflo.net/files/meetme_DTMF_passthru-1.2.23.patch Of course I must mention that the Asterisk 1.2 branch is in security-patch-only mode and it is encouraged that you use Asterisk 1.4 to help fix the bugs that are in it and experience some of the feature enhancements that it has. MATT---