[asterisk-dev] Jitter Buffer
John Lange
j.lange at epic.ca
Tue Oct 24 15:26:49 MST 2006
On Tue, 2006-10-24 at 20:08 +0300, zoachien at securax.org wrote:
> I disagree with this, it's the only way you can choose when to have
> dejittering and when not.
> You might for example want it for sip to zap but not from sip to iax,
> thus if you set it in sip, you will have dejittering for sip in your
> suggestion.
I don't think so. Asterisk already knows that the receiving leg can
accept jitter (if its another SIP or IAX leg) so it should know not to
dejitter unless you give it jbforce=yes.
And in any case your logic has the same problem in reverse. If you put
jbenable=yes in zap.conf then ZAP<->ZAP logically would be dejittered
which IMHO makes even less sense than dejittering in the middle of
SIP<->SIP.
But in either case it wouldn't happen because Asterisk knows that
ZAP<->ZAP and SIP<->SIP (or SIP<->IAX) doesn't need it.
Now the flip side (which I mentioned in another email already); if you
have a mix of SIP clients, some that you want dejittered and some you
don't, with jbenable in zap.conf you have no way of enabling the JB for
some sip clients but not others.
If you think that isn't likely, by way of example think of a number of
Asterisk servers all in the same physical location connected to PRIs
peered with SIP. And SIP clients connected from afar. The Asterisk
servers don't need to dejitter each other but they do need to dejitter
the far endpoints.
You also have no way of enabling it for only one channel type, for
example SIP but not IAX or SCCP etc. You also can't enable it for
applications hosted on Asterisk as mentioned.
So, to sum up; IMHO, jbenable=yes in sip.conf should mean the following:
"dejitter the incoming audio from the SIP endpoint if the downward leg
can't accept jitter or does not dejitter on its own."
And jbforce=yes in sip.conf should mean "always dejitter the incoming
audio from the SIP endpoint regardless of the downward leg."
John
More information about the asterisk-dev
mailing list