Package: asterisk-ooh323 Version: 1:13.14.0~dfsg-1 Severity: normal Dear Maintainer,
due to an incorrect use of ast_debug asterisk doesn't send back "alerting" over ooh323 channel if debug is enabled only to the channel (via "ooh323 set debug") and core debug is off. When both ooh323 debug and core debug are consistent (enabled or disabled) the call behavior is normal and asterisk sends back the alerting message. This happens because ooManualRingback is invoked as arg of ast_debug that executes only if core debug is enabled. A similar invocation is done for ooManualProgress. I've already opened the bug to upstream: https://issues.asterisk.org/jira/browse/ASTERISK-26893 waiting for an official solution I attach a very simple patch that solves the problem using ast_verb as an example. Regards, Marco -- System Information: Debian Release: 9.0 APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-1-amd64 (SMP w/1 CPU core) Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages asterisk-ooh323 depends on: ii asterisk 1:13.14.0~dfsg-1 ii libc6 2.24-9 asterisk-ooh323 recommends no packages. asterisk-ooh323 suggests no packages. -- no debconf information
--- asterisk-13.14.0~dfsg.orig/addons/chan_ooh323.c +++ asterisk-13.14.0~dfsg/addons/chan_ooh323.c @@ -1165,7 +1165,7 @@ static int ooh323_answer(struct ast_chan ast_channel_lock(ast); if (!p->alertsent) { if (gH323Debug) { - ast_debug(1, "Sending forced ringback for %s, res = %u\n", + ast_verb(0, "Sending forced ringback for %s, res = %u\n", callToken, ooManualRingback(callToken)); } else { ooManualRingback(callToken); @@ -1329,7 +1329,7 @@ static int ooh323_indicate(struct ast_ch if (ast_channel_state(ast) != AST_STATE_UP) { if (!p->progsent) { if (gH323Debug) { - ast_debug(1, "Sending manual progress for %s, res = %u\n", callToken, + ast_verb(0, "Sending manual progress for %s, res = %u\n", callToken, ooManualProgress(callToken)); } else { ooManualProgress(callToken); @@ -1342,7 +1342,7 @@ static int ooh323_indicate(struct ast_ch if (ast_channel_state(ast) == AST_STATE_RING || ast_channel_state(ast) == AST_STATE_RINGING) { if (!p->alertsent) { if (gH323Debug) { - ast_debug(1, "Sending manual ringback for %s, res = %u\n", + ast_verb(0, "Sending manual ringback for %s, res = %u\n", callToken, ooManualRingback(callToken)); } else {