fix TeleAPI import (what kind of crack was Christopher smoking that he couldn't fix...
[freeside.git] / FS / FS / cdr / broadsoft.pm
index 423e96f..a6f4d01 100644 (file)
@@ -10,7 +10,7 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker );
   'weight'        => 500,
   'header'        => 1,     #0 default, set to 1 to ignore the first line, or
                             # to higher numbers to ignore that number of lines
-  'type'          => 'csv', #csv (default), fixedlength or xls
+  'type'          => 'csv',
   'sep_char'      => ',',   #for csv, defaults to ,
   'disabled'      => 0,     #0 default, set to 1 to disable
 
@@ -22,8 +22,8 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker );
           $param->{skiprow} = 1 if lc($data) ne 'normal';
           '' },                                   #  3: type
             
-    trim('accountcode'),                          #  4: userNumber
     skip(2),
+    'dcontext',                                          #  6: direction
     trim('src'),                                  #  7: callingNumber
     skip(1),
     trim('dst'),                                  #  9: calledNumber
@@ -36,7 +36,14 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker );
             'ANSWERED' : 'NO ANSWER') },          # 12: answerIndicator
     _cdr_date_parser_maker('answerdate'),         # 13: answerTime
     _cdr_date_parser_maker('enddate'),            # 14: releaseTime
-    
+    skip(17),
+    sub { my($cdr, $accountcode) = @_;
+    if ($cdr->is_tollfree){
+       my $dst = substr($cdr->dst,0,32);
+        $cdr->set('accountcode', $dst);
+    } else {
+        $cdr->set('accountcode', $accountcode);
+    }},
   ],
 
 );