echi-converter 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -169,4 +169,15 @@
169
169
  * Minor enhancement(s):
170
170
  * Added a Signal.trap on interrupt to echi-converter executable for a more graceful shutdown
171
171
  * Bug fix(es):
172
- * The bit operators in the boolean fields are now processed properly for BINARY file types (found by user Chun Lim)
172
+ * The bit operators in the boolean fields are now processed properly for BINARY file types (found by user Chun Lim)
173
+
174
+ == 0.3.7 2008-03-25
175
+
176
+ * Major enhancement(s):
177
+ * Minor enhancement(s):
178
+ * Added support for the dat files: acd.dat, split.cat, tkgrp.dat and vector.dat
179
+ * Added support for turning email notifications on and off - FR#18889
180
+ * Changed the default logging in application.yml to 'NONE' from 'DEBUG'
181
+ * Added standard_version14.yml and extended_version14.yml
182
+ * Bug fix(es):
183
+ * Will now archive 0 length files and not stop the Windows Service - Bug#18888
data/Manifest.txt CHANGED
@@ -24,8 +24,10 @@ config/application.yml
24
24
  config/database.yml
25
25
  config/extended_version12.yml
26
26
  config/extended_version13.yml
27
+ config/extended_version14.yml
27
28
  config/standard_version12.yml
28
29
  config/standard_version13.yml
30
+ config/standard_version14.yml
29
31
  config/install_files.yml
30
32
  db/migrate/001_create_echi_records.rb
31
33
  db/migrate/002_create_echi_logs.rb
@@ -35,6 +37,10 @@ db/migrate/005_change_log_processedat_name.rb
35
37
  db/migrate/006_create_echi_aux_reasons.rb
36
38
  db/migrate/007_create_echi_cwcs.rb
37
39
  db/migrate/008_create_echi_vdns.rb
40
+ db/migrate/009_create_echi_acds.rb
41
+ db/migrate/010_create_echi_splits.rb
42
+ db/migrate/011_create_echi_trunk_groups.rb
43
+ db/migrate/012_create_echi_vectors.rb
38
44
  bin/echi-converter
39
45
  examples/extended_version12/chr0003
40
46
  examples/extended_version12/chr0003.txt
data/README.txt CHANGED
@@ -1,26 +1,48 @@
1
- README for echi_converter
2
- ==========================
3
- ECHI Converter - The Binary to ASCII converter for Avaya CMS External Call History files
1
+ = blah
4
2
 
5
- --- background ---
3
+ * http://echi-converter.rubyforge.org
6
4
 
7
- See more info on the Avaya ECHI format here (note, these overviews are version specific):
5
+ == DESCRIPTION:
8
6
 
9
- http://support.avaya.com/elmodocs2/cms/R12/ECHI.pdf
7
+ Please refer to http://echi-converter.rubyforge.org
10
8
 
11
- --- command ---
9
+ == FEATURES/PROBLEMS:
12
10
 
13
- Usage:
11
+ * TBD
14
12
 
15
- # echi-converter create myproject - create the local project to run the ECHI converter from
16
- # echi-converter upgrade myproject - location of project to upgrade after a new gem is installed
13
+ == SYNOPSIS:
17
14
 
18
- # echi-converter run myproject - Run the ECHI converter interactively from the location given
19
- # echi-converter start myproject - Start the ECHI converter in daemon mode from the location given
20
- # echi-converter stop myproject - Stop the ECHI converter daemon
21
- # echi-converter restart myproject - Restart the ECHI converter
22
- # echi-converter zap myrpoject - If there has been an unexpected close and the system still thinks the converter is running, clean up the pid files
15
+ Please refer to http://echi-converter.rubyforge.org
23
16
 
24
- --- overview ---
17
+ == REQUIREMENTS:
25
18
 
26
- More to come...
19
+ * TBD
20
+
21
+ == INSTALL:
22
+
23
+ * TBD
24
+
25
+ == LICENSE:
26
+
27
+ (LGPL)
28
+
29
+ Copyright (c) 2008 Jason Goecke
30
+
31
+ Permission is hereby granted, free of charge, to any person obtaining
32
+ a copy of this software and associated documentation files (the
33
+ 'Software'), to deal in the Software without restriction, including
34
+ without limitation the rights to use, copy, modify, merge, publish,
35
+ distribute, sublicense, and/or sell copies of the Software, and to
36
+ permit persons to whom the Software is furnished to do so, subject to
37
+ the following conditions:
38
+
39
+ The above copyright notice and this permission notice shall be
40
+ included in all copies or substantial portions of the Software.
41
+
42
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
43
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
44
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
45
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
46
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
47
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
48
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -6,7 +6,7 @@ echi_port: 21
6
6
  echi_username: anonymous
7
7
  echi_password:
8
8
  echi_connect_type: ftp #only ftp supported now, possible for ssh/sftp in the future
9
- echi_ftp_directory: #/Users/ftp/anonymous #If blank/nil, the system will not do a CD at the start
9
+ echi_ftp_directory: /Users/ftp/anonymous #If blank/nil, the system will not do a CD at the start
10
10
  echi_ftp_retry: 10
11
11
  echi_ftp_delete: Y #to not delete the files off of the FTP server set to N, Y to delete the files
12
12
  echi_schema: extended_version13.yml
@@ -14,9 +14,13 @@ echi_format: BINARY #valid settings are ASCII or BINARY
14
14
  echi_process_log: Y #valid is Y/N to turn it on or off
15
15
  echi_process_dat_files: N #Insert additional tables with data from the '.dat' files, and update regularly (not available when 'pco_process' set to 'Y')
16
16
  #Filenames of the dat files
17
+ echi_acd_dat: acd.dat
17
18
  echi_agent_dat: agname.dat
18
19
  echi_aux_rsn_dat: aux_rsn.dat
19
20
  echi_cwc_dat: cwc.dat
21
+ echi_split_dat: split.dat
22
+ echi_trunk_group_dat: tkgrp.dat
23
+ echi_vector_dat: vector.dat
20
24
  echi_vdn_dat: vdn.dat
21
25
 
22
26
  #Currently only ftp supported, but may want to add SSH/SFTP later
@@ -26,7 +30,7 @@ echi_xfer_type: ftp
26
30
  fetch_interval: 60 #in seconds
27
31
  max_ftp_sessions: 2 #Number of simultaneous ftp connections to use
28
32
 
29
- #Whether or not to insert into a database, into a csv file or both
33
+ #Currently only database support, possible CSV in the future
30
34
  export_type: database
31
35
 
32
36
  #Options are:
@@ -36,7 +40,7 @@ export_type: database
36
40
  #INFO: generic (useful) information about system operation
37
41
  #DEBUG: low-level information for developers
38
42
  #NONE: turn off logging
39
- log_level: DEBUG
43
+ log_level: NONE
40
44
  #How many log files to create and the length before cycling through
41
45
  log_number: 10
42
46
  #The size of each individual log file
@@ -44,6 +48,7 @@ log_length: 10240000
44
48
 
45
49
  #Email address to send alerts to, specifically failures to connect to the DB or FTP servers
46
50
  #currently does not support an SMTP server that requires authentication
51
+ send_email: true #Whether or not to send an email, true or false
47
52
  alert_email_address: youremail@yourdomain.com
48
53
  smtp_server: smtp.yourdomain.com
49
54
  smtp_port: 25
@@ -232,7 +232,19 @@ echi_records:
232
232
  - name: asaiuui
233
233
  type: str
234
234
  length: 96
235
-
235
+
236
+ #ACD table definition derived from acd.dat
237
+ echi_acds:
238
+ - name: acd_id
239
+ type: str
240
+ length: 255
241
+ - name: number
242
+ type: str
243
+ length: 255
244
+ - name: name
245
+ type: str
246
+ length: 255
247
+
236
248
  #Agents table definition derived from agname.dat
237
249
  echi_agents:
238
250
  - name: group_id
@@ -269,6 +281,30 @@ echi_cwcs:
269
281
  type: str
270
282
  length: 255
271
283
 
284
+ #Split table definition derived from split.dat
285
+ echi_splits:
286
+ - name: acd_number
287
+ type: str
288
+ length: 255
289
+ - name: number
290
+ type: str
291
+ length: 255
292
+ - name: name
293
+ type: str
294
+ length: 255
295
+
296
+ #Trunk Group table definition derived from tkgrp.dat
297
+ echi_trunk_groups:
298
+ - name: acd_number
299
+ type: str
300
+ length: 255
301
+ - name: trunk_group
302
+ type: str
303
+ length: 255
304
+ - name: name
305
+ type: str
306
+ length: 255
307
+
272
308
  #VDN definition derived from vdn.dat
273
309
  echi_vdns:
274
310
  - name: group_id
@@ -277,6 +313,18 @@ echi_vdns:
277
313
  - name: vdn
278
314
  type: str
279
315
  length: 255
316
+ - name: name
317
+ type: str
318
+ length: 255
319
+
320
+ #Vector definition derived from vector.dat
321
+ echi_vectors:
322
+ - name: acd_number
323
+ type: str
324
+ length: 255
325
+ - name: number
326
+ type: str
327
+ length: 255
280
328
  - name: name
281
329
  type: str
282
330
  length: 255
@@ -233,6 +233,18 @@ echi_records:
233
233
  type: str
234
234
  length: 96
235
235
 
236
+ #ACD table definition derived from acd.dat
237
+ echi_acds:
238
+ - name: acd_id
239
+ type: str
240
+ length: 255
241
+ - name: number
242
+ type: str
243
+ length: 255
244
+ - name: name
245
+ type: str
246
+ length: 255
247
+
236
248
  #Agents table definition derived from agname.dat
237
249
  echi_agents:
238
250
  - name: group_id
@@ -256,7 +268,7 @@ echi_aux_reasons:
256
268
  - name: name
257
269
  type: str
258
270
  length: 255
259
-
271
+
260
272
  #CWC definition derived from cwc.dat
261
273
  echi_cwcs:
262
274
  - name: group_id
@@ -269,14 +281,50 @@ echi_cwcs:
269
281
  type: str
270
282
  length: 255
271
283
 
284
+ #Split table definition derived from split.dat
285
+ echi_splits:
286
+ - name: acd_number
287
+ type: str
288
+ length: 255
289
+ - name: number
290
+ type: str
291
+ length: 255
292
+ - name: name
293
+ type: str
294
+ length: 255
295
+
296
+ #Trunk Group table definition derived from tkgrp.dat
297
+ echi_trunk_groups:
298
+ - name: acd_number
299
+ type: str
300
+ length: 255
301
+ - name: trunk_group
302
+ type: str
303
+ length: 255
304
+ - name: name
305
+ type: str
306
+ length: 255
307
+
272
308
  #VDN definition derived from vdn.dat
273
309
  echi_vdns:
274
- - name: group_id
275
- type: str
276
- length: 255
277
- - name: vdn
278
- type: str
279
- length: 255
280
- - name: name
281
- type: str
282
- length: 255
310
+ - name: group_id
311
+ type: str
312
+ length: 255
313
+ - name: vdn
314
+ type: str
315
+ length: 255
316
+ - name: name
317
+ type: str
318
+ length: 255
319
+
320
+ #Vector definition derived from vector.dat
321
+ echi_vectors:
322
+ - name: acd_number
323
+ type: str
324
+ length: 255
325
+ - name: number
326
+ type: str
327
+ length: 255
328
+ - name: name
329
+ type: str
330
+ length: 255
@@ -0,0 +1,330 @@
1
+ #ECH File construct, order is important, as the application sequentially reads the file
2
+ #Version 14 - Extended Schema
3
+ echi_records:
4
+ - name: callid
5
+ type: int
6
+ length: 4
7
+ - name: acwtime
8
+ type: int
9
+ length: 4
10
+ - name: onholdtime
11
+ type: int
12
+ length: 4
13
+ - name: consulttime
14
+ type: int
15
+ length: 4
16
+ - name: disptime
17
+ type: int
18
+ length: 4
19
+ - name: duration
20
+ type: int
21
+ length: 4
22
+ - name: segstart
23
+ type: datetime
24
+ length: 4
25
+ - name: segstop
26
+ type: datetime
27
+ length: 4
28
+ - name: talktime
29
+ type: int
30
+ length: 4
31
+ - name: netintime
32
+ type: int
33
+ length: 4
34
+ - name: origholdtime
35
+ type: int
36
+ length: 4
37
+ - name: queuetime
38
+ type: int
39
+ length: 4
40
+ - name: ringtime
41
+ type: int
42
+ length: 4
43
+ - name: dispivector
44
+ type: int
45
+ length: 2
46
+ - name: dispsplit
47
+ type: int
48
+ length: 2
49
+ - name: firstivector
50
+ type: int
51
+ length: 2
52
+ - name: split1
53
+ type: int
54
+ length: 2
55
+ - name: split2
56
+ type: int
57
+ length: 2
58
+ - name: split3
59
+ type: int
60
+ length: 2
61
+ - name: trunkgroup
62
+ type: int
63
+ length: 2
64
+ - name: tklocid
65
+ type: int
66
+ length: 2
67
+ - name: origlocid
68
+ type: int
69
+ length: 2
70
+ - name: answerlocid
71
+ type: int
72
+ length: 2
73
+ - name: obslocid
74
+ type: int
75
+ length: 2
76
+ - name: uuilen
77
+ type: int
78
+ length: 2
79
+ - name: assist
80
+ type: bool
81
+ length: 1
82
+ - name: audiodifficulty
83
+ type: bool
84
+ length: 1
85
+ - name: conference
86
+ type: bool
87
+ length: 1
88
+ - name: daqueued
89
+ type: bool
90
+ length: 1
91
+ - name: holdabn
92
+ type: bool
93
+ length: 1
94
+ - name: malicious
95
+ type: bool
96
+ length: 1
97
+ - name: observingcall
98
+ type: bool
99
+ length: 1
100
+ - name: transferred
101
+ type: bool
102
+ length: 1
103
+ - name: agentreleased
104
+ type: boolint
105
+ length: 1
106
+ - name: acdnum
107
+ type: int
108
+ length: 1
109
+ - name: calldisp
110
+ type: int
111
+ length: 1
112
+ - name: disppriority
113
+ type: int
114
+ length: 1
115
+ - name: holds
116
+ type: int
117
+ length: 1
118
+ - name: segment
119
+ type: int
120
+ length: 1
121
+ - name: ansreason
122
+ type: int
123
+ length: 1
124
+ - name: origreason
125
+ type: int
126
+ length: 1
127
+ - name: dispsklevel
128
+ type: int
129
+ length: 1
130
+ - name: events0
131
+ type: int
132
+ length: 1
133
+ - name: events1
134
+ type: int
135
+ length: 1
136
+ - name: events2
137
+ type: int
138
+ length: 1
139
+ - name: events3
140
+ type: int
141
+ length: 1
142
+ - name: events4
143
+ type: int
144
+ length: 1
145
+ - name: events5
146
+ type: int
147
+ length: 1
148
+ - name: events6
149
+ type: int
150
+ length: 1
151
+ - name: events7
152
+ type: int
153
+ length: 1
154
+ - name: events8
155
+ type: int
156
+ length: 1
157
+ - name: ucid
158
+ type: str
159
+ length: 21
160
+ - name: dispvdn
161
+ type: str
162
+ length: 8
163
+ - name: eqloc
164
+ type: str
165
+ length: 10
166
+ - name: firstvdn
167
+ type: str
168
+ length: 8
169
+ - name: origlogid
170
+ type: str
171
+ length: 10
172
+ - name: anslogid
173
+ type: str
174
+ length: 10
175
+ - name: lastobserver
176
+ type: str
177
+ length: 10
178
+ - name: dialednumber
179
+ type: str
180
+ length: 25
181
+ - name: callingparty
182
+ type: str
183
+ length: 13
184
+ - name: collectdigits
185
+ type: str
186
+ length: 17
187
+ - name: cwcdigits
188
+ type: str
189
+ length: 17
190
+ - name: callingII
191
+ type: str
192
+ length: 3
193
+ - name: cwcs0
194
+ type: str
195
+ length: 17
196
+ - name: cwcs1
197
+ type: str
198
+ length: 17
199
+ - name: cwcs2
200
+ type: str
201
+ length: 17
202
+ - name: cwcs3
203
+ type: str
204
+ length: 17
205
+ - name: cwcs4
206
+ type: str
207
+ length: 17
208
+ - name: vdn2
209
+ type: str
210
+ length: 8
211
+ - name: vdn3
212
+ type: str
213
+ length: 8
214
+ - name: vdn4
215
+ type: str
216
+ length: 8
217
+ - name: vdn5
218
+ type: str
219
+ length: 8
220
+ - name: vdn6
221
+ type: str
222
+ length: 8
223
+ - name: vdn7
224
+ type: str
225
+ length: 8
226
+ - name: vdn8
227
+ type: str
228
+ length: 8
229
+ - name: vdn9
230
+ type: str
231
+ length: 8
232
+ - name: asaiuui
233
+ type: str
234
+ length: 96
235
+
236
+ #ACD table definition derived from acd.dat
237
+ echi_acds:
238
+ - name: acd_id
239
+ type: str
240
+ length: 255
241
+ - name: number
242
+ type: str
243
+ length: 255
244
+ - name: name
245
+ type: str
246
+ length: 255
247
+
248
+ #Agents table definition derived from agname.dat
249
+ echi_agents:
250
+ - name: group_id
251
+ type: str
252
+ length: 255
253
+ - name: login_id
254
+ type: str
255
+ length: 255
256
+ - name: name
257
+ type: str
258
+ length: 255
259
+
260
+ #Aux Reasons table definition derived from aux_rsn.dat
261
+ echi_aux_reasons:
262
+ - name: group_id
263
+ type: str
264
+ length: 255
265
+ - name: aux_reason
266
+ type: str
267
+ length: 255
268
+ - name: name
269
+ type: str
270
+ length: 255
271
+
272
+ #CWC definition derived from cwc.dat
273
+ echi_cwcs:
274
+ - name: group_id
275
+ type: str
276
+ length: 255
277
+ - name: cwc
278
+ type: str
279
+ length: 255
280
+ - name: name
281
+ type: str
282
+ length: 255
283
+
284
+ #Split table definition derived from split.dat
285
+ echi_splits:
286
+ - name: acd_number
287
+ type: str
288
+ length: 255
289
+ - name: number
290
+ type: str
291
+ length: 255
292
+ - name: name
293
+ type: str
294
+ length: 255
295
+
296
+ #Trunk Group table definition derived from tkgrp.dat
297
+ echi_trunk_groups:
298
+ - name: acd_number
299
+ type: str
300
+ length: 255
301
+ - name: trunk_group
302
+ type: str
303
+ length: 255
304
+ - name: name
305
+ type: str
306
+ length: 255
307
+
308
+ #VDN definition derived from vdn.dat
309
+ echi_vdns:
310
+ - name: group_id
311
+ type: str
312
+ length: 255
313
+ - name: vdn
314
+ type: str
315
+ length: 255
316
+ - name: name
317
+ type: str
318
+ length: 255
319
+
320
+ #Vector definition derived from vector.dat
321
+ echi_vectors:
322
+ - name: acd_number
323
+ type: str
324
+ length: 255
325
+ - name: number
326
+ type: str
327
+ length: 255
328
+ - name: name
329
+ type: str
330
+ length: 255