[Home]

Summary:ASTERISK-26766: Asterisk 13 IAX2 jitterbuffer causes packet loss
Reporter:Kirsty Tyerman (ktyerman)Labels:
Date Opened:2017-02-02 23:45:14.000-0600Date Closed:2017-02-22 23:25:53.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Channels/chan_iax2
Versions:13.9.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Fedora 25, Fedora 24Attachments:( 0) 2017-02-03-11-06-04_5013-5003_eng_mf1.wav
( 1) extensions_machine1.conf
( 2) extensions_machine2.conf
( 3) iax_machine1.conf
( 4) iax_machine2.conf
( 5) sip_machine1.conf
( 6) sip_machine2.conf
Description:We have two quad core i7 Asterisk boxes running Fedora 24 or Fedora 25 using the vanilla Fedora compiled Asterisk 13.9.1

Between the two machines is an IAX2 trunk which is passing a small amount of SIP traffic (less than 10 calls).

When the jitterbuffer is enabled in IAX2, it causes what could be described as packet loss - the noticable result is choppy audio being heard on all phone calls.

This is not an intermittent problem - it happens to every single call that traverses the link. There are no networking switches / routers between the two machines and we have confirmed it is not a networking issue.

The issue occurs with G729 or ulaw and IAX is trunking multiple SIP calls.

There is no other processes running on the servers other than Asterisk and they are not showing any CPU loading issues.

The behavior is resolved as soon as the IAX2 jitterbuffer is turned off in iax.conf (jitterbuffer=no).

We have subsequently reverted both machines to Asterisk 11.13.1 and the bug is not present, so we believe it is a bug that has been introduced to the 13 branch.

The following iax2 show netstats shows significant Lost %:
{noformat}
calhost*CLI> iax2 show netstats
                          -------- LOCAL ---------------------  -------- REMOTE --------------------
                          Channel               RTT  Jit  Del  Lost   %  Drop  OOO  Kpkts  Jit  Del  Lost   %  Drop  OOO  Kpkts FirstMsg    LastMsg
                          IAX2/192.168.122.132:4569    3  150  204   366  32     0  530      0    1   60    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    1  150  190   433  33     0  630      0    1   41    10   1     0    0      0 Rx:NEW      Rx:ACK
                          IAX2/192.168.122.132:4569    3  150  191   340  28     0  547      0    1   60    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    3  150  191   430  33     0  629      0    1   41    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    3  150  190   406  32     0  581      0    1   41    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    3  150  190   308  25     0  534      0    1   60    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    3  151  211   348  29     0  549      0    1   41    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    3  150  210   401  32     0  582      0    1   61    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    1  150  190   373  32     0  531      0    1   41    10   1     0    0      0 Rx:NEW      Tx:ACK
                          IAX2/192.168.122.132:4569    3  150  190   438  33     0  628      0    1   41    10   1     0    0      0 Rx:NEW      Tx:ACK
                          10 active IAX channels
{noformat}
Attached to this issue are:
1. A sample wav recording of the choppy audio being heard over the IAX2 trunk when the jitterbuffer has been enabled.
2. The iax.conf extensions.conf and sip.conf being used on the two servers to reproduce the issue
Comments:By: Asterisk Team (asteriskteam) 2017-02-02 23:45:15.595-0600

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Kirsty Tyerman (ktyerman) 2017-02-02 23:46:42.861-0600

Sample audio of choppy IAX2 audio when jitterbuffer is enabled on the IAX trunk

By: Kirsty Tyerman (ktyerman) 2017-02-02 23:49:26.374-0600

Configuration files of the two asterisk machines running an IAX trunk

By: Rusty Newton (rnewton) 2017-02-06 13:01:37.107-0600

Thanks for the report and all the information you have provided so far.

There are some massive changes between Asterisk branch 11 and branch 13, so the comparison there isn't really helpful for narrowing down the issue in terms of a regression.

Can you test an earlier version of branch 13? Stepping back a few months to an earlier release would be helpful. Then, after that, testing with the very latest release of 13 would help.

You said there are no routers or switches between the two machines? Is this just a direct ETH port to port connection?

Can you expand on the physical connection between the two machines and the configuration within Linux?

We need as much detail as possible if we are to reproduce the problem.

By: Asterisk Team (asteriskteam) 2017-02-21 12:00:01.859-0600

Suspended due to lack of activity. This issue will be automatically re-opened if the reporter posts a comment. If you are not the reporter and would like this re-opened please create a new issue instead. If the new issue is related to this one a link will be created during the triage process. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1].

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines

By: Kirsty Tyerman (ktyerman) 2017-02-22 23:25:39.804-0600

Resolved. With jitterbuffer and trunking enabled in IAX it is necessary to include trunktimestamps=yes in iax.conf.

By: Asterisk Team (asteriskteam) 2017-02-22 23:25:39.997-0600

This issue has been reopened as a result of your commenting on it as the reporter. It will be triaged once again as applicable.