[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