Index: cdr.c =================================================================== --- cdr.c (revision 71230) +++ cdr.c (working copy) @@ -616,12 +616,16 @@ ast_copy_string(to->dcontext, from->dcontext, sizeof(to->dcontext)); from->dcontext[0] = 0; /* theft */ } - if (ast_strlen_zero(to->dstchannel) && !ast_strlen_zero(from->dstchannel)) { + if (strncasecmp(from->dstchannel,"Agent/",6) == 0) { ast_copy_string(to->dstchannel, from->dstchannel, sizeof(to->dstchannel)); + } else if (ast_strlen_zero(to->dstchannel) && !ast_strlen_zero(from->dstchannel)) { + ast_copy_string(to->dstchannel, from->dstchannel, sizeof(to->dstchannel)); from->dstchannel[0] = 0; /* theft */ } - if (ast_strlen_zero(to->channel) && !ast_strlen_zero(from->channel)) { + if (strncasecmp(from->channel,"Agent/",6) == 0) { ast_copy_string(to->channel, from->channel, sizeof(to->channel)); + } else if (ast_strlen_zero(to->channel) && !ast_strlen_zero(from->channel)) { + ast_copy_string(to->channel, from->channel, sizeof(to->channel)); from->channel[0] = 0; /* theft */ } if (ast_strlen_zero(to->src) && !ast_strlen_zero(from->src)) {