[asterisk-dev] [Code Review] Improve behavior of ast_answer() to not lose incoming frames
Mark Michelson
mmichelson at digium.com
Mon Mar 16 17:41:05 CDT 2009
> On 2009-03-16 17:16:20, vadim wrote:
> > /trunk/main/features.c, line 2443
> > <http://reviewboard.digium.com/r/196/diff/1/?file=3069#file3069line2443>
> >
> > This is maby unrelated ot the patch itself,
> >
> > but i thought the channels shoul be locked before
> > calling pbx_builtin_setvar_helper
No, you have pbx_builtin_setvar_helper confused with pbx_builtin_getvar_helper.
- Mark
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/196/#review549
-----------------------------------------------------------
On 2009-03-16 17:16:07, Kevin Fleming wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/196/
> -----------------------------------------------------------
>
> (Updated 2009-03-16 17:16:07)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> ast_answer(), when supplied a delay before returning to the caller, use ast_safe_sleep() to implement the delay. Unfortunately during this time any incoming frames are discarded, which is problematic for T.38 re-INVITES and other sorts of channel operations.
>
> When a delay is not passed to ast_answer(), it still delays for up to 500 milliseconds, waiting for media to arrive. Again, though, it discards any control frames, or non-voice media frames.
>
> This patch rectifies this situation, by storing all incoming frames during the delay period on a list, and then requeuing them onto the channel before returning to the caller.
>
>
> Diffs
> -----
>
> /trunk/main/channel.c 182399
> /trunk/include/asterisk/channel.h 182399
> /trunk/main/features.c 182399
>
> Diff: http://reviewboard.digium.com/r/196/diff
>
>
> Testing
> -------
>
> Compile testing only.
>
>
> Thanks,
>
> Kevin
>
>
More information about the asterisk-dev
mailing list