X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-cdrrewrited;h=0b7f6883fbcd1b47eef43a56ea0a53a6c1c018ba;hp=198fbb5e71aadec5d43fbb932edcedd473cdd530;hb=caf4bbf142bc25fa583e258ac3e1724a9eee8d5b;hpb=bd73a121f43bea3bf2ea576be109a680827676b9 diff --git a/FS/bin/freeside-cdrrewrited b/FS/bin/freeside-cdrrewrited index 198fbb5e7..0b7f6883f 100644 --- a/FS/bin/freeside-cdrrewrited +++ b/FS/bin/freeside-cdrrewrited @@ -24,7 +24,8 @@ daemonize2(); $conf = new FS::Conf; -die "not running; cdr-asterisk_forward_rewrite conf is off\n" +die "not running; cdr-asterisk_forward_rewrite and cdr-charged_party_rewrite ". + " conf options are both off\n" unless _shouldrun(); #-- @@ -49,8 +50,10 @@ while (1) { ) { $found = 1; + my @status = (); - if ( $cdr->dstchannel =~ /^Local\/(\d+)/i && $1 ne $cdr->dst + if ( $conf->exists('cdr-asterisk_forward_rewrite') + && $cdr->dstchannel =~ /^Local\/(\d+)/i && $1 ne $cdr->dst ) { @@ -63,12 +66,21 @@ while (1) { $cdr->dst($dst); $cdr->amaflags(2); - $cdr->freesiderewritestatus('asterisk_forward'); + push @status, 'asterisk_forward'; - } else { - $cdr->freesiderewritestatus('skipped') } + if ( $conf->exists('cdr-charged_party_rewrite') && ! $cdr->charged_party ) { + + $cdr->set_charged_party; + push @status, 'charged_party'; + + } + + $cdr->freesiderewritestatus( + scalar(@status) ? join('/', @status) : 'skipped' + ); + my $error = $cdr->replace; if ( $error ) { @@ -88,7 +100,8 @@ while (1) { #-- sub _shouldrun { - $conf->exists('cdr-asterisk_forward_rewrite'); + $conf->exists('cdr-asterisk_forward_rewrite') + || $conf->exists('cdr-charged_party_rewrite'); } sub usage { @@ -105,8 +118,9 @@ freeside-cdrrewrited - Real-time daemon for CDR rewriting =head1 DESCRIPTION -Runs continuously, searches for CDRs and does forwarded-call rewriting if -the "cdr-asterisk_forward_rewrite" option is enabled. +Runs continuously, searches for CDRs and does forwarded-call rewriting if the +"cdr-asterisk_forward_rewrite" or "cdr-charged_party_rewrite" config option is +enabled. =head1 SEE ALSO