X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcdr%2Ftelapi_voip.pm;h=c238d2a174898968a7e29ffd4e8047d1c7a551f4;hp=abc7d5bd2c1b833ac4af624e67c4b2922a7898b7;hb=dc83512c36dc6bea2585abada4f88d714c600e55;hpb=269c5484bb13430773443a2ae376368be0b56c2c diff --git a/FS/FS/cdr/telapi_voip.pm b/FS/FS/cdr/telapi_voip.pm index abc7d5bd2..c238d2a17 100644 --- a/FS/FS/cdr/telapi_voip.pm +++ b/FS/FS/cdr/telapi_voip.pm @@ -2,51 +2,31 @@ package FS::cdr::telapi_voip; use base qw( FS::cdr ); use strict; -use vars qw( @ISA %info $CDR_TYPES ); -use FS::Record qw( qsearch ); -use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); +use vars qw( %info ); +use FS::cdr qw( _cdr_date_parser_maker ); %info = ( - 'name' => 'telapi_voip', + 'name' => 'TeleAPI VoIP (CSV file)', 'weight' => 601, 'header' => 1, 'type' => 'csv', 'import_fields' => [ - _cdr_date_parser_maker('startdate'), #'date gmt' - '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(); - unless (defined $CDR_TYPES->{$cdrtypename}) { - warn "Skipping Record: CDR type name $cdrtypename does not exist!"; - $param->{skiprow} = 1; - } - $cdr->cdrtypenum($CDR_TYPES->{$cdrtypename}); - }, # type - _cdr_min_parser_maker('billsec'), #PriceDurationMins + _cdr_date_parser_maker('startdate', 'gmt'=>1 ), # date gmt + 'src', # source + 'dst', # destination + 'clid', # callerid + 'disposition', # hangup code + 'userfield', # sip account + 'src_ip_addr', # orig ip + 'billsec', # duration + skip(1), # per minute (add "upstream_rate"? + 'upstream_price', # call cost + 'dcontext', # type + 'uniqueid', # uuid + 'lastapp', # direction ], ); 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 +1;