29050 Orcon CDR format
[freeside.git] / FS / FS / cdr / genband.pm
1 package FS::cdr::genband;
2
3 use strict;
4 use vars qw(@ISA %info);
5 use FS::cdr qw(_cdr_date_parser_maker);
6
7 @ISA = qw(FS::cdr);
8
9 %info = (
10   'name'          => 'GenBand (Tekelec)', #'Genband G6 (Tekelec T6000)',
11   'weight'        => 140,
12   'type'          => 'fixedlength',
13   'fixedlength_format' => [qw(
14     Type:2:1:2
15     Sequence:4:3:6
16     OIDCall:30:7:36
17     StartTime:19:37:55
18     AnswerTime:19:56:74
19     EndTime:19:75:93
20     SourceName:30:94:123
21     SourceEndName:30:124:153
22     SourceCallerID:20:154:173
23     SourceCallerName:30:174:203
24     DestinationName:30:204:233
25     DestinationEndName:30:234:263
26     DestCallerID:20:264:283
27     DestCallerIDInfo:30:284:313
28     DialedDigits:30:314:343
29     Billing:30:344:373
30     AuthCode:30:374:403
31     CallDirection:1:404:404
32     ExtendedCall:1:405:405
33     ExternalCall:1:406:406
34     Duration:9:407:415
35     SIPCallID:64:416:479
36     IncomingDigits:30:480:509
37     OutpulsedDigits:30:510:539
38     CarrierIdentificationCode:4:540:543
39     CompletionReason:4:544:547
40     OriginationPartition:30:548:577
41     DestinationPartition:30:578:607
42     BilledSourceDID:20:608:627
43     OriginalCall:30:628:657
44     VideoCall:1:658:658
45   )],
46   'import_fields' => [
47     sub {}, #Type:2:1:2
48     sub {}, #Sequence:4:3:6
49     'uniqueid', #OIDCall:30:7:36
50     _cdr_date_parser_maker('startdate'), #StartTime:19:37:55
51     _cdr_date_parser_maker('answerdate'), #AnswerTime:19:56:74
52     _cdr_date_parser_maker('enddate'), #EndTime:19:75:93
53     sub {}, #SourceName:30:94:123
54     'channel', #SourceEndName:30:124:153
55     'src', #SourceCallerID:20:154:173
56     'clid', #SourceCallerName:30:174:203
57     sub {}, #DestinationName:30:204:233
58     'dstchannel', #DestinationEndName:30:234:263
59     'dst', #DestCallerID:20:264:283
60     sub {}, #DestCallerIDInfo:30:284:313
61     sub {}, #DialedDigits:30:314:343
62     sub {}, #Billing:30:344:373
63     sub {}, #AuthCode:30:374:403
64     sub {}, #CallDirection:1:404:404
65     sub {}, #ExtendedCall:1:405:405
66     sub {}, #ExternalCall:1:406:406
67     sub { my( $cdr, $duration ) = @_;
68           $cdr->duration($duration);
69           $cdr->billsec($duration);   }, #'duration', #Duration:9:407:415
70     sub {}, #SIPCallID:64:416:479
71     sub {}, #IncomingDigits:30:480:509
72     sub {}, #OutpulsedDigits:30:510:539
73     sub {}, #CarrierIdentificationCode:4:540:543
74     sub {}, #CompletionReason:4:544:547
75     sub {}, #OriginationPartition:30:548:577
76     sub {}, #DestinationPartition:30:578:607
77     sub {}, #BilledSourceDID:20:608:627
78     sub {}, #OriginalCall:30:628:657
79     sub {}, #VideoCall:1:658:658
80   ],
81 );
82 #      acctid - primary key
83 #       calldate - Call timestamp (SQL timestamp)
84 #              clid - Caller*ID with text
85 #              src - Caller*ID number / Source number
86 #              dst - Destination extension
87 #       dcontext - Destination context
88 #              channel - Channel used
89 #              dstchannel - Destination channel if appropriate
90 #       lastapp - Last application if appropriate
91 #       lastdata - Last application data
92 #              startdate - Start of call (UNIX-style integer timestamp)
93 #              answerdate - Answer time of call (UNIX-style integer timestamp)
94 #              enddate - End time of call (UNIX-style integer timestamp)
95 #              duration - Total time in system, in seconds
96 #              billsec - Total time call is up, in seconds
97 #       disposition - What happened to the call: ANSWERED, NO ANSWER, BUSY
98 #       amaflags - What flags to use: BILL, IGNORE etc, specified on a per
99 #       channel basis like accountcode.
100 #       accountcode - CDR account number to use: account
101 #              uniqueid - Unique channel identifier (Unitel/RSLCOM Event ID)
102 #       userfield - CDR user-defined field
103 #       cdr_type - CDR type - see FS::cdr_type (Usage = 1, S&E = 7, OC&C = 8)
104 #       charged_party - Service number to be billed
105 #       upstream_currency - Wholesale currency from upstream
106 #       upstream_price - Wholesale price from upstream
107 #       upstream_rateplanid - Upstream rate plan ID
108 #       rated_price - Rated (or re-rated) price
109 #       distance - km (need units field?)
110 #       islocal - Local - 1, Non Local = 0
111 #       calltypenum - Type of call - see FS::cdr_calltype
112 #       description - Description (cdr_type 7&8 only) (used for
113 #       cust_bill_pkg.itemdesc)
114 #       quantity - Number of items (cdr_type 7&8 only)
115 #       carrierid - Upstream Carrier ID (see FS::cdr_carrier)
116 #       upstream_rateid - Upstream Rate ID
117 #       svcnum - Link to customer service (see FS::cust_svc)
118 #       freesidestatus - NULL, done (or something)
119
120 1;