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

Kevin Harwell (JIRA) noreply at issues.asterisk.org
Fri Jan 3 09:52:25 CST 2020


     [ https://issues.asterisk.org/jira/browse/ASTERISK-28661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Harwell updated ASTERISK-28661:
-------------------------------------

    Attachment: adjust_clock.sh

I was able to replicate this issue using the given iax config, and the attached [^adjust_clock.sh] script I wrote. I used the same configuration for both Asterisk instances (changing the host of course, and disabled authentication). I started the script, and then orginated a call using the iax endpoint from one Asterisk instance to the other. For instance:
{noformat}
*CLI> channel originate IAX2/audio@<other Asterisk host/ip>/940 extension 940
{noformat}
Extension 940 is just a simple answer and playback:
{noformat}
exten => 940,1,NoOp()
	same => n,Answer()
	same => n,Playback(demo-congrats)
	same => n,Hangup()
{noformat}
The [^adjust_clock.sh] script increases the current system time by one second every 3 seconds, and then stops after 10 times. **Note** it does not automatically reset/resync the system time. After running it you'll have to manually do that yourself with whatever system command works for your system. For instance, I was able to sync the clock on the machine (Ubuntu 14.04) I was using to test by executing the following:
{noformat}
$ sudo timedatectl set-ntp off
$ sudo timedatectl set-ntp on
{noformat}

> 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: Unassigned
>         Attachments: adjust_clock.sh, debug_log_28661, iax2_show_channels.txt, iax.conf
>
>
> 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