fix TeleAPI import (what kind of crack was Christopher smoking that he couldn't fix...
[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     sub {               #call_date and time
41      my($cdr, $data, $conf, $param) = @_;
42      $data =~ /^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/ or die "unparsable record_date: $data";
43      $cdr->set('calldate', "$2/$3/$1 $4:$5:$6");
44      $cdr->set('startdate', "$2/$3/$1 $4:$5:$6");
45     },
46     'charged_party',    #bill to number
47     '',                 #translate number
48     'src',              #originating number
49     '',                 #originating lata
50     '',                 #originating city
51     '',                 #originating state
52     '',                 #originating country
53     'dst',              #terminating number
54     '',                 #terminating lata
55     '',                 #terminating city
56     '',                 #terminating state
57     '',                 #terminating city code
58     '',                 #terminating country
59     '',                 #call type
60     '',                 #call transport
61     'accountcode',      #account code
62     '',                 #info digits
63     sub {               #duration
64      my($cdr, $field) = @_;
65      $cdr->set(duration => $field);
66      $cdr->set(billsec  => $field);
67     },
68     '',                 #wholesale amount
69     '',                 #cic
70     'src_lrn',          #originating lrn
71     'dst_lrn',          #terminating lrn
72     '',                 #originating ocn
73     '',                 #terminating ocn
74
75   ],
76
77 );
78
79 1;