[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