Hello, I understand that only the destination of a call should do jitter buffering. So, if IAX2/PhoneA calls IAX2/PhoneB through my server (no transfers), PhoneA and PhoneB need to perform their own jitter buffering, and Asterisk will just forward the frames, correct? What happens if the peer does not support jitter buffering, but is close by so there's no need for jitter buffering? My situation is that I have an Asterisk machine right in front of our provider's systems (same switch, < 1ms latency). If they don't have jitter buffering, how can I force my Asterisk machine to jitter buffer calls from my users to them? Thanks, -Michael
On Sat, 12 Feb 2005, Michael Giagnocavo wrote:> Hello, > > I understand that only the destination of a call should do jitter > buffering. So, if IAX2/PhoneA calls IAX2/PhoneB through my server (no > transfers), PhoneA and PhoneB need to perform their own jitter buffering, > and Asterisk will just forward the frames, correct? > > What happens if the peer does not support jitter buffering, but is > close by so there's no need for jitter buffering? My situation is that I > have an Asterisk machine right in front of our provider's systems (same > switch, < 1ms latency). If they don't have jitter buffering, how can I force > my Asterisk machine to jitter buffer calls from my users to them?Interesting question. Its an issue when you set up a IAX link between two "close by" peers. You tend to think that you don't need jitter buffer, or can set the settings down low. But if you take a call from that close-by peer that actually comes from somewhere else, and you suddenly might need a big buffer. So it would be nice if JB setting could somehow by negotiated. Anyway - a trick that comes to mind to get your packets dejittered before sending to the other box is to interpose a Local channel. So - when you handle the incoming call, on your intermediary machine, rather than Dial() the third box, rather dial a Local/ channel that then dials to 3rd machine in turn. Then, chan_iax2 will by bridged to the local/ channel, and will dejitter. Regards, Steve
On Feb 12, 2005, at 9:10 PM, Michael Giagnocavo wrote:> Hello, > > I understand that only the destination of a call should do jitter > buffering. So, if IAX2/PhoneA calls IAX2/PhoneB through my server (no > transfers), PhoneA and PhoneB need to perform their own jitter > buffering, > and Asterisk will just forward the frames, correct? > > What happens if the peer does not support jitter buffering, but is > close by so there's no need for jitter buffering? My situation is that > I > have an Asterisk machine right in front of our provider's systems (same > switch, < 1ms latency). If they don't have jitter buffering, how can I > force > my Asterisk machine to jitter buffer calls from my users to them? >Assuming this is all IAX, presently, the jitterbuffer is either on, or off, as you configure; it doesn't go off automatically if it's in the middle of a bridge (although "native bridging" does bypass it). So, in your situation, with the current code, disable native bridging, and enable the jitterbuffer, and you should get it. But, we're working on improving this area a lot; this is an uncommon situation, though: Why doesn't the peer support jitterbuffering? -SteveK