Merged revisions 279227 via svnmerge from
authorRichard Mudgett <rmudgett@digium.com>
Fri, 23 Jul 2010 22:24:52 +0000 (22:24 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 23 Jul 2010 22:24:52 +0000 (22:24 +0000)
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
apps/app_queue.c

index 52ca6bd..60bf7b4 100644 (file)
@@ -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);
index 15eebdb..99a18b3 100644 (file)
@@ -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++;