Oh, what a good idea! That's exactly the kind of lateral thinking I was hoping someone would come up with.
I thought it was called MixMonitor, and tried to wrap my head around it but couldn't. I'll give this a go tomorrow and let you know what I come up with! Many thanks, Jonathan T On 20 January 2018 at 17:03, Tim S <tim.strom...@gmail.com> wrote: > Just a quick and dirty thought, try the MONITOR application. > > > Pseudo-code: > > Anchor-point > PLAYBACK ("press or say") > MONITOR (use the split audio files mode, not the mixed - this way you can > roughly separate which side did the "talking") > READ (audio file "1 to 5", try to grab one digit) > STOPMONITOR > IF (READ variable timed-out, send the incoming half of the monitor file to > Google Speech) > Playback (some sound effect to indicate "thinking" on the Asterisk side > - user feedback is good) > Check Google Speech result against a white-list > IF filtered result was not a valid option > PLAYBACK "I didn't understand that" > GOTO to Anchor-point > ELSE > Goto next step using valid decoded speech data > ELSE > Check DTMF result against a white-list > IF filtered DTMFresult was not a valid option > PLAYBACK "I didn't understand that" > GOTO to Anchor-point > ELSE > Goto next step using valid decoded DTMF data > Catch-all, should never get here. > > /Pseudo-code > > > Don't forget to filter your user sourced data against your white-list, > always assume users are hostile, this is part of the total picture of > defence-in-depth. > > -Tim > > > On Sat, Jan 20, 2018 at 12:42 AM, Jonathan H <lardconce...@gmail.com> wrote: >> >> Hello, >> >> I want to start recording with a prompt of "press or say 1 to 5". If >> no DMTF is pressed, I want to send the recording to Google Speech to >> get the number back (got that part working already). >> >> If any dtmf key is pressed while Application_Record is running with >> option y, then the recording terminates and sends >> RECORD_STATUS of "DTMF" (A terminating DTMF was received). >> >> But I need to know **what** number that DTMF was, and I can't see a >> way of grabbing it after the fact. >> >> I can see in the code where the right variables are.. >> >> https://github.com/asterisk/asterisk/blob/master/apps/app_record.c#L140 >> dtmf_response >> >> https://github.com/asterisk/asterisk/blob/master/apps/app_record.c#L166 >> * \param dtmf_integer the integer value of the DTMF key received >> >> So,3 questions I guess: >> >> 1: Am I going about this the right way? (unimrcp is not an option here) >> 2: Can someone explain in layman's terms how a simpleton like me could >> copy, hack about with and make a new module, like, for example, >> app_record_alt.c, that would stick around each time I updated Asterisk >> from source? >> 3: Or, is anyone willing to make the simple code change to the file to >> improve it to send back the DTMF to the dialplan? For free to improve >> core code? If not, and I posted on the commercial list, how much would >> I be looking at to modify about 6 lines of code and return an extra >> variable? >> >> So, ultimately, I'm hoping for something like: >> >> Currently: >> option "y" returns a RECORD_STATUS of "DTMF" if a key was press >> >> Hopefully: >> option "z" returns a RECORD_STATUS of <dtmf-value> showing which key >> was pressed. >> Or possibly even DTMF_VALUE (if an app can return two variables to the >> dialplan?) >> >> I'm sure this would benefit a lot of people. >> >> I posted this a few days ago in the forum at >> >> https://community.asterisk.org/t/can-anyone-help-with-a-quick-app-record-c-module-improvement-and-can-explain-over-riding-modules/73221 >> but no-one bit, so, I'm hoping this list can help. >> >> Many thanks! >> >> -- >> _____________________________________________________________________ >> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >> >> Check out the new Asterisk community forum at: >> https://community.asterisk.org/ >> >> New to Asterisk? Start here: >> https://wiki.asterisk.org/wiki/display/AST/Getting+Started >> >> asterisk-users mailing list >> To UNSUBSCRIBE or update options visit: >> http://lists.digium.com/mailman/listinfo/asterisk-users > > > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > Check out the new Asterisk community forum at: > https://community.asterisk.org/ > > New to Asterisk? Start here: > https://wiki.asterisk.org/wiki/display/AST/Getting+Started > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users