[freeside-commits] branch FREESIDE_3_BRANCH updated. 3260fe603047def12ce08605b0b827b950831f79
Christopher Burger
burgerc at freeside.biz
Mon Mar 25 14:49:59 PDT 2019
The branch, FREESIDE_3_BRANCH has been updated
via 3260fe603047def12ce08605b0b827b950831f79 (commit)
via 242c71b837604fa7ac84ca7f8bbd0164ff52f4d9 (commit)
from 143966e780e3eb57de1965fb37c8c4cb649cfa9f (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 3260fe603047def12ce08605b0b827b950831f79
Author: Christopher Burger <burgerc at freeside.biz>
Date: Mon Mar 25 14:17:22 2019 -0400
RT# 82992 - added documentation to thinq cdr import
diff --git a/FS/FS/cdr/thinq.pm b/FS/FS/cdr/thinq.pm
index cbe0aa7d6..0d2668961 100644
--- a/FS/FS/cdr/thinq.pm
+++ b/FS/FS/cdr/thinq.pm
@@ -59,4 +59,66 @@ sub skip { map { undef } (1..$_[0]) }
1;
-__END__
+=head1 NAME
+
+FS::cdr::thinq - ThinQ cdr import.
+
+=head1 DESCRIPTION
+
+https://support.thinq.com/hc/en-us/articles/229251907-Defining-the-CDR-for-LCR
+
+https://support.thinq.com/hc/en-us/articles/229251987-Defining-the-CDR-for-Origination
+
+File format is csv, fields below.
+
+01 date - YYYY-MM-DD 2019-03-04
+02 time - HH:MM:SS 19:40:31
+03 carrier_id - thinq id number for each carrier 4
+04 from_ani - number dialed from 14055343879
+05 from_lrn - 10 digit number to identify CO switch port 14056269999
+06 from_lata - originating LATA 536
+07 from_ocn - operating company number assigned by NECA 6534
+08 from_state - originating state (US) OK
+09 from_rc - originating rate center "OKLA CITY"
+10 to_did - called number 17312018150
+11 thinq_tier - tier of thinq provider (1,2,3) 1
+12 callid - unique idenitifer for a call 960773443_66972652 at 206.147.84.26
+13 account_id - thinq account identifier 13840
+14 tf_profile - TFLCR profile used for inbound TF traffic <null>
+15 dest_type - IP, PSN, ? IP
+16 dest - pbx IP address for IP routed calls 192.151.131.17
+17 rate - charge per minute 0.00250000
+18 billsec - billable seconds 6
+19 total_charge - charge for this call 0.00025000
+
+ThinQ cdr field definitions
+
+01 from_ani - The number dialed from
+02 to_did - The number dialed to
+03 lrn - 10-digit number that identifies a switch port for a central office
+04 prefix_match - extension number to rate international calls
+05 country - country call was terminated to
+06 callid - The unique idenitifer for a call
+07 time - time when the call was placed in GMT/UTC format
+08 account_id - Your account Identifier
+09 Profile_id - The profile identifier the call was sent though
+10 src_ip - The source IP address
+11 carrier_id - Our ID number for each carrier
+12 rate - The current rate of charge per minute
+13 total - total price of the call
+14 from_state - orginating state from USA
+15 to_state - terminationg state of the USA
+16 rc - Rate Center = geographical area used by a Local Exchange Carrier (LEC) to determine the boundaries
+ for local calling, billing and assigning phone numbers
+17 from_rc - originating rc
+18 to_rc - terminating rc
+19 lata - area that is covered by local exchange carriers (LECs)
+20 from_lata - originating lata
+21 to_lata - terminating lata
+22 ocn - Operating Company Number is a 4 character ID for North American phone companies assigned by NECA and used to identify companies
+23 from_ocn - originating ocn
+24 to_ocn - terminating ocn
+25 bill_sec - billable seconds
+26 jurisdiction - how we rate the call for International, Intrastate, Interstate
+
+=cut
\ No newline at end of file
commit 242c71b837604fa7ac84ca7f8bbd0164ff52f4d9
Author: Christopher Burger <burgerc at freeside.biz>
Date: Mon Mar 25 12:36:14 2019 -0400
RT# 82992 - Added new cdr import format ThinQ
diff --git a/FS/FS/cdr/thinq.pm b/FS/FS/cdr/thinq.pm
new file mode 100644
index 000000000..cbe0aa7d6
--- /dev/null
+++ b/FS/FS/cdr/thinq.pm
@@ -0,0 +1,62 @@
+package FS::cdr::thinq;
+
+use strict;
+use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year );
+use base qw( FS::cdr );
+use Time::Local;
+use Date::Parse;
+
+ at ISA = qw(FS::cdr);
+
+%info = (
+ 'name' => 'ThinQ',
+ 'weight' => 13,
+ 'type' => 'csv',
+ 'header' => 1,
+ 'disabled' => 0, #0 default, set to 1 to disable
+
+
+ 'import_fields' => [
+
+ # Date (YYYY-MM-DD)
+ sub { my($cdr, $date) = @_;
+ $date =~ /^(\d\d(\d\d)?)\-(\d{1,2})\-(\d{1,2})$/
+ or die "unparsable date: $date"; #maybe we shouldn't die...
+ ($tmp_mday, $tmp_mon, $tmp_year) = ( $4, $3-1, $1 );
+ },
+
+ # Time (HH:MM:SS )
+ sub { my($cdr, $time) = @_;
+ $time =~ /^(\d{1,2}):(\d{1,2}):(\d{1,2})$/
+ or die "unparsable time: $time"; #maybe we shouldn't die...
+ $cdr->startdate(
+ timelocal($3, $2, $1 ,$tmp_mday, $tmp_mon, $tmp_year)
+ );
+ },
+
+ 'carrierid', # carrier_id
+ 'src', # from_ani
+ skip(5), # from_lrn
+ # from_lata
+ # from_ocn
+ # from_state
+ # from_rc
+ 'dst', # to_did
+ 'channel', # thing_tier
+ 'userfield', # callid
+ 'accountcode', # account_id
+ skip(2), # tf_profile
+ # dest_type
+ 'dst_ip_addr', # dest
+ skip(1), # rate
+ 'billsec', # billsec
+ skip(1), #total_charge
+ ], ## end import
+
+); ## end info
+
+sub skip { map { undef } (1..$_[0]) }
+
+1;
+
+__END__
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cdr/thinq.pm | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 124 insertions(+)
create mode 100644 FS/FS/cdr/thinq.pm
More information about the freeside-commits
mailing list