'header' => 2,
'type' => 'csv',
'import_fields' => [
- 'disposition', #Status
+ 'dcontext', #Status
'startdate', #Start, already a unix timestamp
skip(2), #Start date, Start time
'enddate', #End
- skip(6), #End date, End time
+ skip(4), #End date, End time
#Calling customer, Calling type
'src', #Calling number
skip(1), #Called type
- 'dst', #Called number
- skip(26), #Destination customer, Destination type
+
+ sub { my ($cdr, $dst) = @_;
+ $dst =~ s/\*//g;
+ $cdr->set('dst', $dst);
+ }, #Called number
+
+ skip(14), #Destination customer, Destination type
#Destination number
#Destination group ID, Destination group name,
#Inbound calling type,
#Inbound called type,
#Inbound called number,
#Inbound destination type, Inbound destination number,
- #Outbound calling type, Outbound calling number,
+ sub { my ($cdr, $data) = @_;
+ $data ||= 'none';
+
+ my $cdr_type = qsearchs('cdr_type', { 'cdrtypename' => $data } );
+ $cdr->set('cdrtypenum', $cdr_type->cdrtypenum) if $cdr_type;
+ } , #Outbound calling type,
+
+ skip(11), #Outbound calling number,
#Outbound called type, Outbound called number,
#Outbound destination type, Outbound destination number,
#Internal calling type, Internal calling number,
'duration', #Total seconds
skip(1), #Ring seconds
'billsec', #Billable seconds
- 'upstream_price', #Cost
- skip(1), #Cost including taxes
+ skip(2), #Cost
+ #Cost including taxes
'accountcode', #Billing customer
skip(3), #Billing customer name, Billing type, Billing reference
],
sub skip { map {''} (1..$_[0]) }
-#create CDR types with names matching in_calling_type valuesj - 'none'
-# (without the quotes) for blank
-our %cdr_type = ();
-sub in_calling_type {
- my ($record, $data) = @_;
-
- $data ||= 'none';
-
- my $cdr_type = exists($cdr_type{$data})
- ? $cdr_type{$data}
- : qsearchs('cdr_type', { 'cdrtypename' => $data } );
-
- $cdr_type{$data} = $cdr_type;
-
- $record->set('in_calling_type', $data); #for below
- $record->set('cdrtypenum', $cdr_type->cdrtypenum) if $cdr_type;
-
-}
-
1;