diff options
Diffstat (limited to 'FS/FS/cdr/genband.pm')
-rw-r--r-- | FS/FS/cdr/genband.pm | 120 |
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; |