From 9a963c59933af6813405d311d6de1cd5a4eb8597 Mon Sep 17 00:00:00 2001 From: Jeremy Davis Date: Mon, 15 Jun 2015 12:36:02 -0400 Subject: [PATCH] Ticket #34769 different enswitch format --- FS/FS/cdr/enswitch_calling_name.pm | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 FS/FS/cdr/enswitch_calling_name.pm diff --git a/FS/FS/cdr/enswitch_calling_name.pm b/FS/FS/cdr/enswitch_calling_name.pm new file mode 100644 index 000000000..c5564d3a6 --- /dev/null +++ b/FS/FS/cdr/enswitch_calling_name.pm @@ -0,0 +1,62 @@ +package FS::cdr::enswitch_calling_name; +use base qw( FS::cdr ); + +use strict; +use vars qw( %info $tmp_mon $tmp_mday $tmp_year ); +use FS::Record qw( qsearchs ); +use FS::cdr_type; + +%info = ( + 'name' => 'Enswitch with calling name', + 'weight' => 515, + 'header' => 2, + 'type' => 'csv', + 'import_fields' => [ + 'dcontext', #Status + 'startdate', #Start, already a unix timestamp + skip(2), #Start date, Start time + 'enddate', #End + skip(6), #End date, End time + #Calling customer, Calling type + 'src', #Calling number + skip(1), #Called type + + sub { my ($cdr, $dst) = @_; + $dst =~ s/\*//g; + $cdr->set('dst', $dst); + }, #Called number + + skip(14), #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, + sub { my ($cdr, $data) = @_; + $data ||= 'none'; + + my $cdr_type = qsearchs('cdr_type', { 'cdrtypename' => $data } ); + $cdr->set('cdrtypenum', $cdr_type->cdrtypenum) if $cdr_type; + } , #Outbound calling type, + + skip(11), #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 + skip(2), #Cost + #Cost including taxes + 'accountcode', #Billing customer + skip(3), #Billing customer name, Billing type, Billing reference + ], +); + +sub skip { map {''} (1..$_[0]) } + +1; -- 2.11.0