[Freeswitch-users] how to have fs interrupt a file or tts ifdigit is pressed

Jason Moran jmoran at secureachsystems.com
Mon Aug 8 22:12:47 MSD 2011


This is in javascript instead of Perl, but you can get the gist of it
where you would call the getDTMFPlaybackStopOnAny function:

function GetDTMFStopOnAny(session, type, data, arg)
{
   arg.digits += data.digit;
   return false;
}
function getDTMFPlaybackStopOnAny(playbackFile)
{
   var dtmf = new Object();
   dtmf.digits = "";
   session.flushDigits();
   session.streamFile(playbackFile, GetDTMFStopOnAny, dtmf);
   if(dtmf.digits == "") { session.collectInput(GetDTMFStopOnAny, dtmf,
15000); }
   var returnDTMF = ReplaceAll(dtmf.digits, "#", "");
   return returnDTMF;
}

-----Original Message-----
From: Hector Geraldino [mailto:Hector.Geraldino at ip-soft.net] 
Sent: Monday, August 08, 2011 1:30 PM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] how to have fs interrupt a file or tts
ifdigit is pressed

You can send a "break" command in the DTMF callback event. This will
stop the audio playback or TTS.


-----Original Message-----
From: freeswitch-users-bounces at lists.freeswitch.org
[mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of
covici at ccs.covici.com
Sent: Monday, August 08, 2011 1:09 PM
To: freeswitch-users at lists.freeswitch.org
Subject: [Freeswitch-users] how to have fs interrupt a file or tts if
digit is pressed

Hi.  I am using Perl, if that makes any difference and I would like to
arrange things in such a way that during a prompt, if the person presses
a key, then the prompt will stop speaking and I can see what the key is
and do something.  Here is an excerpt of the script I am using.

$session->setInputCallback('got_press',""); #listen for key presses in
the background


while($session->ready())
{
$session->streamFile("test_break.wav");

    if ($press_so_far != "")
    {
        $session->say($press_so_far,"EN", "NAME_SPELLED", "ITERATED");
        $press_so_far="";
            }
}
 
Instead of streamFile, I tried speaking text through tts_command line,
and a phrase macro which did the same.  I was sure that at least
streamFile would break, but it did not.

Thanks in advance for any ideas.

-- 
Your life is like a penny.  You're going to lose it.  The question is:
How do
you spend it?

         John Covici
         covici at ccs.covici.com

_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago
http://www.cluecon.com 877-7-4ACLUE

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org





Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list