[freeside-commits] branch FREESIDE_4_BRANCH updated. b098bd7b7b03c0c580bd262d36fb3fda97adf6a0

Christopher Burger burgerc at freeside.biz
Mon Mar 25 12:20:13 PDT 2019


The branch, FREESIDE_4_BRANCH has been updated
       via  b098bd7b7b03c0c580bd262d36fb3fda97adf6a0 (commit)
       via  09a1c1cbcd45731a34906500c86c6718d871e9b6 (commit)
      from  1451533725eb8db17d11e69a03d46bc1fbc51960 (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 b098bd7b7b03c0c580bd262d36fb3fda97adf6a0
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 09a1c1cbcd45731a34906500c86c6718d871e9b6
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