[Asterisk-Dev] Please help test jitterbuffer/PLC patches.
Steve Kann
stevek at stevek.com
Tue Mar 15 10:51:38 MST 2005
Hi,
The Jitterbuffer and PLC patches, plus IAX2 integration posted on
mantis at
http://bugs.digium.com/bug_view_advanced_page.php?bug_id=0002532 and the
"trunktimestamp" patch posted at
http://bugs.digium.com/bug_view_advanced_page.php?bug_id=0003400 are now
ready for testing and review.
The new jitterbuffer offers several new features, and gives us a
foundation for even more improvement. It presently includes the
following features that may be of interest:
1) Packet Loss Concealment: It detects lost packets, and attempts to
reconstruct them, concealing their loss. With this functionality, you
can hardly notice 10% packet loss situations.
2) Greatly improved diagnostics, including IAX2 "receiver reports",
where you can get good details of the network situation with "iax2 show
netstats". (A manager-specific interface to this will be added soon --
it would also be nice to integrate this with the new enhanced CDR
system, so these metrics can be stored for post-mortem analysis).
3) Some testing capabilities with a new command "iax2 test losspct
<percentage>" which simulates a particular rate of random incoming
packet loss.
4) Enhanced tuning for jitter vs loss.
5) Automatic bypass of the JB for VoIP <-> VoIP bridging (configurable).
TODO:
Since the jitterbuffer (any jitterbuffer, really) requires getting
sensible timestamps, it is important that IAX2 clients output timestamps
correctly. In particular, discontinuities in timestamps will lead to
audio loss or large delays. There's some cleanup in chan_iax2 in
particular that can address some of the causes of this.
Need to re-examine if IAX2 bridge optimization is doing the right things.
STATUS:
This code is presently in production on a handful of production boxes
with pretty good results. If we can get some more reports on it, we
can hopefully get this into CVS. Also useful would be for people to
test this with the jitterbuffer (and PLC) turned off.
PATCHES:
You really ought to read the bug reports before you apply these, but
here's the patches in question, in (one possible) order they will apply
most cleanly:
[IAX2 trunk timestamps]
http://bugs.digium.com/file_download.php?file_id=5124&type=bug
[Add PLC to codecs]
http://bugs.digium.com/file_download.php?file_id=5155&type=bug
[Build the JB with asterisk]
http://bugs.digium.com/file_download.php?file_id=5137&type=bug
[Integrate JB with IAX2]
http://bugs.digium.com/file_download.php?file_id=5138&type=bug
[Add new "channel properties" flag to identify VoIP technologies]
http://bugs.digium.com/file_download.php?file_id=5139&type=bug
[Optionally bypass IAX2 jitterbuffer when we're bridged to a VoIP channel]
http://bugs.digium.com/file_download.php?file_id=5140&type=bug
-SteveK
More information about the asterisk-dev
mailing list