X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=inline;f=FS%2FFS%2Fcdr%2Fbroadsoft.pm;h=ab4815095c94229cb3b598c3da03539cc720b323;hb=2c7c526d0485fbd2eaf59b54ff5fe7a1d4e01970;hp=d9530bb1311f5eff217eeec48c67d4d506a64ca1;hpb=ffb5f3014a6dbb1d84eccf2f7ee1af7378471005;p=freeside.git diff --git a/FS/FS/cdr/broadsoft.pm b/FS/FS/cdr/broadsoft.pm index d9530bb13..ab4815095 100644 --- a/FS/FS/cdr/broadsoft.pm +++ b/FS/FS/cdr/broadsoft.pm @@ -23,6 +23,20 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); sep_char => ',', disabled => 0, + #deal with broadsoft's awful non-standard CSV escaping :/ + row_callback => sub { + my $line = shift; + $line = qq("$line"); # put " at the beginning and end + $line =~ s/(? [ # 1: recordId @@ -119,7 +133,13 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); #122: otherPartyName 'clid', - skip(23), #123-145 inclusive + #123: otherPartyNamePresentationIndicator + sub { + my( $cdr, $data ) = @_; + $cdr->clid( $data ) unless $data =~ /^Public$/i; + }, + + skip(22), #124-145 inclusive # 146: chargedNumber 'charged_party',