X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-cdrrewrited;h=d117f569e92c0a966cad571946c2c40d290b7eff;hb=72c6f125423327ed4e89170d484bc5e4a5760bf2;hp=1745d67a0ab79985911edb1b8d8ad11ecce9debe;hpb=f8ab406212ded0c4d3b733ae20d8ba0ab10691ae;p=freeside.git diff --git a/FS/bin/freeside-cdrrewrited b/FS/bin/freeside-cdrrewrited index 1745d67a0..d117f569e 100644 --- a/FS/bin/freeside-cdrrewrited +++ b/FS/bin/freeside-cdrrewrited @@ -63,12 +63,11 @@ while (1) { foreach my $cdr ( qsearch( { 'table' => 'cdr', - 'extra_sql' => 'FOR UPDATE', #XXX overwritten by opt below...would fixing this break anything? 'hashref' => {}, 'extra_sql' => 'WHERE freesidestatus IS NULL '. ' AND freesiderewritestatus IS NULL '. $extra_sql. - ' LIMIT 1024', #arbitrary, but don't eat too much memory + ' LIMIT 1024 FOR UPDATE', #arbitrary, but don't eat too much memory } ) ) { @@ -88,7 +87,7 @@ while (1) { if ($isdup) { #we only act on this cdr, not touching previous dupes #if a dupe somehow creeped in previously, too late to fix it - $cdr->freesidestatus('done'); #prevent it from being billed + $cdr->freesidestatus('skipped'); #prevent it from being billed push(@status,'duplicate'); } } @@ -219,6 +218,12 @@ while (1) { } + if ( $conf->exists('cdr-userfield_dnis_rewrite') and + $cdr->userfield =~ /DNIS=(\d+)/ ) { + $cdr->dst($1); + push @status, 'userfield_dnis'; + } + if ( $conf->exists('cdr-intl_to_domestic_rewrite') and $cdr->dst =~ /^(011)(\d{0,7})$/ ) { $cdr->dst($2); @@ -261,6 +266,7 @@ sub _shouldrun { || $conf->exists('cdr-taqua-accountcode_rewrite') || $conf->exists('cdr-taqua-callerid_rewrite') || $conf->exists('cdr-intl_to_domestic_rewrite') + || $conf->exists('cdr-userfield_dnis_rewrite') || $conf->exists('cdr-skip_duplicate_rewrite') || 0 ; @@ -287,7 +293,7 @@ of the following config options are enabled: =item cdr-skip_duplicate_rewrite -Marks as 'done' (prevents billing for) any CDRs with +Marks as 'skipped' (prevents billing for) any CDRs with a src, dst and calldate identical to an existing CDR =item cdr-asterisk_australia_rewrite