summaryrefslogtreecommitdiff
path: root/FS/FS/cdr/genband.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/cdr/genband.pm')
-rw-r--r--FS/FS/cdr/genband.pm120
1 files changed, 120 insertions, 0 deletions
diff --git a/FS/FS/cdr/genband.pm b/FS/FS/cdr/genband.pm
new file mode 100644
index 0000000..619d908
--- /dev/null
+++ b/FS/FS/cdr/genband.pm
@@ -0,0 +1,120 @@
+package FS::cdr::genband;
+
+use strict;
+use vars qw(@ISA %info);
+use FS::cdr qw(_cdr_date_parser_maker);
+
+@ISA = qw(FS::cdr);
+
+%info = (
+ 'name' => 'GenBand (Tekelec)', #'Genband G6 (Tekelec T6000)',
+ 'weight' => 140,
+ 'type' => 'fixedlength',
+ 'fixedlength_format' => [qw(
+ Type:2:1:2
+ Sequence:4:3:6
+ OIDCall:30:7:36
+ StartTime:19:37:55
+ AnswerTime:19:56:74
+ EndTime:19:75:93
+ SourceName:30:94:123
+ SourceEndName:30:124:153
+ SourceCallerID:20:154:173
+ SourceCallerName:30:174:203
+ DestinationName:30:204:233
+ DestinationEndName:30:234:263
+ DestCallerID:20:264:283
+ DestCallerIDInfo:30:284:313
+ DialedDigits:30:314:343
+ Billing:30:344:373
+ AuthCode:30:374:403
+ CallDirection:1:404:404
+ ExtendedCall:1:405:405
+ ExternalCall:1:406:406
+ Duration:9:407:415
+ SIPCallID:64:416:479
+ IncomingDigits:30:480:509
+ OutpulsedDigits:30:510:539
+ CarrierIdentificationCode:4:540:543
+ CompletionReason:4:544:547
+ OriginationPartition:30:548:577
+ DestinationPartition:30:578:607
+ BilledSourceDID:20:608:627
+ OriginalCall:30:628:657
+ VideoCall:1:658:658
+ )],
+ 'import_fields' => [
+ sub {}, #Type:2:1:2
+ sub {}, #Sequence:4:3:6
+ 'uniqueid', #OIDCall:30:7:36
+ _cdr_date_parser_maker('startdate'), #StartTime:19:37:55
+ _cdr_date_parser_maker('answerdate'), #AnswerTime:19:56:74
+ _cdr_date_parser_maker('enddate'), #EndTime:19:75:93
+ sub {}, #SourceName:30:94:123
+ 'channel', #SourceEndName:30:124:153
+ 'src', #SourceCallerID:20:154:173
+ 'clid', #SourceCallerName:30:174:203
+ sub {}, #DestinationName:30:204:233
+ 'dstchannel', #DestinationEndName:30:234:263
+ 'dst', #DestCallerID:20:264:283
+ sub {}, #DestCallerIDInfo:30:284:313
+ sub {}, #DialedDigits:30:314:343
+ sub {}, #Billing:30:344:373
+ sub {}, #AuthCode:30:374:403
+ sub {}, #CallDirection:1:404:404
+ sub {}, #ExtendedCall:1:405:405
+ sub {}, #ExternalCall:1:406:406
+ sub { my( $cdr, $duration ) = @_;
+ $cdr->duration($duration);
+ $cdr->billsec($duration); }, #'duration', #Duration:9:407:415
+ sub {}, #SIPCallID:64:416:479
+ sub {}, #IncomingDigits:30:480:509
+ sub {}, #OutpulsedDigits:30:510:539
+ sub {}, #CarrierIdentificationCode:4:540:543
+ sub {}, #CompletionReason:4:544:547
+ sub {}, #OriginationPartition:30:548:577
+ sub {}, #DestinationPartition:30:578:607
+ sub {}, #BilledSourceDID:20:608:627
+ sub {}, #OriginalCall:30:628:657
+ sub {}, #VideoCall:1:658:658
+ ],
+);
+# acctid - primary key
+# calldate - Call timestamp (SQL timestamp)
+# clid - Caller*ID with text
+# src - Caller*ID number / Source number
+# dst - Destination extension
+# dcontext - Destination context
+# channel - Channel used
+# dstchannel - Destination channel if appropriate
+# lastapp - Last application if appropriate
+# lastdata - Last application data
+# startdate - Start of call (UNIX-style integer timestamp)
+# answerdate - Answer time of call (UNIX-style integer timestamp)
+# enddate - End time of call (UNIX-style integer timestamp)
+# duration - Total time in system, in seconds
+# billsec - Total time call is up, in seconds
+# disposition - What happened to the call: ANSWERED, NO ANSWER, BUSY
+# amaflags - What flags to use: BILL, IGNORE etc, specified on a per
+# channel basis like accountcode.
+# accountcode - CDR account number to use: account
+# uniqueid - Unique channel identifier (Unitel/RSLCOM Event ID)
+# userfield - CDR user-defined field
+# cdr_type - CDR type - see FS::cdr_type (Usage = 1, S&E = 7, OC&C = 8)
+# charged_party - Service number to be billed
+# upstream_currency - Wholesale currency from upstream
+# upstream_price - Wholesale price from upstream
+# upstream_rateplanid - Upstream rate plan ID
+# rated_price - Rated (or re-rated) price
+# distance - km (need units field?)
+# islocal - Local - 1, Non Local = 0
+# calltypenum - Type of call - see FS::cdr_calltype
+# description - Description (cdr_type 7&8 only) (used for
+# cust_bill_pkg.itemdesc)
+# quantity - Number of items (cdr_type 7&8 only)
+# carrierid - Upstream Carrier ID (see FS::cdr_carrier)
+# upstream_rateid - Upstream Rate ID
+# svcnum - Link to customer service (see FS::cust_svc)
+# freesidestatus - NULL, done (or something)
+
+1;