From cab2253d34ce1caf383147fd1c2970233b1e45af Mon Sep 17 00:00:00 2001 From: Matthew Nicholson Date: Fri, 20 Nov 2009 21:01:10 +0000 Subject: [PATCH] Merged revisions 230627 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230627 | mnicholson | 2009-11-20 14:53:06 -0600 (Fri, 20 Nov 2009) | 8 lines 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/trunk@230628 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/main/features.c b/main/features.c index d062db9516..c2430a8364 100644 --- a/main/features.c +++ b/main/features.c @@ -2807,6 +2807,10 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast bridge_cdr = ast_cdr_dup_unique_swap(chan_cdr); 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? */