summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormark <mark>2011-02-25 04:28:19 +0000
committermark <mark>2011-02-25 04:28:19 +0000
commite3978ca5d077689c051cb2778e365069333569f0 (patch)
treeaa70aaa0c1a3266962635ec92de6f18abb7efbd6
parent26755cb13672400adb5a7f8bda76eac5244a93b4 (diff)
start of Enswitch CDR import, RT#11613
-rw-r--r--FS/FS/cdr/enswitch.pm49
1 files changed, 49 insertions, 0 deletions
diff --git a/FS/FS/cdr/enswitch.pm b/FS/FS/cdr/enswitch.pm
new file mode 100644
index 0000000..64518af
--- /dev/null
+++ b/FS/FS/cdr/enswitch.pm
@@ -0,0 +1,49 @@
+package FS::cdr::enswitch;
+
+use strict;
+use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year );
+use Time::Local;
+use FS::cdr qw(_cdr_min_parser_maker);
+
+@ISA = qw(FS::cdr);
+
+%info = (
+ 'name' => 'Enswitch',
+ 'weight' => 515,
+ 'header' => 2,
+ 'type' => 'csv',
+ 'import_fields' => [
+ 'disposition', #Status
+ 'startdate', #Start, already a unix timestamp
+ skip(2), #Start date, Start time
+ 'enddate', #End
+ skip(4), #End date, End time
+ #Calling customer, Calling type
+ 'src', #Calling number
+ 'clid', #Calling name
+ skip(1), #Called type
+ 'dst', #Called number
+ skip(23), #Destination customer, Destination type
+ #Destination number
+ #Destination group ID, Destination group name,
+ #Inbound calling type, Inbound calling number,
+ #Inbound called type, Inbound called number,
+ #Inbound destination type, Inbound destination number,
+ #Outbound calling type, Outbound calling number,
+ #Outbound called type, Outbound called number,
+ #Outbound destination type, Outbound destination number,
+ #Internal calling type, Internal calling number,
+ #Internal called type, Internal called number,
+ #Internal destination type, Internal destination number
+ 'duration', #Total seconds
+ skip(1), #Ring seconds
+ 'billsec', #Billable seconds
+ 'upstream_price', #Cost
+ 'accountcode', #Billing customer
+ skip(3), #Billing customer name, Billing type, Billing reference
+ ],
+);
+
+sub skip { map {''} (1..$_[0]) }
+
+1;