X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcdr%2Fbroadsoft.pm;h=a6f4d01c09ba631db423d5458af1cecf6f51fe19;hb=a354fed1dedc65cf62e63d940e1cfb9c4364e6d3;hp=cc61002b6ae9ad53697ba1f07f0d2682c6786893;hpb=89a387874554b561f87d7ad5958f915f4feb95d6;p=freeside.git diff --git a/FS/FS/cdr/broadsoft.pm b/FS/FS/cdr/broadsoft.pm index cc61002b6..a6f4d01c0 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); + }}, ], );