projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
shorter names and rearranged weights for a brighter tommorow^W^Wbetter price plan...
[freeside.git]
/
FS
/
FS
/
part_pkg
/
voip_cdr.pm
diff --git
a/FS/FS/part_pkg/voip_cdr.pm
b/FS/FS/part_pkg/voip_cdr.pm
index
ea16031
..
8720bb6
100644
(file)
--- a/
FS/FS/part_pkg/voip_cdr.pm
+++ b/
FS/FS/part_pkg/voip_cdr.pm
@@
-27,6
+27,7
@@
tie my %rating_method, 'Tie::IxHash',
%info = (
'name' => 'VoIP rating by plan of CDR records in an internal (or external) SQL table',
%info = (
'name' => 'VoIP rating by plan of CDR records in an internal (or external) SQL table',
+ 'shortname' => 'VoIP/telco CDR rating (standard)',
'fields' => {
'setup_fee' => { 'name' => 'Setup fee for this package',
'default' => 0,
'fields' => {
'setup_fee' => { 'name' => 'Setup fee for this package',
'default' => 0,
@@
-207,7
+208,7
@@
sub calc_recur {
});
#
});
#
- die "Can't find rate for call $to_or_from +$countrycode $
\number
n"
+ die "Can't find rate for call $to_or_from +$countrycode $
number\
n"
unless $rate_prefix;
$regionnum = $rate_prefix->regionnum;
unless $rate_prefix;
$regionnum = $rate_prefix->regionnum;
@@
-278,9
+279,10
@@
sub calc_recur {
unless exists $included_min{$regionnum};
my $granularity = $rate_detail->sec_granularity;
unless exists $included_min{$regionnum};
my $granularity = $rate_detail->sec_granularity;
- my $seconds = $cdr->billsec; #
|
ength($cdr->billsec) ? $cdr->billsec : $cdr->duration;
+ my $seconds = $cdr->billsec; #
l
ength($cdr->billsec) ? $cdr->billsec : $cdr->duration;
$seconds += $granularity - ( $seconds % $granularity )
$seconds += $granularity - ( $seconds % $granularity )
- if $granularity; # 0 is per call
+ if $seconds # don't granular-ize 0 billsec calls (bills them)
+ && $granularity; # 0 is per call
my $minutes = sprintf("%.1f", $seconds / 60);
$minutes =~ s/\.0$// if $granularity == 60;
my $minutes = sprintf("%.1f", $seconds / 60);
$minutes =~ s/\.0$// if $granularity == 60;