On Wed, 22 Feb 2012, Chris Bagnall wrote:
However, today I have a scenario where I want the script to remain
running during the playback of a file so that I can read DTMF at the end
of playback.
If by 'remain running' you mean 'do other stuff while the file is playing'
you can stream the file in a separate thread while continuing with the
'mainline' code.
If you mean your script is returning to the dialplan before the file is
finished playing, you're doing something wrong.
However, doing this:
GET DATA en_welcome 5000 6
Results (correctly) in the following in the asterisk console:
-- <SIP/a.b.c.d-dc027b50> Playing 'en_welcome' (language 'en')
But the AGI continues to run on after this point, not waiting for either
the sound file to be played, nor for the expected 6 DTMF digits.
Adding a simple 10 second sleep/wait to the AGI allows the sound file to
be successfully played back.
Sure sounds like you are doing something wrong. Anytime a 'sleep' helps,
something is definitely wrong.
Most AGI 'weirdness' can be traced to violating the AGI protocol. These
are the most common mistakes:
0) Not using an established library. Nobody gets it right the first time
:)
1) Not reading the AGI environment from STDIN before issuing any AGI
requests.
2) Forgetting that every request must be followed by reading the response.
3) Doing any I/O on STDIN or STDOUT. These channels are connected to
Asterisk, not any console. Don't even think about popping in a quick
'debugging printf.'
Looking over my own AGI code, I don't see any examples where I used GET
DATA. I tend to use STREAM FILE and WAIT FOR DIGIT. I'm a 1.2 Luddite, so
any bugs I've been exposed to may have been fixed by now.
--
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards sedwa...@sedwards.com Voice: +1-760-468-3867 PST
Newline Fax: +1-760-731-3000
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users