Bug#859184: asterisk-ooh323: No "alert" on h323 channels if debug enabled only on module

Marco Giordani marco at giordani.bo.it
Fri Mar 31 08:58:07 UTC 2017


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
-------------- next part --------------
--- 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 {


More information about the Pkg-voip-maintainers mailing list