Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 921243 - net-misc/asterisk-16.30: Iax2 - auto_congest: Auto-congesting call due to slow response
Summary: net-misc/asterisk-16.30: Iax2 - auto_congest: Auto-congesting call due to slo...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jaco Kroon
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-03 03:15 UTC by Joseph
Modified: 2024-02-05 06:23 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
0001-chan_iax2-Fix-jitterbuffer-regression-prior-to-recei.patch (0001-chan_iax2-Fix-jitterbuffer-regression-prior-to-recei.patch,2.41 KB, patch)
2024-01-04 18:21 UTC, Jaco Kroon
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph 2024-01-03 03:15:31 UTC
I am running asterisk-16.16 and it works OK no problems; on 16.30 I’m getting an error message when trying call another asterisk server over IAX

chan_iax2.c:4739 __auto_congest: Auto-congesting call due to slow response
– IAX2/192.168.143.1:4569-3461 is circuit-busy

Trying to play with “qualify=yes” or “qualify=2000” doesn’t help at all.
As I’ve mention Asterisk-16.16 works perfectly fine.

Reproducible: Always




emerge --info
Portage 3.0.56 (python 3.11.6-final-0, default/linux/amd64/17.1/desktop, gcc-13, glibc-2.37-r7, 6.1.19-gentoo x86_64)
=================================================================
System uname: Linux-6.1.19-gentoo-x86_64-AMD_FX-tm-8150_Eight-Core_Processor-with-glibc2.37
KiB Mem:    16374620 total,   8439180 free
KiB Swap:    8757244 total,   8757244 free
Timestamp of repository gentoo: Tue, 12 Dec 2023 00:00:01 +0000
Head commit of repository gentoo: 6d647d307594916db1c56c440e8c2be8b29df9af
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.40 p7) 2.40.0
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-java/java-config:      2.3.1-r1::gentoo
dev-lang/perl:             5.38.0-r1::gentoo
dev-lang/python:           3.10.13::gentoo, 3.11.6::gentoo, 3.12.1::gentoo
dev-lang/rust:             1.71.1::gentoo
dev-util/cmake:            3.27.7::gentoo
dev-util/meson:            1.2.3::gentoo
sys-apps/baselayout:       2.14::gentoo
sys-apps/openrc:           0.48::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/autoconf:        2.13-r7::gentoo, 2.71-r6::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.40-r9::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           16.0.6::gentoo
sys-devel/gcc:             13.2.1_p20230826::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             16.0.6::gentoo
sys-devel/llvm:            16.0.6::gentoo
sys-devel/make:            4.4.1-r1::gentoo
sys-kernel/linux-headers:  6.1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.37-r7::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 

brother-overlay
    location: /var/lib/layman/brother-overlay
    masters: gentoo
    priority: 50
    volatile: True

inode64-overlay
    location: /var/lib/layman/inode64-overlay
    masters: gentoo
    priority: 50
    volatile: True

Local
    location: /usr/local/portage
    masters: gentoo
    priority: 99999999
    volatile: True

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA @FREE PUEL PUEL-11"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/fax /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.4/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/php/fpm-php7.4/ext-active/ /etc/php/phpdbg-php7.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /var/spool/fax/etc/xferfaxlog"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.osuosl.org/ ftp://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j8 --load-average=8"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acpi alsa amd64 apache2 bluetooth branding bzip2 cairo cdda cdr cgi cleartype cli corefonts crypt cups dbus dri dts dvd dvdr elogind encode exif fam flac fortran gdbm gif gimp gimpprint gpm gtk gui iconv icu ipv6 java jpeg lcms libnotify libtirpc lock mad mng mp3 mp4 mpeg multilib mysql ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline scanner sdl seccomp session sound spell split-usr ssl startup-notification svg test-rust tetexspell thunar tiff truetype type1 udev udisks unicode upower usb vorbis vulkan wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" SANE_BACKENDS="fujitsu epson2" VIDEO_CARDS="nvidia nouveau" VOICEMAIL_STORAGE="file" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Jaco Kroon 2024-01-04 14:10:34 UTC
Hi Jonas,

16.30.1 is the latest in the 16.x series.  If there are bugs like these can you please help by finding upstream references or filing relevant bugs there?  Happy to back-port patches for you, but need to know what to apply.

I well suspect the one you need may be this one:

commit 73103bdcd5b342ce5dfa32039333ffadad551151
Author: Naveen Albert <asterisk@phreaknet.org>
Date:   Wed Dec 14 16:00:51 2022 +0000

This is based on the fact that it's included in master, but not on the 16 branch.

If you're able to confirm I'll happily roll a 16.30.1-r1 to include this patch for you on asterisk-16 series.

This affects jitter buffer specifically, if you switch off the JB and everything works well, then it really hints towards this, in which case please apply the patch and confirm.

Having said that - I highly recommend giving 18 a shot.
Comment 2 Joseph 2024-01-04 16:31:04 UTC
The asterisk I noticed this bug is the net-misc/asterisk-16.30.1

I have two boxes, same dial plan, one asterisk-16.16.2-r1 doesn't generate this error, asterisk-16.30.1 does.

How do I switch the "jitter buffer" to test it on my end?
Comment 3 Jaco Kroon 2024-01-04 17:50:53 UTC
[general]
jitterbuffer=no
forcejitterbuffer=no
Comment 4 Joseph 2024-01-04 18:14:28 UTC
in iax.conf I disabled jitter, according to:
https://community.asterisk.org/t/disable-jitter-buffer/75581

jitterbuffer=no
resyncthreshold=-1
forcejitterbuffer=no

It did not help, I'm still getting same error:

-- Called IAX2/home_server:5xxxxx7@192.168.143.1/4
[Jan  4 11:09:25] NOTICE[23796]: chan_iax2.c:4739 __auto_congest: Auto-congesting call due to slow response
    -- IAX2/192.168.143.1:4569-493 is circuit-busy
    -- Hungup 'IAX2/192.168.143.1:4569-493'
Comment 5 Jaco Kroon 2024-01-04 18:21:38 UTC
Created attachment 881480 [details, diff]
0001-chan_iax2-Fix-jitterbuffer-regression-prior-to-recei.patch

Please let's try the attached patch anyway.
Comment 6 Joseph 2024-01-04 18:54:06 UTC
I need a confirmation on how to patch ebuild, as I don't do it very often.

So, place the below text in file in dir: 
/var/db/repos/gentoo/net-misc/asterisk/file/

-----0001-chan_iax2-Fix-jitterbuffer-regression-prior-to-recei.patch--------

 channels/chan_iax2.c | 17 ++++++++++++++---
...
...
 	ast_mutex_unlock(&iaxsl[callno]);

-----0001-chan_iax2-Fix-jitterbuffer-regression-prior-to-recei.patch-----

edit "nano -w asterisk-16.30.1.ebuild" and add line:

PATCHES=(
        "${FILESDIR}/"0001-chan_iax2-Fix-jitterbuffer-regression-prior-to-recei.patch"
)

ebuild /var/db/repos/gentoo/net-misc/asterisk-16.30.1.ebuild manifest

Or I need to create one in: /var/db/repos/local/
Comment 7 Jaco Kroon 2024-01-04 19:02:06 UTC
For such one-offs I normally just go:

ebuild /path/to/asterisk-16.30.1.ebuild clean prepare
cd /var/tmp/portage/net-misc/asterisk-16.30.1/work/asterisk-16.30.1
patch -p1 < /path/to/patch
ebuild /path/to/asterisk-16.30.1.ebuild merge

I know it's not "right", but it works and allows for (fairly) quick testing of such patches.
Comment 8 Joseph 2024-01-05 02:14:08 UTC
I applied the patch as per your instruction above but it did not help, I am still getting this error when calling via IAX protocol between two asterisks:

-- Executing [4@internal:1] Dial("SIP/55-00000000", "IAX2/home_server:5xxxxxxx7@192.168.143.1/4,60,rw") in new stack
    -- Called IAX2/home_server:546987@192.168.143.1/4
[Jan  4 19:11:48] NOTICE[8670]: chan_iax2.c:4750 __auto_congest: Auto-congesting call due to slow response
    -- IAX2/192.168.143.1:4569-14006 is circuit-busy
    -- Hungup 'IAX2/192.168.143.1:4569-14006'
Comment 9 Joseph 2024-01-06 19:50:40 UTC
I set "iax2 set debug on” and try to make a call again here is the output:

IAX2 Debugging Enabled
Tx-Frame Retry[003] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00002ms SCall: 04888 DCall: 00000 192.168.143.1:4569
USERNAME : home_server
REFRESH : 60

syscon7_oldCLI>
syscon7_oldCLI>
== Using SIP RTP CoS mark 5
> 0x7fbc98024650 – Strict RTP learning after remote address set to: 10.0.0.110:6010
– Executing [4@internal:1] Dial(“SIP/55-00000001”, “IAX2/home_server:5xxxxx7@192.168.143.1/4,60,rw”) in new stack
– Called IAX2/home_server:5xxxxx7@192.168.143.1/4
Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00016ms SCall: 13669 DCall: 00000 192.168.143.1:4569
VERSION : 2
CALLED NUMBER : 4
CODEC_PREFS : (ulaw|gsm|ilbc|speex|g729|g723|alaw)
CALLING NUMBER : 55
CALLING PRESNTN : 0
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
CALLING ANI2 : 0
CALLING NAME : Joseph
LANGUAGE : en
USERNAME : home_server
FORMAT : 4
FORMAT2 : ulaw
CAPABILITY : 1807
CAPABILITY2 : Unknown
ADSICPE : 2
DATE TIME : 2024-01-06 12:40:50

Tx-Frame Retry[001] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00016ms SCall: 13669 DCall: 00000 192.168.143.1:4569
VERSION : 2
CALLED NUMBER : 4
CODEC_PREFS : (ulaw|gsm|ilbc|speex|g729|g723|alaw)
CALLING NUMBER : 55
CALLING PRESNTN : 0
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
CALLING ANI2 : 0
CALLING NAME : Joseph
LANGUAGE : en
USERNAME : home_server
FORMAT : 4
FORMAT2 : ulaw
CAPABILITY : 1807
CAPABILITY2 : Unknown
ADSICPE : 2
DATE TIME : 2024-01-06 12:40:50

[Jan 6 12:40:54] NOTICE[3580]: chan_iax2.c:4750 __auto_congest: Auto-congesting call due to slow response
– IAX2/192.168.143.1:4569-13669 is circuit-busy
– Hungup ‘IAX2/192.168.143.1:4569-13669’
Tx-Frame Retry[000] – OSeqno: 001 ISeqno: 000 Type: IAX Subclass: HANGUP
Timestamp: 04016ms SCall: 13669 DCall: 00000 192.168.143.1:4569
CAUSE CODE : 0

== Everyone is busy/congested at this time (1:0/1/0)
– Executing [4@internal:2] Hangup(“SIP/55-00000001”, “”) in new stack
== Spawn extension (internal, 4, 2) exited non-zero on ‘SIP/55-00000001’
Tx-Frame Retry[001] – OSeqno: 001 ISeqno: 000 Type: IAX Subclass: HANGUP
Timestamp: 04016ms SCall: 13669 DCall: 00000 192.168.143.1:4569
CAUSE CODE : 0

Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00002ms SCall: 06960 DCall: 00000 192.168.143.1:4569
USERNAME : home_server
REFRESH : 60

Tx-Frame Retry[002] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00016ms SCall: 13669 DCall: 00000 192.168.143.1:4569
VERSION : 2
CALLED NUMBER : 4
CODEC_PREFS : (ulaw|gsm|ilbc|speex|g729|g723|alaw)
CALLING NUMBER : 55
CALLING PRESNTN : 0
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
CALLING ANI2 : 0
CALLING NAME : Joseph
LANGUAGE : en
USERNAME : home_server
FORMAT : 4
FORMAT2 : ulaw
CAPABILITY : 1807
CAPABILITY2 : Unknown
ADSICPE : 2
DATE TIME : 2024-01-06 12:40:50

Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00008ms SCall: 15461 DCall: 00000 208.100.60.51:4569

Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG
Timestamp: 00008ms SCall: 00001 DCall: 15461 208.100.60.51:4569
Tx-Frame Retry[-01] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00008ms SCall: 15461 DCall: 00001 208.100.60.51:4569
Tx-Frame Retry[001] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00002ms SCall: 06960 DCall: 00000 192.168.143.1:4569
USERNAME : home_server
REFRESH : 60

Any hint on what causing this error, “chan_iax2.c:4750 __auto_congest: Auto-congesting call due to slow response”
As I’ve mention before IAX (same dial plan) works perfectly on on Asterisk-16.16 but on Asterisk-16.30.1 I’m getting this error.
Comment 10 Joseph 2024-01-06 20:08:55 UTC
I think we can close this bug.  It was an error on my part.
Since Asterisk IAX communicate with remote Asterisk over OpenVPN, I forgot to register/start openVPN on the test box that running Asteirsk-16.30.1 with remote server.
Comment 11 Jaco Kroon 2024-01-09 06:48:05 UTC
Hooray for vague errors :(.

Thanks for confirming that this was in fact a non-issue :).

qualify=yes is awesome btw.