From ff2dc29d882e12817995ffeec8cd124151415bfa Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Fri, 23 Jul 2010 22:24:52 +0000 Subject: Merged revisions 279227 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r279227 | rmudgett | 2010-07-23 17:20:47 -0500 (Fri, 23 Jul 2010) | 21 lines Merged revisions 279207 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r279207 | rmudgett | 2010-07-23 17:11:23 -0500 (Fri, 23 Jul 2010) | 14 lines Merged revisions 279206 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r279206 | rmudgett | 2010-07-23 16:56:44 -0500 (Fri, 23 Jul 2010) | 7 lines SIP promiscuous redirect could fail to dial the redirect. The ast_channel was created with one variable to ast_request() but the call to ast_call() that initiates the outgoing call was using a different variable. The two variables are not equivalent if the call_forward string included a channel technology specifier. e.g., SIP/200 ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279245 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_dial.c | 9 ++++++--- apps/app_queue.c | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'apps') diff --git a/apps/app_dial.c b/apps/app_dial.c index 52ca6bd1d..60bf7b424 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -843,7 +843,9 @@ static void do_forward(struct chanlist *o, ast_ignore_cc(o->chan); ast_log(LOG_NOTICE, "Not accepting call completion offers from call-forward recipient %s\n", o->chan->name); } else - ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause); + ast_log(LOG_NOTICE, + "Forwarding failed to create channel to dial '%s/%s' (cause = %d)\n", + tech, stuff, cause); } if (!c) { ast_clear_flag64(o, DIAL_STILLGOING); @@ -909,8 +911,9 @@ static void do_forward(struct chanlist *o, ast_channel_unlock(in); - if (ast_call(c, tmpchan, 0)) { - ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan); + if (ast_call(c, stuff, 0)) { + ast_log(LOG_NOTICE, "Forwarding failed to dial '%s/%s'\n", + tech, stuff); ast_clear_flag64(o, DIAL_STILLGOING); ast_hangup(original); ast_hangup(c); diff --git a/apps/app_queue.c b/apps/app_queue.c index 15eebdb5d..99a18b36d 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3408,7 +3408,9 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte /* Setup parameters */ o->chan = ast_request(tech, in->nativeformats, in, stuff, &status); if (!o->chan) { - ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s'\n", tech, stuff); + ast_log(LOG_NOTICE, + "Forwarding failed to create channel to dial '%s/%s'\n", + tech, stuff); o->stillgoing = 0; numnochan++; } else { @@ -3458,8 +3460,9 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte update_connectedline = 1; - if (ast_call(o->chan, tmpchan, 0)) { - ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan); + if (ast_call(o->chan, stuff, 0)) { + ast_log(LOG_NOTICE, "Forwarding failed to dial '%s/%s'\n", + tech, stuff); ast_channel_unlock(o->chan); do_hang(o); numnochan++; -- cgit v1.2.3