X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_pbx.pm;h=f8b96050d8c6e113209f8177a4eebc15e68a2d4a;hb=5c4da92af240d4a5d7f39e2478e344693817d5b7;hp=37ab174d2193603c9f941bc7c3ab7c7eb3a592e7;hpb=fb4ab1073f0d15d660c6cdc4e07afebf68ef3924;p=freeside.git diff --git a/FS/FS/svc_pbx.pm b/FS/FS/svc_pbx.pm index 37ab174d2..f8b96050d 100644 --- a/FS/FS/svc_pbx.pm +++ b/FS/FS/svc_pbx.pm @@ -283,6 +283,10 @@ with the chosen prefix. =item by_svcnum => 1: Select CDRs where the svcnum field matches, instead of title/charged_party. Normally this field is set after processing. +=item by_ip_addr => 'src' or 'dst': Select CDRs where the src_ip_addr or +dst_ip_addr field matches title. In this case, some special logic is applied +to allow title to indicate a range of IP addresses. + =item begin, end: Start and end of date range, as unix timestamp. =item cdrtypenum: Only return CDRs with this type number. @@ -309,6 +313,10 @@ sub get_cdrs { if ( $options{'by_svcnum'} ) { $hash{'svcnum'} = $self->svcnum; } + elsif ( $options{'by_ip_addr'} =~ /^src|dst$/) { + my $field = 'cdr.'.$options{'by_ip_addr'}.'_ip_addr'; + push @where, FS::cdr->ip_addr_sql($field, $self->title); + } else { #matching by title my $title = $self->title;