[freeside-commits] branch FREESIDE_3_BRANCH updated. df8fe44f26084604b3a58a47651840b30bdff533
Jeremy Davis
jeremyd at 420.am
Tue Nov 4 09:37:54 PST 2014
The branch, FREESIDE_3_BRANCH has been updated
via df8fe44f26084604b3a58a47651840b30bdff533 (commit)
from e4508a56fd7ccef6604e10799ba187a3e9c02954 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit df8fe44f26084604b3a58a47651840b30bdff533
Author: Jeremy Davis <jeremyd at freeside.biz>
Date: Tue Nov 4 09:45:14 2014 -0500
Ticket #29048 3cx cdr format
diff --git a/FS/FS/cdr/cx3.pm b/FS/FS/cdr/cx3.pm
new file mode 100644
index 0000000..bc511d9
--- /dev/null
+++ b/FS/FS/cdr/cx3.pm
@@ -0,0 +1,53 @@
+package FS::cdr::cx3;
+
+use strict;
+use vars qw( @ISA %info);
+use FS::cdr;
+use Date::Parse;
+
+ at ISA = qw(FS::cdr);
+
+%info = (
+ 'name' => '3CX',
+ 'weight' => 120,
+ 'header' => 1,
+ 'import_fields' => [
+
+
+sub {
+ my ($cdr, $data, $conf, $param) = @_;
+ $param->{skiprow} = 1 if $data ne 'CallDetail 0'; # skip non-detail records
+ }, # record type
+ 'uniqueid', # unique id
+ skip(1), # unknown
+ 'src', # source
+ 'dst', # destination
+sub { my ($cdr, $calldate, $param) = @_;
+
+ if ($calldate =~ /^(\d{4})-(\d{2})-(\d{2})\s*(\d{2}):(\d{2}):(\d{2})$/){
+
+ $cdr->set('calldate', $calldate);
+ my $tmp_date = "$2/$3/$1 $4:$5:$6";
+
+ $tmp_date = str2time($tmp_date);
+ $cdr->set('startdate', $tmp_date);
+ }
+ }, #date
+sub { my ($cdr, $duration) = @_;
+
+ my ($hour,$min,$sec) = split(/:/,$duration);
+ $sec += $min * 60;
+ $sec += $hour * 60 * 60;
+ $sec = sprintf ("%.0f", $sec);
+ $cdr->set('billsec', $sec);
+
+}, #duration
+ skip(1), # unknown
+ 'disposition', # call status
+
+ ],
+);
+
+sub skip { map {''} (1..$_[0]) }
+
+1;
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cdr/cx3.pm | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 FS/FS/cdr/cx3.pm
More information about the freeside-commits
mailing list