Posted: Wed Jun 13, 2007 11:52 pm Post subject: [asterisk-speech-rec] Still having problems with DTMF delays
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@test:1] SpeechCreate("SIP/1234-0901de48", "") in new stack
-- Executing [s@test:2] Set("SIP/1234-0901de48", "THRESHOLD=500")
in new stack
-- Executing [s@test:3]
SpeechActivateGrammar("SIP/1234-0901de48", "digit") in new stack
-- Executing [s@test:4]
SpeechActivateGrammar("SIP/1234-0901de48", "digit-dtmf") in new stack
-- Executing [s@test:5] SpeechStart("SIP/1234-0901de48", "") in new stack
-- Executing [s@test:6] SpeechBackground("SIP/1234-0901de48",
"tt-monkeys") in new stack
[5 second delay here after I press "3" on the keypad]
-- Executing [s@test:7] NoOp("SIP/1234-0901de48", "The value in
SPEECH_TEXT is 3") in new stack
-- Executing [s@test:8] SayDigits("SIP/1234-0901de48", "3") in new stack
-- <SIP/1234-0901de48> Playing 'digits/3' (language 'en')
-- Executing [s@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 --
Posted: Thu Jun 14, 2007 12:32 am Post subject: [asterisk-speech-rec] Still having problems with DTMF delays
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
Quote:
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@test:1] SpeechCreate("SIP/1234-0901de48", "") in new
stack
-- Executing [s@test:2] Set("SIP/1234-0901de48", "THRESHOLD=500")
in new stack
-- Executing [s@test:3]
SpeechActivateGrammar("SIP/1234-0901de48", "digit") in new stack
-- Executing [s@test:4]
SpeechActivateGrammar("SIP/1234-0901de48", "digit-dtmf") in new stack
-- Executing [s@test:5] SpeechStart("SIP/1234-0901de48", "") in new
stack
-- Executing [s@test:6] SpeechBackground("SIP/1234-0901de48",
"tt-monkeys") in new stack
[5 second delay here after I press "3" on the keypad]
-- Executing [s@test:7] NoOp("SIP/1234-0901de48", "The value in
SPEECH_TEXT is 3") in new stack
-- Executing [s@test:8] SayDigits("SIP/1234-0901de48", "3") in new
stack
-- <SIP/1234-0901de48> Playing 'digits/3' (language 'en')
-- Executing [s@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 --
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum