X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcdr%2Ftaqua.pm;h=26c0bda62c83cef40417c86e0509e5a9aa28089c;hb=63a268637b2d51a8766412617724b9436439deb6;hp=3052f83e59baa172527078c0137de73d0f7121d0;hpb=d130d157d6cf99c9936eef8844a03668e51dbca7;p=freeside.git diff --git a/FS/FS/cdr/taqua.pm b/FS/FS/cdr/taqua.pm index 3052f83e5..26c0bda62 100644 --- a/FS/FS/cdr/taqua.pm +++ b/FS/FS/cdr/taqua.pm @@ -13,7 +13,13 @@ use FS::cdr qw(_cdr_date_parser_maker); 'import_fields' => [ #some of these are kind arbitrary... #0 - 'cdrtypenum', #RecordType + #RecordType + sub { + my($cdr, $field, $conf, $hashref) = @_; + $hashref->{skiprow} = 1 unless ($field == 0 && $cdr->disposition == 100); + $cdr->cdrtypenum($field); + }, + sub { my($cdr, $field) = @_; }, #all10#RecordVersion sub { my($cdr, $field) = @_; }, #OrigShelfNumber sub { my($cdr, $field) = @_; }, #OrigCardNumber @@ -22,11 +28,20 @@ use FS::cdr qw(_cdr_date_parser_maker); 'uniqueid', #SequenceNumber 'accountcode', #SessionNumber 'src', #CallingPartyNumber - 'dst', #CalledPartyNumber + #'dst', #CalledPartyNumber + #CalledPartyNumber + sub { + my( $cdr, $field, $conf ) = @_; + if ( $cdr->calltypenum == 6 && $cdr->cdrtypenum == 0 ) { + $cdr->dst("+$field"); + } else { + $cdr->dst($field); + } + }, #10 - _cdr_date_parser_maker('startdate'), #CallArrivalTime - _cdr_date_parser_maker('enddate'), #CallCompletionTime + _cdr_date_parser_maker('startdate', 'gmt' => 1), #CallArrivalTime + _cdr_date_parser_maker('enddate', 'gmt' => 1), #CallCompletionTime #Disposition #sub { my($cdr, $d ) = @_; $cdr->disposition( $disposition{$d}): }, @@ -42,7 +57,7 @@ use FS::cdr qw(_cdr_date_parser_maker); # 201 => '', # 203 => '', - _cdr_date_parser_maker('answerdate'), #DispositionTime + _cdr_date_parser_maker('answerdate', 'gmt' => 1), #DispositionTime sub { my($cdr, $field) = @_; }, #TCAP sub { my($cdr, $field) = @_; }, #OutboundCarrierConnectTime sub { my($cdr, $field) = @_; }, #OutboundCarrierDisconnectTime @@ -79,7 +94,11 @@ use FS::cdr qw(_cdr_date_parser_maker); return; } } - $cdr->charged_party($field); + if ( $cdr->is_tollfree ) { # thankfully this is already available + $cdr->charged_party($cdr->dst); # and this + } else { + $cdr->charged_party($field); + } }, sub { my($cdr, $field) = @_; }, #SubscriberNumber