29049 Zintel CDR format
authorJeremy Davis <jeremyd@freeside.biz>
Tue, 13 May 2014 15:22:40 +0000 (11:22 -0400)
committerJeremy Davis <jeremyd@freeside.biz>
Tue, 13 May 2014 15:22:40 +0000 (11:22 -0400)
FS/FS/cdr/zintel.pm [new file with mode: 0644]

diff --git a/FS/FS/cdr/zintel.pm b/FS/FS/cdr/zintel.pm
new file mode 100644 (file)
index 0000000..0e44844
--- /dev/null
@@ -0,0 +1,45 @@
+package FS::cdr::zintel;
+
+use strict;
+use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year );
+use Time::Local;
+use FS::cdr qw(_cdr_date_parser_maker);
+
+@ISA = qw(FS::cdr);
+
+%info = (
+  'name'          => 'Zintel',
+  'weight'        => 123,
+  'header'        => 1,
+  'import_fields' => [
+
+       'accountcode',  #customer
+       'src',          #anumber
+       'dst',          #bnumber
+       sub { # OriginatingDate and OriginatingTime, two fields in the spec
+               my ($cdr, $date) = @_;
+               $date =~ /^(\d{2})\/(\d{2})\/(\d{4})\s*(\d{2}):(\d{2}):(\d{2})$/
+               or die "unparseable date: $date";
+               my $tmp_date = "$2/$1/$3 $4:$5:$6";                     
+               $cdr->calldate($tmp_date);
+            },#datetime
+
+       'billsec',      #duration
+       skip(3),        #calltype
+                       #status
+                       #product
+       'upstream_price',#sellprice
+       skip(1),        #fromregion
+       'upstream_src_regionname',              #fromarea
+       skip(2),        #fromc2city
+                       #toregion
+       'upstream_dst_regionname',              #toarea
+       skip(2),        #toc2city
+                       #group_label
+  ],
+);
+
+sub skip { map {''} (1..$_[0]) }
+
+1;
+