Ernest Raspberry wrote:
>Hello,
>
>I'm experiencing some problems with running IAX2 protocol on quite
>reliable link with G729A codec. My customer has 2mb FR link to the
>Internet used in about 20%. Ping statistics:
>
>50 packets transmitted, 49 received, 2% packet loss, time 49496ms
>rtt min/avg/max/mdev = 9.308/13.126/33.307/4.851 ms
>
>Everything would be great, but the quality isn't good enough. I have
>2mb/512kb DSL line,
>on which voice calls are working muuch better.
>
>I've checked it on many ways. Hping tells me, that the average UDP
>packet loss rate is about 8-15%. Is that too much for IAX
>retransmissions ability? I've setup jitter with default settings
>from iax.conf, but the quality remains almost the same - it's still
>tooo jiiiiitttteery every few seconds.
>
>I ran out of ways to test it. The conclusion remains the same - delays
>and delay changes should be good enough, but the packet losses remain
>too. I see some VNAK requests in
>my log files, but no more than 3-4 during ~40 seconds connection.
>
>So should I fight the packet losses or tune my iax.conf options?
>
>
Presently, there's not much you can do with the quality in asterisk for
this situation. IAX2 should keep the call up fine, but it can't conceal
the lost packets at all.
I have been working on just this problem in iaxclient, and have just
committed experimental code to work with this situation to
iaxclient-cvs. Once it is ironed out there, it should be straightforward
to add the jitterbuffer itself to asterisk (hopefully, to RTP channels
as well as IAX channels, or even put it somewhere else within asterisk),
as well as the packet loss concealment stuff (which would be a bit more
work, as it involves modifying all the translators to understand that a
voice frame with data length=0 to be a request for concealment.
The results, though, with packet loss in that range, are a huge
improvement -- there's still noticable quality degradation, but no
dropouts in audio.
-SteveK