fix TeleAPI import (what kind of crack was Christopher smoking that he couldn't fix...
[freeside.git] / FS / FS / cdr / enswitch.pm
index a19b166..8026293 100644 (file)
@@ -12,26 +12,36 @@ use FS::cdr_type;
   '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(4),        #End date, End time
                     #Calling customer, Calling type
-    'src',          #Calling number
-    'clid',         #Calling name
+    'src',          #Calling number     
     skip(1),        #Called type
-    'dst',          #Called number
-    skip(5),        #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,
-    \&in_calling_type,  #Inbound calling type,
-    \&in_calling_num,   #Inbound calling number,
-    '',                 #Inbound called type,
-    \&in_called_num,    #Inbound called number,
-    skip(14),
+                   #Inbound calling type,
+                   #Inbound calling number,
+                    #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,
@@ -40,7 +50,8 @@ use FS::cdr_type;
     'duration',     #Total seconds
     skip(1),        #Ring seconds
     'billsec',      #Billable seconds
-    'upstream_price', #Cost
+    skip(2),        #Cost
+                   #Cost including taxes
     'accountcode',  #Billing customer
     skip(3),        #Billing customer name, Billing type, Billing reference
   ],
@@ -48,33 +59,4 @@ use FS::cdr_type;
 
 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;
-
-}
-
-sub in_calling_num {
-  my ($record, $data) = @_;
-  $record->src($data) if ( ($record->in_calling_type || '') eq 'external' );
-}
-
-sub in_called_num {
-  my ($record, $data) = @_;
-  $record->dst($data) if ( ($record->in_calling_type || '') eq 'external' );
-}
-
 1;