[asterisk-dev] [Code Review] 3522: Allow framehooks to be queried for what frame types they consume.

Joshua Colp reviewboard at asterisk.org
Mon May 5 13:48:53 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3522/
-----------------------------------------------------------

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 413303 
  /branches/12/main/channel.c 413303 
  /branches/12/main/bridge_basic.c 413303 
  /branches/12/include/asterisk/framehook.h 413303 
  /branches/12/bridges/bridge_native_rtp.c 413303 

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/20140505/7dad32b6/attachment.html>


More information about the asterisk-dev mailing list