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