X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcdr%2Ftelapi_voip.pm;h=687c431a8857e215637d26a2eb35ee5fc0b39b48;hp=65aed76667277bb2e36845b4a20ce5f353c75df1;hb=793956b8a0c19d7d39103e94235b0ca13f0f3e84;hpb=aadc07f765a7cdb6bc00cf89089c7e147b58d6f1 diff --git a/FS/FS/cdr/telapi_voip.pm b/FS/FS/cdr/telapi_voip.pm index 65aed7666..687c431a8 100644 --- a/FS/FS/cdr/telapi_voip.pm +++ b/FS/FS/cdr/telapi_voip.pm @@ -7,44 +7,22 @@ use FS::Record qw( qsearch ); use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); %info = ( - 'name' => 'telapi_voip', + 'name' => 'telapi_voip (csv file)', 'weight' => 601, 'header' => 1, 'type' => 'csv', 'import_fields' => [ - _cdr_date_parser_maker('startdate'), #'date gmt' + skip(1), # Inbound/Outbound + _cdr_date_parser_maker('startdate'), # date + skip(1), # cost per minute + 'upstream_price', # call cost + 'billsec', # duration 'src', # source 'dst', # destination - 'clid', # callerid skip(1), # hangup code - skip(1), # sip account - 'src_ip_addr', # orig ip - 'duration', # duration - skip(1), # per minute - 'upstream_price', # callcost - sub { - my($cdr, $cdrtypename, $conf, $param) = @_; - return unless length($cdrtypename); - _init_cdr_types(); - die "no matching cdrtypenum for $cdrtypename" - unless defined $CDR_TYPES->{$cdrtypename}; - $cdr->cdrtypenum($CDR_TYPES->{$cdrtypename}); - }, # type - _cdr_min_parser_maker('billsec'), #PriceDurationMins ], ); sub skip { map {''} (1..$_[0]) } -sub _init_cdr_types { - unless ($CDR_TYPES) { - $CDR_TYPES = {}; - foreach my $cdr_type ( qsearch('cdr_type') ) { - die "multiple cdr_types with same cdrtypename".$cdr_type->cdrtypename - if defined $CDR_TYPES->{$cdr_type->cdrtypename}; - $CDR_TYPES->{$cdr_type->cdrtypename} = $cdr_type->cdrtypenum; - } - } -} - 1; \ No newline at end of file