fix TeleAPI import (what kind of crack was Christopher smoking that he couldn't fix...
[freeside.git] / FS / FS / cdr / cx3.pm
1 package FS::cdr::cx3;
2
3 use strict;
4 use vars qw( @ISA %info);
5 use FS::cdr;
6 use Date::Parse;
7
8 @ISA = qw(FS::cdr);
9
10 %info = (
11   'name'          => '3CX',
12   'weight'        => 120,
13   'import_fields' => [
14
15
16         sub {                 
17                 my ($cdr, $data, $conf, $param) = @_;
18                 $param->{skiprow} = 1 unless $data =~ /Call\s/ ; # skip non-detail records
19         },              # record type
20         skip(1),        # unknown, callid ( not unique )
21         sub { my ($cdr, $duration) = @_;
22         
23                 my ($hour,$min,$sec) = split(/:/,$duration);
24                 $sec = sprintf ("%.0f", $sec);
25                 $sec += $min * 60;
26                 $sec += $hour * 60 * 60;
27                 $cdr->set('billsec', $sec);
28
29         },              # duration
30         skip(1),                
31         sub { my ($cdr, $calldate, $param) = @_;
32
33                 my $date = str2time($calldate);
34                 $cdr->set('startdate', $date);
35
36         },              #date
37         skip(4),          
38         'accountcode',  # AccountCode
39         skip(6),                
40         'src',          # source
41         sub { my ($cdr, $dst, $param) = @_;
42                 $dst =~ s/#//;
43                 $cdr->set('dst', $dst);
44         },              # destination
45
46   ],
47 );
48
49 sub skip { map {''} (1..$_[0]) }
50
51 1;