[Asterisk-Dev] Good quality iaxclient phone

Steve Kann stevek at stevek.com
Sun Dec 19 12:47:59 MST 2004


On Dec 19, 2004, at 4:28 AM, joachim wrote:

>
> Actually there are some big bugs in iaxclient at the moment causing a 
> lot of delay. on iax2 to iax2 calls.
>
> Try iaxclient to asterisk to iaxclient,  a lot of calls will have huge 
> delays.
>
> I think its only in recent iaxclients, the version firefly uses doesnt 
> seem to be affected. (but latest diax and iaxcomm are).
>
> Im not using any iaxclient, but have heard several reports, tried it 
> myself and confirmed it.
>


I generally don't use/test much native bridging or transferring, but 
there have been some patches to libiax2 coming from Bill Doll (who is 
using libiax2, but not iaxclient) affecting how transferring works.

There's a couple of things I see of note:

1) In complete_transfer, Bill resets a bunch of variables, including 
the (old) jitterbuffer history and rxcore, Maybe this isn't correct?  
(also, if it is correct, we ought to clear the (new) jitterbuffer 
history as well, although the rxcore clearing is more relevant).  If 
problems only happen on native transfer, this seems like the area to 
look, in libiax2.

2) recent asterisks (within the past 6 months or so?) when bridged 
inside asterisk, will pass along timestamps it receives to the other 
side of the call.  When doing IAX2 -> IAX2, and having the jitterbuffer 
in asterisk enabled, you end up dejittering things inside of asterisk, 
and also passing along the timestamps to the remote end to do 
dejittering there.  This could add a bit of latency..

3) until a few weeks ago, timestamps we generated within iaxclient were 
not correlated precisely to the number of samples in a frame:  IOW, the 
frames were timestamped when we sent them out, but due to scheduling 
latency, we never send frames exactly 20ms apart, instead, the 
_average_ time we send them is 20ms, but the particular timestamps 
might be as much as +- 64ms.  On Win9x, in particular, with a timer 
running only every 55ms, we would often send frames every 55ms, and 
then send 2 or 3 at a time, with timestamps differing by only 3ms.  
This would only add about 55ms of latency, though, but I think caused 
problems when bridged to devices which depend on the delta in 
timestamps equalling the actual audio time (apparently, some Cisco SIP 
phones fall into this category).

-SteveK




> Zoa.
>
>
> Steve Kann wrote:
>
>>
>> On Dec 19, 2004, at 12:12 AM, Preston Garrison wrote:
>>
>>> Hey have you g uys experienced the same quality problems I am having 
>>> with iaxclient.  My own windows softphone which i based on the 
>>> iaxclient lib as well as iaxcomm seems to have a sound like i am 
>>> talking in a tin can.  Incoming audio sounds fine.  Also if silence 
>>> supression is set to -99, it adds atleast a second of latency.  I 
>>> notice that iaxcomm has these latency all the time as well.  Has 
>>> everyone else experienced these problems, and are there ways of 
>>> fixing them?
>>>
>>
>> The iaxclient list is probably the best place for this discussion, 
>> but it kinda sounds like you have echo cancellation turned on.  Echo 
>> cancellation is really an experimental feature, which can lead to 
>> results like you describe (although, I'm not sure which direction is 
>> "incoming" in your description).
>>
>> Generally, there's _very_ little latency in audio coming _from_ 
>> iaxclient..
>>
>>
>>
>> -SteveK
>>
>> _______________________________________________
>> 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