[asterisk-dev] [Code Review] 2459: bridge_construction: apply Jitterbuffers at bridge join via the JITTERBUFFER function.

jrose reviewboard at asterisk.org
Thu Apr 18 14:52:38 CDT 2013


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

(Updated April 18, 2013, 7:52 p.m.)


Review request for Asterisk Developers, Matt Jordan and rmudgett.


Changes
-------

Mangle func_jitterbuffer so that most of what it does is handled in core now.  No longer rely on func_jitterbuffer being loaded to apply the jitterbuffers.  Other review findings.


Bugs: ASTERISK-21333
    https://issues.asterisk.org/jira/browse/ASTERISK-21333


Repository: Asterisk


Description
-------

This patch adds support for applying jitterbuffers based on channel settings for jitterbuffers when bridging channels with simple bridges and softmixed bridges by use of func_jitterbuffer.


Diffs (updated)
-----

  /team/group/bridge_construction/CHANGES 386018 
  /team/group/bridge_construction/configs/confbridge.conf.sample 386018 
  /team/group/bridge_construction/funcs/func_jitterbuffer.c 386018 
  /team/group/bridge_construction/include/asterisk/abstract_jb.h 386018 
  /team/group/bridge_construction/main/abstract_jb.c 386018 
  /team/group/bridge_construction/main/bridging.c 386018 

Diff: https://reviewboard.asterisk.org/r/2459/diff/


Testing
-------

Tested simple two way calls with SIP with the SIP option jbenable on and off.  While on the jitterbuffer is applied as expected and while off it is not applied. Note that this is different from behavior in trunk. In trunk if a SIP channel calls another SIP channel with jbenabled=yes, there generally will not be a jitterbuffer created unless jbforced is set. This is because trunk checks both channels in a two way bridge for the following condition:

if (((!c0_wants_jitter && c1_creates_jitter) || (c0_force_jb && c1_creates_jitter)) && c0_jb_enabled) {
   /* jitter buffer creation flag is raised for c0 */
   ...
}

and since SIP has the wants_jitter flag enabled, the jitter buffer is not applied.

We are no longer reaching across the bridge to look at both channels when doing this, so the jitter buffer will be applied unconditionally on bridging. This means the jbforced option is no longer respected.


Thanks,

jrose

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130418/cfa6f9e1/attachment.htm>


More information about the asterisk-dev mailing list