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