[Asterisk-Dev] Please help test jitterbuffer/PLC patches.

Steve Kann stevek at stevek.com
Tue Mar 15 12:03:59 MST 2005


Steve Underwood wrote:

> Hi Steve,
>
> Does this only buffer audio? Will it let things like T.38 image 
> packets straight through, without buffering? Dynamic buffering  would 
> be very bad for T.38. In fact, any buffering is inappropriate.


Presently the patches only apply to IAX2 input;  Zoa and friends are 
doing the same to SIP, and we can add things to change the behavior in 
special cases like T.38.  I don't know what the right behavior is for 
T.38; I'd say it might be to choose a fixed buffer length, and not drop 
or add frames, right?

-SteveK

>
> Regards,
> Steve
>
> Steve Kann wrote:
>
>>
>>
>> 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
>
>
>
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>




More information about the asterisk-dev mailing list