Give outbound channels callerid of their extension *after* calling (bug #2489)
authorMark Spencer <markster@digium.com>
Sun, 16 Jan 2005 07:58:51 +0000 (07:58 +0000)
committerMark Spencer <markster@digium.com>
Sun, 16 Jan 2005 07:58:51 +0000 (07:58 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4810 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_dial.c

index 0cbc302..2828262 100755 (executable)
@@ -336,6 +336,9 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu
                                                        ast_hangup(o->chan);
                                                        o->chan = NULL;
                                                        numnochan++;
+                                               } else {
+                                                       /* After calling, set callerid to extension */
+                                                       ast_set_callerid(o->chan, ast_strlen_zero(in->macroexten) ? in->exten : in->macroexten, NULL, NULL);
                                                }
                                        }
                                        /* Hangup the original channel now, in case we needed it */
@@ -912,9 +915,11 @@ static int dial_exec(struct ast_channel *chan, void *data)
                        tmp->chan = NULL;
                        cur = rest;
                        continue;
-               } else
+               } else {
                        if (option_verbose > 2)
                                ast_verbose(VERBOSE_PREFIX_3 "Called %s\n", numsubst);
+                       ast_set_callerid(tmp->chan, ast_strlen_zero(chan->macroexten) ? chan->exten : chan->macroexten, NULL, NULL);
+               }
                /* Put them in the list of outgoing thingies...  We're ready now. 
                   XXX If we're forcibly removed, these outgoing calls won't get
                   hung up XXX */