package FS::svc_phone;
+use base qw( FS::svc_Domain_Mixin FS::svc_PBX_Mixin
+ FS::location_Mixin
+ FS::svc_Common
+ );
use strict;
-use base qw( FS::svc_Domain_Mixin FS::location_Mixin FS::svc_Common );
use vars qw( $DEBUG $me @pw_set $conf $phone_name_max
$passwordmin $passwordmax
);
use FS::PagedSearch qw( psearch );
use FS::Msgcat qw(gettext);
use FS::part_svc;
-use FS::phone_device;
use FS::svc_pbx;
use FS::svc_domain;
use FS::cust_location;
=cut
-sub phone_device {
- my $self = shift;
- qsearch('phone_device', { 'svcnum' => $self->svcnum } );
-}
-
#override location_Mixin version cause we want to try the cust_pkg location
#in between us and cust_main
# XXX what to do in the unlinked case??? return a pseudo-object that returns
=item status => "" (or "processing-tiered", "done"): Return only CDRs with that processing status.
-=item inbound => 1: Return CDRs for inbound calls. With "status", will filter
-on inbound processing status.
+=item inbound => 1: Return CDRs for inbound calls (that is, those that match
+on 'dst'). With "status", will filter on inbound processing status.
=item default_prefix => "XXX": Also accept the phone number of the service prepended
with the chosen prefix.
=item calltypenum: Only return CDRs with this call type.
-=item disable_src => 1: Only match on "charged_party", not "src".
+=item disable_src => 1: Only match on 'charged_party', not 'src'.
+
+=item disable_charged_party => 1: Only match on 'src', not 'charged_party'.
=item nonzero: Only return CDRs where duration > 0.
} else {
- @fields = ( 'charged_party' );
- push @fields, 'src' if !$options{'disable_src'};
+ push @fields, 'charged_party' unless $options{'disable_charged_party'};
+ push @fields, 'src' unless $options{'disable_src'};
$hash{'freesidestatus'} = $options{'status'}
if exists($options{'status'});
}