[asterisk-commits] qwell: branch 1.4 r289338 - in /branches/1.4: main/channel.c res/res_features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Sep 29 15:56:29 CDT 2010


Author: qwell
Date: Wed Sep 29 15:56:26 2010
New Revision: 289338

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=289338
Log:
Allow a manager originate to succeed on forwarded devices.

The timeout to wait for an answer was being set to 0 when a device forwarded to another
extension.  We don't always need the timeout set like this, so make it an optional
parameter, and don't use it in this case.

ABE-2544

Modified:
    branches/1.4/main/channel.c
    branches/1.4/res/res_features.c

Modified: branches/1.4/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/main/channel.c?view=diff&rev=289338&r1=289337&r2=289338
==============================================================================
--- branches/1.4/main/channel.c (original)
+++ branches/1.4/main/channel.c Wed Sep 29 15:56:26 2010
@@ -3417,6 +3417,7 @@
 	struct ast_channel *new = NULL;
 	char *data, *type;
 	int cause = 0;
+	int res;
 
 	/* gather data and request the new forward channel */
 	ast_copy_string(tmpchan, orig->call_forward, sizeof(tmpchan));
@@ -3467,7 +3468,11 @@
 	ast_channel_unlock(orig);
 
 	/* call new channel */
-	if ((*timeout = ast_call(new, data, 0))) {
+	res = ast_call(new, data, 0);
+	if (timeout) {
+		*timeout = res;
+	}
+	if (res) {
 		ast_log(LOG_NOTICE, "Unable to call forward to channel %s/%s\n", type, (char *)data);
 		ast_hangup(orig);
 		ast_hangup(new);
@@ -3528,7 +3533,7 @@
 			if (timeout > -1)
 				timeout = res;
 			if (!ast_strlen_zero(chan->call_forward)) {
-				if (!(chan = ast_call_forward(NULL, chan, &timeout, format, oh, outstate))) {
+				if (!(chan = ast_call_forward(NULL, chan, NULL, format, oh, outstate))) {
 					return NULL;
 				}
 				continue;

Modified: branches/1.4/res/res_features.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/res/res_features.c?view=diff&rev=289338&r1=289337&r2=289338
==============================================================================
--- branches/1.4/res/res_features.c (original)
+++ branches/1.4/res/res_features.c Wed Sep 29 15:56:26 2010
@@ -1505,7 +1505,7 @@
 
 				if (chan && (chan == active_channel)) {
 					if (!ast_strlen_zero(chan->call_forward)) {
-						if (!(chan = ast_call_forward(caller, chan, &to, format, NULL, outstate))) {
+						if (!(chan = ast_call_forward(caller, chan, NULL, format, NULL, outstate))) {
 							return NULL;
 						}
 						continue;




More information about the asterisk-commits mailing list