@ISA = qw(FS::cdr);
+my $date_parser = _cdr_date_parser_maker('startdate');
+
%info = (
'name' => 'Infinite Conferencing',
'weight' => 520,
'type' => 'csv',
'sep_char' => ',',
'import_fields' => [
- 'uniqueid', # billid
- skip(3), # confid, invoicenum, acctgrpid
- 'accountcode', # accountid ("Room Confirmation Number")
- skip(2), # billingcode ("Room Billingcode"), confname
- skip(1), # participant_type
- 'startdate', # starttime_t
- skip(2), # startdate, starttime
+ 'uniqueid', # A. billid
+ skip(3), # B-D. confid, invoicenum, acctgrpid
+ skip(1), # E. accountid ("Room Confirmation Number")
+ 'dst', # was: skip(1), # F. billingcode ("Room Billingcode")
+ skip(1), # G. confname
+ skip(1), # H. participant_type
+ skip(1), # I. starttime_t - timezone is unreliable
+ sub { # J. startdate
+ my ($cdr, $data, $conf, $param) = @_;
+ $param->{'date_part'} = $data; # stash this and combine with the time
+ '';
+ },
+ sub { # K. starttime
+ my ($cdr, $data, $conf, $param) = @_;
+ my $datestring = delete($param->{'date_part'}) . ' ' . $data;
+ &{ $date_parser }($cdr, $datestring);
+ },
sub { my($cdr, $data, $conf, $param) = @_;
$cdr->duration($data * 60);
$cdr->billsec( $data * 60);
- }, # minutes
- 'dst', # dnis
- 'src', # ani
- skip(8), # calltype, calltype_text, confstart_t, confstartdate,
+ }, # L. minutes
+ skip(1), # M. dnis
+ 'src', # N. ani
+ skip(1), # was: 'dst', # O. calltype
+ skip(7), # P-V. calltype_text, confstart_t, confstartdate,
# confstarttime, confminutes, conflegs, ppm
- 'upstream_price', # callcost
- skip(13), # confcost, rppm, rcallcost, rconfcost,
- # auxdata[1..4], ldval, sysname, username, cec, pec
- 'userfield', # unnamed field
- ],
+ 'upstream_price', # W. callcost
+ skip(11), # X-AH. confcost, rppm, rcallcost, rconfcost,
+ # auxdata[1..4], ldval, sysname, username
+ 'accountcode', # AI. Chairperson Entry Code
+ skip(1), # AJ. Participant Entry Code
+ 'description', # AK. contact name
+ ],
);