[asterisk-users] how to flush user input before READ()

Steve Edwards asterisk.org at sedwards.com
Tue Jan 19 13:49:58 CST 2016

> On Tue, 19 Jan 2016 09:02:30 -0800 (PST) Steve Edwards 
> <asterisk.org at sedwards.com> wrote:

>>>>> How about a read() to a dummy variable with a 1 second timeout to 
>>>>> consume the octothorpe and password?

>> If 1 second is too long, you could write an AGI to use the 'wait for 
>> digit' AGI command which allows the timeout to be specified in 
>> milliseconds.

On Tue, 19 Jan 2016, D'Arcy J.M. Cain wrote:

> If I understand it the OP has un-consumed input and is just looking for 
> the shortest possible time to read it.  Would a read with a timeout of 
> zero do the job or would Asterisk optimize away the call?

Good idea. I was looking at the 'read()' dox for 1.2 which doesn't say 
much about the timeout values -- only that if it is 0, the default is 
used. The default may be changed using the TIMEOUT() function. Maybe 
setting the default to 0 and specifying 0 in read() may be fruitful.

More modern Asterisks (11.17) say the timeout can be a floating point 
number. Maybe setting it to 0.1 (or 0.01) may do the trick.

Unfortunately, I don't have the time to play right now.

Thanks in advance,
Steve Edwards       sedwards at sedwards.com      Voice: +1-760-468-3867 PST

More information about the asterisk-users mailing list