if ( $rating_method eq 'prefix' ) {
my $da_rewrote = 0;
- if ( scalar(@dirass) && $cdr->dst && grep { $cdr->dst eq $_ } @dirass ){
+ if ( length($cdr->dst) && grep { $cdr->dst eq $_ } @dirass ){
$cdr->dst('411');
$da_rewrote = 1;
}
if ( $rate_detail ) {
+ $rate_region = $rate_detail->dest_region;
+ $regionnum = $rate_region->regionnum;
warn " found rate for regionnum $regionnum ".
"and rate detail $rate_detail\n"
if $DEBUG;
- $rate_region = $rate_detail->dest_region;
- $regionnum = $rate_region->regionnum;
} elsif ( $ignore_unrateable ) {
if $opt{'use_disposition_taqua'} && $cdr->disposition != 100;
return "carrierid != $opt{'use_carrierid'}"
- if $opt{'use_carrierid'}
- && $cdr->carrierid != $opt{'use_carrierid'}
+ if length($opt{'use_carrierid'})
+ && $cdr->carrierid ne $opt{'use_carrierid'} #ne otherwise 0 matches ''
&& ! $flags{'da_rewrote'};
return "cdrtypenum != $opt{'use_cdrtypenum'}"
- if $opt{'use_cdrtypenum'}
- && $cdr->cdrtypenum != $opt{'use_cdrtypenum'};
+ if length($opt{'use_cdrtypenum'})
+ && $cdr->cdrtypenum ne $opt{'use_cdrtypenum'}; #ne otherwise 0 matches ''
#all right then, rate it
'';