[freeside-commits] branch master updated. c27f80ec10180391d00286bf50dfbf09a96c1b00
Ivan
ivan at 420.am
Tue Dec 10 14:52:09 PST 2013
The branch, master has been updated
via c27f80ec10180391d00286bf50dfbf09a96c1b00 (commit)
from 697ce57e2b1f31adb3b938dead83e160e8d115c0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c27f80ec10180391d00286bf50dfbf09a96c1b00
Author: Ivan Kohler <ivan at freeside.biz>
Date: Tue Dec 10 14:52:08 2013 -0800
add option to rate CDRs with toll-free accountcodes on src, RT#24031
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm
index bf508dd..5658be9 100644
--- a/FS/FS/cdr.pm
+++ b/FS/FS/cdr.pm
@@ -680,8 +680,19 @@ sub rate_prefix {
# (or calling station id for toll free calls)
###
+ my $eff_ratenum = $self->is_tollfree('accountcode')
+ ? $part_pkg->option_cacheable('accountcode_tollfree_ratenum')
+ : '';
+
my( $to_or_from, $column );
- if ( $self->is_tollfree && ! $part_pkg->option_cacheable('disable_tollfree') )
+ if(
+ ( $self->is_tollfree
+ && ! $part_pkg->option_cacheable('disable_tollfree')
+ )
+ or ( $eff_ratenum
+ && $part_pkg->option_cacheable('accountcode_tollfree_field') eq 'src'
+ )
+ )
{ #tollfree call
$to_or_from = 'from';
$column = 'src';
@@ -702,10 +713,6 @@ sub rate_prefix {
#asterisks here causes inserting the detail to barf, so:
$pretty_dst =~ s/\*//g;
- my $eff_ratenum = $self->is_tollfree('accountcode')
- ? $part_pkg->option_cacheable('accountcode_tollfree_ratenum')
- : '';
-
my $ratename = '';
my $intrastate_ratenum = $part_pkg->option_cacheable('intrastate_ratenum');
if ( $intrastate_ratenum && !$self->is_tollfree ) {
diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm
index f23b7a7..1a99bd7 100644
--- a/FS/FS/part_pkg/voip_cdr.pm
+++ b/FS/FS/part_pkg/voip_cdr.pm
@@ -61,6 +61,11 @@ tie my %detail_formats, 'Tie::IxHash',
FS::cdr::invoice_formats()
;
+tie my %accountcode_tollfree_field, 'Tie::IxHash',
+ 'dst' => 'Destination (dst)',
+ 'src' => 'Source (src)',
+;
+
%info = (
'name' => 'VoIP rating by plan of CDR records in an internal (or external) SQL table',
'shortname' => 'VoIP/telco CDR rating (standard)',
@@ -211,6 +216,12 @@ tie my %detail_formats, 'Tie::IxHash',
'empty_label' => '',
},
+ 'accountcode_tollfree_field' => {
+ 'name' => 'When using an alternate rate plan for toll-free accountcodes, the CDR field to use in rating calculations',
+ 'type' => 'select',
+ 'select_options' => \%accountcode_tollfree_field,
+ },
+
'skip_dst_length_less' => { 'name' => 'Do not charge for CDRs where the destination is less than this many digits:',
},
@@ -330,7 +341,7 @@ tie my %detail_formats, 'Tie::IxHash',
skip_dcontext skip_dst_prefix
skip_dstchannel_prefix skip_src_length_more
noskip_src_length_accountcode_tollfree
- accountcode_tollfree_ratenum
+ accountcode_tollfree_ratenum accountcode_tollfree_field
skip_dst_length_less
noskip_dst_length_accountcode_tollfree
skip_lastapp
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cdr.pm | 17 ++++++++++++-----
FS/FS/part_pkg/voip_cdr.pm | 13 ++++++++++++-
2 files changed, 24 insertions(+), 6 deletions(-)
More information about the freeside-commits
mailing list