summaryrefslogtreecommitdiff
path: root/FS/FS/cdr/enswitch_calling_name.pm
blob: c5564d3a680cffe12c157d8890b1596382949d19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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;