summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2019-05-23 11:35:25 -0400
committerChristopher Burger <burgerc@freeside.biz>2019-05-23 11:35:25 -0400
commit269c5484bb13430773443a2ae376368be0b56c2c (patch)
tree655cd8a9cbe350298a0802e6e1385323f18919e9 /FS
parent606acab48f55da2b8846e5539839d591b63ae18c (diff)
Revert "RT# 75680 - telapi_voip cdr csv import"
This reverts commit 606acab48f55da2b8846e5539839d591b63ae18c.
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cdr/telapi_voip.pm52
-rw-r--r--FS/FS/cdr/telapi_voip_csv.pm28
2 files changed, 52 insertions, 28 deletions
diff --git a/FS/FS/cdr/telapi_voip.pm b/FS/FS/cdr/telapi_voip.pm
new file mode 100644
index 000000000..abc7d5bd2
--- /dev/null
+++ b/FS/FS/cdr/telapi_voip.pm
@@ -0,0 +1,52 @@
+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 );
+
+%info = (
+ 'name' => 'telapi_voip',
+ '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
+ ],
+);
+
+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
diff --git a/FS/FS/cdr/telapi_voip_csv.pm b/FS/FS/cdr/telapi_voip_csv.pm
deleted file mode 100644
index ee38edbcf..000000000
--- a/FS/FS/cdr/telapi_voip_csv.pm
+++ /dev/null
@@ -1,28 +0,0 @@
-package FS::cdr::telapi_voip_csv;
-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 );
-
-%info = (
- 'name' => 'telapi_voip (csv file)',
- 'weight' => 601,
- 'header' => 1,
- 'type' => 'csv',
- 'import_fields' => [
- 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
- skip(1), # hangup code
- ],
-);
-
-sub skip { map {''} (1..$_[0]) }
-
-1;