From: Ivan Kohler Date: Wed, 29 Jun 2016 21:29:44 +0000 (-0700) Subject: add skip_dcontext_suffix to skip CDRs with dcontext ending in a definable string... X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=674cb2d9d7105f4cc2871539b2e9f7088cdaa750;hp=54eead497d6a8acea3ad8575d194fe027672dbf1 add skip_dcontext_suffix to skip CDRs with dcontext ending in a definable string, RT#71529 --- diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm index 24c4cf041..0ff4e5469 100644 --- a/FS/FS/part_pkg/voip_cdr.pm +++ b/FS/FS/part_pkg/voip_cdr.pm @@ -185,7 +185,10 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash', 'skip_dst_prefix' => { 'name' => 'Do not charge for CDRs where the destination number starts with any of these values: ', }, - 'skip_dcontext' => { 'name' => 'Do not charge for CDRs where the dcontext is set to any of these (comma-separated) values: ', + 'skip_dcontext' => { 'name' => 'Do not charge for CDRs where dcontext is set to any of these (comma-separated) values: ', + }, + + 'skip_dcontext_suffix' => { 'name' => 'Do not charge for CDRs where dcontext ends with: ', }, 'skip_dstchannel_prefix' => { 'name' => 'Do not charge for CDRs where the dstchannel starts with:', @@ -588,6 +591,11 @@ sub check_chargable { if $self->option_cacheable('skip_dcontext') =~ /\S/ && grep { $cdr->dcontext eq $_ } split(/\s*,\s*/, $self->option_cacheable('skip_dcontext')); + my $len_suffix = length($self->option_cacheable('skip_dcontext_suffix')); + return "dcontext ends with ". $self->option_cacheable('skip_dcontext_suffix') + if $len_suffix + && substr($cdr->dcontext,-$len_suffix,$len_suffix) eq $self->option_cacheable('skip_dcontext_suffix'); + my $len_prefix = length($self->option_cacheable('skip_dstchannel_prefix')); return "dstchannel starts with ". $self->option_cacheable('skip_dstchannel_prefix') if $len_prefix