aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xchannels/chan_agent.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 3a67573e5..5db7ded73 100755
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -375,6 +375,12 @@ static int agent_call(struct ast_channel *ast, char *dest, int timeout)
/* Call on this agent */
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "outgoing agentcall, to agent '%s', on '%s'\n", p->agent, p->chan->name);
+ if (p->chan->callerid)
+ free(p->chan->callerid);
+ if (ast->callerid)
+ p->chan->callerid = strdup(ast->callerid);
+ else
+ p->chan->callerid = NULL;
res = ast_call(p->chan, p->loginchan, 0);
CLEANUP(ast,p);
ast_mutex_unlock(&p->lock);