X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg%2Fvoip_cdr.pm;h=2d8c359cf2ec191853e360ccd25d0a733d471803;hp=039690baf1eb0111193c3bac37a3860bc0d0fec1;hb=deb45cd5e78b1d35548047b003d85c4f45dc48e3;hpb=9aaec3cc37e2ac6ae7cbd9b99d5add3c45cf9f45

diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm
index 039690baf..2d8c359cf 100644
--- a/FS/FS/part_pkg/voip_cdr.pm
+++ b/FS/FS/part_pkg/voip_cdr.pm
@@ -198,6 +198,9 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash',
     'skip_dcontext' => { 'name' => 'Do not charge for CDRs where dcontext is set to any of these (comma-separated) values: ',
                        },
 
+    'skip_dcontext_prefix' => { 'name' => 'Do not charge for CDRs where dcontext starts with: ',
+                       },
+
     'skip_dcontext_suffix' => { 'name' => 'Do not charge for CDRs where dcontext ends with: ',
                        },
 
@@ -347,7 +350,8 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash',
                        use_cdrtypenum ignore_cdrtypenum
                        use_calltypenum ignore_calltypenum
                        ignore_disposition disposition_in disposition_prefix
-                       skip_dcontext skip_dcontext_suffix skip_dst_prefix 
+                       skip_dcontext skip_dcontext_prefix skip_dcontext_suffix
+                       skip_dst_prefix 
                        skip_dstchannel_prefix skip_src_length_more 
                        noskip_src_length_accountcode_tollfree
                        accountcode_tollfree_ratenum accountcode_tollfree_field
@@ -620,6 +624,12 @@ sub check_chargable {
     if $self->option_cacheable('skip_dcontext') =~ /\S/
     && grep { $cdr->dcontext eq $_ } split(/\s*,\s*/, $self->option_cacheable('skip_dcontext'));
 
+  my $len_dcontext_prefix =
+    length($self->option_cacheable('skip_dcontext_prefix'));
+  return "dcontext starts with ". $self->option_cacheable('skip_dcontext_prefix')
+    if $len_dcontext_prefix
+    && substr($cdr->dcontext,0,$len_dcontext_prefix) eq $self->option_cacheable('skip_dcontext_prefix');
+
   my $len_suffix = length($self->option_cacheable('skip_dcontext_suffix'));
   return "dcontext ends with ". $self->option_cacheable('skip_dcontext_suffix')
     if $len_suffix