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 {