diff options
-rwxr-xr-x | channels/chan_agent.c | 6 |
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); |