[asterisk-speech-rec] Still having problems with DTMF delays

Brent Ropp brn6577 at saintjoe.edu
Wed Jun 13 19:32:29 CDT 2007


A couple things, first you no longer need a dtmf digit the function is
built into app_spech_utils, that is also why it is going so slowly. The
way the app is written if it 'hears' a dtmf digit it stops talking to the
speech engine and sets a 5 second timeout 'listening' for more digits. The
simple fix after you press your digit press the # key, which works as an
end of transmission character. This sucks some because you cannot use the
# key in any IVR type fashion if you are using Speech but thats the way it
is written.

Brent
>
> The DTMF bug (or "behavior", perhaps more appropriately) is still
> evident, and making the system unusable for our purposes, but I'm
> betting there is a simple solution.  I have a very simple dialplan
> that uses a stripped-down set of grammars which I created that only
> expects a single digit as a spoken or DTMF sequence (or at least, I
> think that's how I have it configured.)
>
>      -- Executing [s at test:1] SpeechCreate("SIP/1234-0901de48", "") in new
> stack
>      -- Executing [s at test:2] Set("SIP/1234-0901de48", "THRESHOLD=500")
> in new stack
>      -- Executing [s at test:3]
> SpeechActivateGrammar("SIP/1234-0901de48", "digit") in new stack
>      -- Executing [s at test:4]
> SpeechActivateGrammar("SIP/1234-0901de48", "digit-dtmf") in new stack
>      -- Executing [s at test:5] SpeechStart("SIP/1234-0901de48", "") in new
> stack
>      -- Executing [s at test:6] SpeechBackground("SIP/1234-0901de48",
> "tt-monkeys") in new stack
>   [5 second delay here after I press "3" on the keypad]
>      -- Executing [s at test:7] NoOp("SIP/1234-0901de48", "The value in
> SPEECH_TEXT is 3") in new stack
>      -- Executing [s at test:8] SayDigits("SIP/1234-0901de48", "3") in new
> stack
>      -- <SIP/1234-0901de48> Playing 'digits/3' (language 'en')
>      -- Executing [s at test:9] Hangup("SIP/1234-0901de48", "") in new stack
>    == Spawn extension (test, s, 9) exited non-zero on 'SIP/1234-0901de48'
>
> I modified the source code in Asterisk to change "5" to "2" around
> line 720 in app_speech_utils.c:
>
>     if (!started) {
>       /* Change timeout to be 5 seconds for DTMF input */
>       timeout = (chan->pbx && chan->pbx->dtimeout) ? chan->pbx->dtimeout :
> 2;
>       started = 1;
> }
>
> ...but that didn't seem to make a difference.  I would expect that
> _instantly_ after a digit is recognized either via voice or via DTMF,
> but there is a significant pause.  Anyone have any suggestions?
> These problems are happening before I even call "SpeechDestroy" (in
> fact, I removed "SpeechDestroy" from my dialplan as I narrowed down
> this problem - no difference.)  I'm using Asterisk
> SVN-branch-1.4-r68450.
>
> JT
>
>
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-speech-rec mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-speech-rec
>




More information about the asterisk-speech-rec mailing list