[Asterisk-Dev] SIP Jitter Buffer Testing
SteveK
stevek at stevek.com
Sat Sep 17 11:56:49 MST 2005
O.K. we're all being pedantic here:
1) Jitterbuffers don't do PLC: true, but an adaptive JB will request
PLC when it needs to grow and will drop frames when it needs to
shrink. A good jitterbuffer system (adaptive or not) will request
PLC when it sees a lost frame (the 1.2 IAX2 and experimental SIP jbs
will do this).
2) Jitterbuffers (at least in asterisk, and VoIP land) need to deal
with more than just network conditions of loss, jitter, and variable
transit delay; they also need to deal with clock skews, and buggy
senders. The IAX2 jb implementation deals with clock skews by
dropping packets or using PLC, gradually, and buggy senders (and
really wacko network problems) making discontinuities by retraining,
which often involves losing some packets.
3) A modem might be able to deal with a long delay, but it's not
going to be able to deal with lost frames or added silence very well
at all -- these aren't conditions that happen in the real PSTN, so
they weren't designed to work that way.
So, I would say that if you wanted to get the best reliability
possible for fax signaling over VoIP, you'd want:
a) A large, fixed-size jitterbuffer
b) FEC, or some other means of redundant data transmission
And then, it would still only work if you didn't have clock skew,
buggy senders, or wacko networks (like AKohlsmiths :)).
Really, trying to send images like faxes over the internet by VoIP
just seems really silly; that's what e-mail is for. If you must
have a fax machine at each end, a store-and-forward system is going
to be your best bet, where the images travel across the internet as
compressed TIFF files over TCP or something. I imagine that you
could set up something like this with Steve U's fax stuff already.
I know that doesn't work right now for people who want to put off-the-
shelf ATAs at customer locations, and provide fax capabilities over
them; but it really ought to be the goal: Build a "fax-ata", which
screeches locally to the fax machine, takes the fax and sends it over
TCP to a remote box connected to the TDM network, which then can
screech again to another fax machine. This is kinda what T.38 is
trying to do, but in a much more complicated way (mainly, it seems,
so that the fax machines can negotiate capabilities with each other,
and get proper confirmations and so forth).
You also could imagine an "internet fax", which is just a scanner and
printer and a small embedded computer, which sends and receives
images over TCP/IP to some service provider on the TDM network.
BTW: Who's going to be at VON? I'll be there Monday and Tuesday..
-SteveK
On Sep 17, 2005, at 2:32 PM, Zoa wrote:
>
> The jitter buffer he tested it with is a fixed size version, so as
> long
> as there is no packetloss (or delay larger than the size of the
> buffer)
> and thus no PLC is used, it might be better than the original.
> The fixed size jitter buffer was only made to easy the search for the
> memory leak, (without succes), i don't think its a good idea to
> rely on
> it for faxing is it will probably change again in the future.
>
> Cheers,
>
> Zoa.
>
> ------------------
> http://www.asteriskguru.com
>
> steve at daviesfam.org wrote:
>
>
>> On Fri, 16 Sep 2005, George Pajari wrote:
>>
>>
>>
>>
>>> It goes without saying that on most connections, getting faxes
>>> through
>>> without the jitter buffer is almost impossible. The jitterbuffer
>>> makes a
>>> phenomenal difference. But we are still experiencing more
>>> problems than
>>> we should and have some questions on how to best proceed.
>>>
>>>
>>>
>>
>>
>> George:
>>
>> The jitter buffer logic really isn't designed at all for the goal of
>> correctly passing modem signals. I don't think you are
>> experiencing more
>> problems than you should; even if the jitter buffer works perfectly
>> (actually, especially if it works perfectly) it won't pass modem
>> signals
>> consistently.
>>
>> Here's some reasons why:
>>
>> 1) If a frame doesn't arrive in time, it makes up a frame based on a
>> simple model of what sounds OK to the human ear. Certainly won't
>> fool
>> your fax machine.
>>
>> 2) If the code needs to expand or contract the jitter buffer,
>> stunts are
>> pulled with the audio that tries to hide the change. Death to
>> your fax
>> machine's signal.
>>
>> 3) If the jitter buffer grows too large, latency on the connection
>> will
>> break certain time-critical handshakes in the protocol between the
>> two fax
>> machines.
>>
>> Speaking with some confidence on behalf of Steve Kann: Passing modem
>> signals is not, and is very unlikely to become a design goal for the
>> jitter buffer.
>>
>> Regards,
>> Steve
>> _______________________________________________
>> 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
>>
>>
>>
>
> _______________________________________________
> 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