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

John Todd jtodd at loligo.com
Wed Jun 13 16:47:31 MST 2007


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





More information about the asterisk-speech-rec mailing list