[Asterisk-Users] AGI and fast-entered DTMF codes

Alan Murphy alan at alanmurphy.org
Wed Feb 26 10:44:19 MST 2003


Hi everyone,

We are using an AGI script (Java) to read a code and other details sent
by a user using DTMF tones. The version of Asterisk we are using is one
from CVS - approximately 2 weeks old. We have two X100Ps as interfaces
to the POTS lines. We are based in Ireland, using KewlStart signalling.

The problem is that, when a user enters the 6 digit code too quickly,
Asterisk does not seem to be able to keep up. Firstly, we used the "GET
DATA" method to retrieve all the digits. What usually happens is that
only the first 3 digits are returned, although sometimes it simply
returns a null string if the digits are pressed very quickly. When the
script identifies that this code is invalid, it loops to ask the user to
re-enter. However, when we attempt to read the input again from
Asterisk, through the standard input as before, it returns a null
string. In fact, any attempts after this to read from the input stream
fail (of course I issue a command to Asterisk before each attempted
read). 

We tried increasing the number of digits for Asterisk to read, but it
had no affect. We also tried the "WAIT FOR DIGIT" method and looped for
each digit. It was a little better, but failed when the digits were
pressed very quickly.

To me, it looks like Asterisk is receiving the tones, but is overflowing
some buffer somewhere. Can anyone shed some light on where the problem
lies? 

Many thanks in advance for your help.

Alan.





More information about the asterisk-users mailing list