[asterisk-dev] [Code Review] 3522: Allow framehooks to be queried for what frame types they consume.
rmudgett
reviewboard at asterisk.org
Wed May 7 19:33:13 CDT 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3522/#review11845
-----------------------------------------------------------
/branches/12/include/asterisk/framehook.h
<https://reviewboard.asterisk.org/r/3522/#comment21709>
Use tabs not spaces here.
/branches/12/include/asterisk/framehook.h
<https://reviewboard.asterisk.org/r/3522/#comment21714>
/branches/12/include/asterisk/framehook.h
<https://reviewboard.asterisk.org/r/3522/#comment21713>
/branches/12/include/asterisk/framehook.h
<https://reviewboard.asterisk.org/r/3522/#comment21711>
function all?
function call
This change needs to be made to several other function prototype doxygen comments in this file.
/branches/12/include/asterisk/framehook.h
<https://reviewboard.asterisk.org/r/3522/#comment21710>
Tabs not spaces here.
/branches/12/main/channel.c
<https://reviewboard.asterisk.org/r/3522/#comment21712>
This is also called to see if local channels can optimize. Any framehooks need to prevent optimization not just hooks consuming voice.
You should create another function for this change.
- rmudgett
On May 7, 2014, 5:10 p.m., Joshua Colp wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3522/
> -----------------------------------------------------------
>
> (Updated May 7, 2014, 5:10 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Bugs: ASTERISK-23497
> https://issues.asterisk.org/jira/browse/ASTERISK-23497
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> Framehooks currently provide no mechanism for anything to determine what frame types they are consuming. This is problematic for logic which uses this information to determine what to do (such as native bridging). This means that code has had to block certain things (such as RTP native bridging) if *any* framehooks are present - even if they are not interested in the media at all. The attached change adds some functionality to improve this:
>
> 1. An optional callback has been added to the framehook interface which allows the framehook implementation to be queried for whether it is consuming a frame type or not. If this callback is not implemented it is assumed they are consuming all types, which is the previous behavior.
> 2. Some framehooks have had the callback implemented.
> 3. The unbridge softhangup flag is now being set when a framehook is attached or detached to trigger a re-evaluation within the bridge universe.
>
> These together allow the bridge_native_rtp module to be smarter about when to prevent its use.
>
>
> Diffs
> -----
>
> /branches/12/main/framehook.c 413469
> /branches/12/main/channel.c 413469
> /branches/12/main/bridge_basic.c 413469
> /branches/12/include/asterisk/framehook.h 413469
> /branches/12/include/asterisk/channel.h 413469
> /branches/12/bridges/bridge_native_rtp.c 413469
>
> Diff: https://reviewboard.asterisk.org/r/3522/diff/
>
>
> Testing
> -------
>
> Performed numerous attended transfers across SIP and PJSIP. Before patch simple_bridge would be used after completion for attended. After patch the expected native_rtp would be used.
>
>
> Thanks,
>
> Joshua Colp
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140508/8bc75e05/attachment-0001.html>
More information about the asterisk-dev
mailing list