[asterisk-commits] murf: branch murf/CDRfix5 r67917 -
/team/murf/CDRfix5/res/res_features.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Jun 6 16:11:13 MST 2007
Author: murf
Date: Wed Jun 6 18:11:12 2007
New Revision: 67917
URL: http://svn.digium.com/view/asterisk?view=rev&rev=67917
Log:
Scenarios 4 and 5 now resolved. 6 might be OK
Modified:
team/murf/CDRfix5/res/res_features.c
Modified: team/murf/CDRfix5/res/res_features.c
URL: http://svn.digium.com/view/asterisk/team/murf/CDRfix5/res/res_features.c?view=diff&rev=67917&r1=67916&r2=67917
==============================================================================
--- team/murf/CDRfix5/res/res_features.c (original)
+++ team/murf/CDRfix5/res/res_features.c Wed Jun 6 18:11:12 2007
@@ -1668,6 +1668,7 @@
char peer_featurecode[FEATURE_MAX_LEN + 1]="";
char orig_channame[AST_MAX_EXTENSION];
char orig_peername[AST_MAX_EXTENSION];
+
int res;
int diff;
int hasfeatures=0;
@@ -1928,14 +1929,19 @@
/* last minute mods -- a transfer will change the CHAN to point to a different
channel; recopy the src, clid info for CHAN into the bridge cdr now */
- if (strcmp(orig_channame,chan->name) != 0) {
+ if (strcmp(orig_channame,chan->name) != 0 && (strlen(chan->name) <= 8 || strcmp(chan->name+strlen(chan->name)-8 ,"<ZOMBIE>") != 0)) {
ast_verbose(VERBOSE_PREFIX_3 "EO Bridge: Chan name changed. %s -> %s\n", orig_channame, chan->name);
ast_copy_string(bridge_cdr->channel, chan->name, sizeof(bridge_cdr->channel));
ast_copy_string(bridge_cdr->uniqueid, chan->uniqueid, sizeof(bridge_cdr->uniqueid));
ast_cdr_setcid(bridge_cdr, chan);
ast_copy_string(bridge_cdr->accountcode, chan->accountcode, sizeof(bridge_cdr->accountcode));
- }
+ } else if (strcmp(orig_channame,chan->name) != 0 && strlen(chan->name) > 8 && strcmp(chan->name+strlen(chan->name)-8 ,"<ZOMBIE>") == 0) {
+ /* modify the lastapp, lastdata to reflect the Blind Xfer */
+ strcpy(bridge_cdr->lastapp,"BLINDXFER");
+ bridge_cdr->lastdata[0] = 0;
+ }
+
if (chan->cdr && strcmp(orig_channame,chan->name) != 0 && !chan->masqr) { /* for when bridge ends after only 1 HF (blind assisted xfer) */
ast_verbose(VERBOSE_PREFIX_3 "Chan name change: blind xfer implied, reset start/answer\n");
More information about the asterisk-commits
mailing list