Copy the peer CDR's userfield to the bridge CDR if it exists. This is necessary for the recordagentcalls option in chan_agent to store the recorded file name in the bridge CDR.

(closes issue #14590)
Reported by: msetim
Patches:
      queue_agent_userfield.patch uploaded by Laureano (license 265)
Tested by: Laureano, mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@230627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Nicholson
2009-11-20 20:53:06 +00:00
parent 182c57ce17
commit f32239bff8

View File

@@ -1744,6 +1744,9 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
chan_cdr->next = NULL;
ast_copy_string(bridge_cdr->lastapp, S_OR(chan->appl, ""), sizeof(bridge_cdr->lastapp));
ast_copy_string(bridge_cdr->lastdata, S_OR(chan->data, ""), sizeof(bridge_cdr->lastdata));
if (peer_cdr && !ast_strlen_zero(peer_cdr->userfield)) {
ast_copy_string(bridge_cdr->userfield, peer_cdr->userfield, sizeof(bridge_cdr->userfield));
}
} else {
/* better yet, in a xfer situation, find out why the chan cdr got zapped (pun unintentional) */
bridge_cdr = ast_cdr_alloc(); /* this should be really, really rare/impossible? */