[Asterisk-Users] IAX Jitterbuffer and trunking

Steve Kann stevek at stevek.com
Fri Dec 16 13:46:07 MST 2005


Richard Scobie wrote:

> Is there a way to configure the IAX jitterbuffer to get the benefit of 
> trunktimestamps, while not having any jitterbuffering (reducing delay)?
>
> My SVN asterisk systems use the following topologies:
>
> 1) PolycomSIP -> *1 ->IAX-> *2 -> H323 Gateway
>
> 2) PolycomSIP -> *1 ->IAX-> *3 -> Zap TDM400 Analog
>
> 3) H323 Gateway -> *2 ->IAX-> *3 -> Zap TDM400 Analog
>
> In all the above, the primary jitter path is the IAX one and the codec 
> is Alaw all the way.
>
> In an effort to reduce path delay and multiple jitterbuffering I have 
> configured the following:
>
> On the basis that the Polycom IP500 phones have a decent jitterbuffer 
> built in, Asterisk 1 has jitterbuffer=no in iax.conf.
>
> Asterisk 2 has the same setting as the H323 GW has it's own jitterbuffer.
>
> Asterisk 3 has jitterbuffer=yes in iax.conf, to buffer the Zap 
> interface and provide PLC. I notice that zapata.conf has an entry 
> jitterbuffers=4 by default - is this a different one in which case 
> should it be turned off or is it setting parameters for the IAX JB?


There's a few points in here so far:

1) the new jitterbuffer and trunktimestamps are independent settings, 
and have independent effect. You get the same effect with 
trunktimestamps (correct pass-through of frame timestamps), whether you 
use the jb or not.

2) The IAX jitterbuffer is disabled _by default_ (unless you use 
"forcejitterbuffer"), when a call is bridged from an IAX channel to 
another VoIP channel. So, you don't need to forcibly disable the jb in 
your case, it should automatically be disabled: In your cases, it would 
only ever be enabled on box "*3", when a call comes in from IAX, and 
goes to zap.

3) Yes, the setting in zapata.conf is for 4 very small buffers, which 
are different than than the IAX jb.

>
> Looking at README.jitterbuffer:
>
> "If you don't use trunktimestamps, there's lots of ways the 
> jitterbuffer can get confused because timestamps aren't necessarily 
> sent through the trunk correctly."
>
> This presumably means that if I want to use IAX trunking effectively, 
> I have to enable the IAX JB on all Asterisks.

No, you don't need to enable the jitterbuffers anywhere except on the 
last machine that's receiving VoIP (in your cases above, *3). I would 
expect trunktimestamps would help you if you're using trunking for the 
IAX links between your boxes.

-SteveK




More information about the asterisk-users mailing list