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