[asterisk-bugs] [JIRA] (ASTERISK-28661) chan_iax jitterbuffer growing when time sources not in sync

Kirsty Tyerman (JIRA) noreply at issues.asterisk.org
Thu Dec 19 18:47:31 CST 2019


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=249147#comment-249147 ] 

Kirsty Tyerman commented on ASTERISK-28661:
-------------------------------------------

Please find attached:
* iax.conf: the iax conf file that was used
* iax2_show_channels: a watch of "iax2 show channels" over the duration of a call and you can see that the jitter buffer is constantly increasing.
* debug_log_28661: the log file whit debugging turned on where you can see the "G" indicates the jitter buffer is constantly growing.

There is no jitter between the two asterisk servers.

The timing source selected by asterisk is "res_timing_dahdi.so". 

The system is running chrony, which is adjusting slowly the system clock to the NTP server. When I stop chrony from adjusting the clock, there is no longer an issue, even if the dates are not synced. Seems to be a bug with how asterisk jitter buffer is referencing time. It is stated in the "IAX2 Jitterbuffer" that "Different clock rates are handled very gracefully though; it will actually deal with a sender sending 20% faster or slower than you expect just fine." Looking at the asterisk sources there is reference to timer_t, which is the system clock. 

Asterisk is not handling gracefully the system clock being slewed, as the jitter buffers are unnecessarily growing and this is affecting voice quality.

> chan_iax jitterbuffer growing when time sources not in sync
> -----------------------------------------------------------
>
>                 Key: ASTERISK-28661
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28661
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_iax2
>    Affects Versions: 16.4.0
>            Reporter: Kirsty Tyerman
>            Assignee: Kirsty Tyerman
>
> I have two asterisk servers, Server A and Server B. These two servers are peered via IAX. When I make a call between Server A and Server B I am experiencing poor audio quality and the jitter buffer on one end is continuously growing. 
> Server A's time is approximatley 10 minutes behind Server B.
> I have a PJSIP client registered to Server B call a PJSIP client registered to Server A. The call is established via IAX between Server A and Server B.
> I have the IAX jitter buffers enabled on both Server A and Server B with trunktimestamps=yes.
> When I establish the call, the "iax2 show channels" on Server A (date is behind) shows the "JitBuf" constantly growing. The max jitter buffer is 4000ms. It seems as though the jitter buffer is not handling the system clock being wrong when it should rely on the trunk timestamps that is relative to iax and disregard any system clocks.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list