RT# 79121 - Added new cdr import format for ani networks, and cron script for same
[freeside.git] / FS / FS / cdr / ani_networks.pm
1 package FS::cdr::ani_networks;
2 use base qw( FS::cdr );
3
4 use strict;
5 use vars qw( %info );
6 use Time::Local;
7
8 %info = (
9   'name'               => 'ANI NETWORKS',
10   'weight'             => 60,
11   'type'               => 'fixedlength',
12   'fixedlength_format' => [qw(
13     call_date_time:14:1:14
14     bill_to_number:15:15:29
15     translate_number:10:30:39
16     originating_number:10:40:49
17     originating_lata:3:50:52
18     originating_city:30:53:82
19     originating_state:2:83:84
20     originating_country:4:85:88
21     terminating_number:15:89:103
22     terminating_lata:3:104:106
23     terminating_city:30:107:136
24     terminating_state:2:137:138
25     terminating_citycode:3:139:141
26     terminating_country:4:142:145
27     call_type:2:146:147
28     call_transport:1:148:148
29     account_code:12:149:160
30     info_digits:2:161:162
31     duration:8:163:170
32     wholesale_amount:9:171:179
33     cic:4:180:183
34     originating_lrn:10:184:193
35     terminating_lrn:10:194:203
36     originating_ocn:4:204:207
37     terminating_ocn:4:208:211
38   )],
39   'import_fields'      => [
40
41     sub { #call_date and time
42      my($cdr, $data, $conf, $param) = @_;
43      $data =~ /^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/ or die "unparsable record_date: $data";
44      $cdr->set('calldate', "$2/$3/$1 $4:$5:$6");
45     },
46
47     'charged_party',     #bill to number
48     '',                         #translate number
49
50     'src',                      #originating number
51
52     '',                         #originating lata
53     '',                         #originating city
54     '',                         #originating state
55     '',                         #originating country
56
57     'dst',                      #terminating number
58
59     '',                         #terminating lata
60     '',                         #terminating city
61     '',                         #terminating state
62     '',                         #terminating city code
63     '',                         #terminating country
64
65     '',                         #call type
66     '',                         #call transport
67     'accountcode',       #account code
68     '',                         #info digits
69     'duration',                 #duration
70     '',                         #wholesale amount
71     '',                         #cic
72     'src_lrn',                  #originating lrn
73     'dst_lrn',                  #terminating lrn
74     '',                         #originating ocn
75     '',                         #terminating ocn
76
77   ],
78
79 );
80
81 1;