29049 Zintel CDR format
[freeside.git] / FS / FS / cdr / zintel.pm
1 package FS::cdr::zintel;
2
3 use strict;
4 use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year );
5 use Time::Local;
6 use FS::cdr qw(_cdr_date_parser_maker);
7
8 @ISA = qw(FS::cdr);
9
10 %info = (
11   'name'          => 'Zintel',
12   'weight'        => 123,
13   'header'        => 1,
14   'import_fields' => [
15
16         'accountcode',  #customer
17         'src',          #anumber
18         'dst',          #bnumber
19         sub { # OriginatingDate and OriginatingTime, two fields in the spec
20                 my ($cdr, $date) = @_;
21                 $date =~ /^(\d{2})\/(\d{2})\/(\d{4})\s*(\d{2}):(\d{2}):(\d{2})$/
22                 or die "unparseable date: $date";
23                 my $tmp_date = "$2/$1/$3 $4:$5:$6";                     
24                 $cdr->calldate($tmp_date);
25              },#datetime
26
27         'billsec',      #duration
28         skip(3),        #calltype
29                         #status
30                         #product
31         'upstream_price',#sellprice
32         skip(1),        #fromregion
33         'upstream_src_regionname',              #fromarea
34         skip(2),        #fromc2city
35                         #toregion
36         'upstream_dst_regionname',              #toarea
37         skip(2),        #toc2city
38                         #group_label
39   ],
40 );
41
42 sub skip { map {''} (1..$_[0]) }
43
44 1;
45