summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-06-28 22:32:23 -0700
committerIvan Kohler <ivan@freeside.biz>2014-06-28 22:32:23 -0700
commit752c8c301644253af3ed8a316e93345bbe016c45 (patch)
treeb0d2774f7d35e915c1cc0e6a29e0dff032ec02fc
parentd38101d94807b4d7cff6bbff537cabe3b9837f51 (diff)
australian toll-free, RT#29638
-rw-r--r--FS/FS/Conf.pm10
-rw-r--r--FS/FS/cdr.pm7
2 files changed, 16 insertions, 1 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index f4027374a..bb12ca503 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -5762,6 +5762,16 @@ and customer address. Include units.',
'type' => 'checkbox',
},
+ {
+ 'key' => 'tollfree-country',
+ 'section' => 'telephony',
+ 'description' => 'Country / region for toll-free recognition',
+ 'type' => 'select',
+ 'select_hash' => [ '' => 'NANPA (US/Canada)',
+ 'AU' => 'Australia',
+ ],
+ },
+
{ key => "apacheroot", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachine", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachines", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm
index 0771a7b32..8113412c1 100644
--- a/FS/FS/cdr.pm
+++ b/FS/FS/cdr.pm
@@ -368,7 +368,12 @@ to inspect other field.
sub is_tollfree {
my $self = shift;
my $field = scalar(@_) ? shift : 'dst';
- ( $self->$field() =~ /^(\+?1)?8(8|([02-7])\3)/ ) ? 1 : 0;
+ my $country = $conf->config('tollfree-country');
+ if ( $country eq 'AU' ) {
+ ( $self->$field() =~ /^(\+?64)?(800|508)/ ) ? 1 : 0;
+ } else { #NANPA (US/Canaada)
+ ( $self->$field() =~ /^(\+?1)?8(8|([02-7])\3)/ ) ? 1 : 0;
+ }
}
=item set_charged_party