Summary:ASTERISK-19506: LIMIT_WARNING_FILE plays warning to both participants BUT one after another, not at the same time
Reporter:Pedro Guillem (pguillem3)Labels:
Date Opened:2012-03-09 07:58:33.000-0600Date Closed:2012-03-09 08:40:17.000-0600
Versions: Frequency of
Environment:Debian 6 (latest) AMD Opteron Quad CoreAttachments:
Description:Ok boys and girls, time to get serious with this issue.

I assume we all know what i´m talking about. If you Dial with the option L and want to play a 2 second warning file normally it plays to one channel first and later to the other, which is fine for 1 second beep.. but what if the warning file is 15 seconds?... there will be a 15 second gap of SILENCE for one of the channels waiting for the other to hear his warning.

This has been the normal beaviour of the L option in Dial() since the beginning of time. There are more than 1000 forums and a load of prople claiming the ast_stream_and_wait function (main/channel.c) should be called to a thread instead of locking the entire call, this way we could have the bloody anouncements played almost at the same time to each side end without the other thinking the other side hung up.

I´ll build the patch myself, i'm just not that familiar with the asterisk code itself. So my question is: what would we need to make this instruction execute on a child thread to both channels at the same time?..

I fully understand what's going on in the channel.c file, i just need you guys to point me in the right direction. How would you experts do it?
Comments:By: Matt Jordan (mjordan) 2012-03-09 08:40:11.954-0600

Features requests are no longer submitted to or accepted through the issue tracker. Features requests are openly discussed on the mailing lists [1] and Asterisk IRC channels and made note of by Bug Marshals.

[1] http://www.asterisk.org/support/mailing-lists