[asterisk-users] app_read prematurely bridges channels

Peter Fern pete at keypoint.com.au
Wed Oct 3 06:09:19 CDT 2007


Hi list,

Running Asterisk 1.4.10:

When using the M() option for Dial to execute a macro, then executing a
Read within the macro, once streaming of the audio file specified in
Read has completed, and the channel attempts to read input from the
destination channel where the macro is executed, the source channel
stops ringing/moh, and audio from the source is bridged into the
destination.

I have tried various options to the Read application, but none have
altered the results. An example of the behaviour:

Calling party on channel SIP/YYY dials XXX, hits dialplan:

exten => XXX,1,Dial(SIP/ZZZ,,mM(mymacro))

Macro looks something like:

[macro-mymacro]
exten => s,1,Playback(somefile)      ;This plays fine on channel SIP/ZZZ
exten => s,n,Read(somevar,audioprompt)      ;audioprompt plays fine,
then immediately after playing the prompt, channel SIP/ZZZ starts
hearing audio data from SIP/YYY, moh stops on SIP/YYY, however no audio
from SIP/ZZZ is sent to SIP/YYY until the macro exits
exten => s,n,Playback(someotherfile)      ;This and subsequent audio
from the macro is not heard on either channel

Once the macro finishes, audio is passed between the two channels as
expected, however there is obviously something very wrong happening in
app_read for the channel to be what appears to be partially bridged
before the macro completes, though I can't see what it is.  I thought it
might be answering the chan, but the 'n' option to Read should skip
around this, and has no effect.

I've searched the bugtracker to no avail, full debug gives no useful
data that I can see - is this a known bug, and does anyone have a
workaround?

Regards,
Peter Fern





More information about the asterisk-users mailing list