X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcdr%2Fbroadsoft.pm;h=9477351ae45fe20e79206d9990091786826f16f4;hb=25f8f30663974eddec8718386f1e5edc955d9af4;hp=423e96fcc080ac8d8b09e64761ee3d0492057236;hpb=fb4ab1073f0d15d660c6cdc4e07afebf68ef3924;p=freeside.git diff --git a/FS/FS/cdr/broadsoft.pm b/FS/FS/cdr/broadsoft.pm index 423e96fcc..9477351ae 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,13 @@ 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){ + $cdr->set('accountcode', $cdr->dst); + } else { + $cdr->set('accountcode', $accountcode); + }}, ], );