X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcdr%2Fbroadsoft.pm;h=a6f4d01c09ba631db423d5458af1cecf6f51fe19;hp=423e96fcc080ac8d8b09e64761ee3d0492057236;hb=dc83512c36dc6bea2585abada4f88d714c600e55;hpb=40a7b3dc653e099f7bd0bd762b649b04c4432db2 diff --git a/FS/FS/cdr/broadsoft.pm b/FS/FS/cdr/broadsoft.pm index 423e96fcc..a6f4d01c0 100644 --- a/FS/FS/cdr/broadsoft.pm +++ b/FS/FS/cdr/broadsoft.pm @@ -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); + }}, ], );