Guest Rick Elliott Report post Posted 06/03/2003 06:04 PM Since I can't seem to get the DialListNew.txt thing working, I thought I'd try mucking with the callque table in DialList.mdb directly. The ActivateTime field I assume is the time at which a call will be made. What is the number format used there? I assume it's some kind of elapsed time since an aribitrary inception date, but I'm not sure how to generate it in Access or Excel. I'm afraid I don't know VisualBasic, so I hope it can be generated in the former tools. Share this post Link to post
SupportTeam Report post Posted 06/04/2003 12:22 AM Activate time is in format: YMMDDHHNN So a value of 306101403 would mean "Dial this number on 10th June 2003, at 2:03 pm" Note that you only use one digit to indicate the year. I attach a screenshot which shows the DialList.mdb database after I just loaded some numbers into it to be called. First two numbers were loaded using the VoiceGuide telephone number loader. The next two were loaded using this DialListNew.txt file: 2:03 PM 10 June 03, 5551111, 3, 120, d:\Sound Files\welcome1.wav, d:\VoiceGuide Scripts\statequery.vgs 2:03 PM 10 June 03, 5552222, 3, 120, d:\Sound Files\welcome1.wav, d:\VoiceGuide Scripts\statequery.vgs In next message I will also attach a new VGMULI.EXE which allows you to use the name of the month in DialListNew.txt Share this post Link to post
SupportTeam Report post Posted 06/04/2003 12:26 AM Replacement VGMULTI.EXE v4.9 which allows you to use the name of the month in DialListNew.txt VgMulti_4.9.0_DialListNew_fix.zip Share this post Link to post
Guest Rick Elliott Report post Posted 06/05/2003 12:59 AM Thanks for the reply. I can probably figure out how to create an access table with the right structure now, even if I can't get the diallistnew.txt thingy working. I'm afraid the patched vgmulti.exe caused more problems than it appears to be worth: after I unzipped it, my product came up unregistered with a new and different unique identifier. So my previous registration code didn't work. It took several tries to get the product reinstalled and working again with the old reg code. So unless this is the only way for me to get DialListNew.txt working, thanks but no thanks. Share this post Link to post
SupportTeam Report post Posted 06/05/2003 05:25 AM The new vgmulti.exe was an update for v4.9 of VoiceGuide - it will not work with previous versions. If sounds like you are not currently running v4.9 but some previous version.... v4.9 does require a new registration code... Share this post Link to post
Guest Guest Report post Posted 06/05/2003 10:24 PM When did 4.9 come out? I purchased 4.8 only last month...is there an upgrade policy? I wrote a perl script that generates a CSV file that can be imported into Access to create the callque table. It takes 3 parameters: the time (hours from now) that you wish to start calling, the number of days you want to generate records for, and the interval between the calls. All the other info (phone numbers, scripts, retries, etc.) are hard coded but could easily be "parameterized". If this is of interest to anyone, here's the code. (Please, no flames about my perl skills: they suck but get the job done!) #!/usr/local/bin/perl -w # generate-callqueue.pl - generates a comma separated list of values suitable for importing # into the Access callque table, used by IVG to schedule calls to make. # Author: Rick Elliott # Date: 05-June-2003 # Use at your own risk! use strict; use diagnostics; my $helptext = qq|Usage: generate-callqueue.pl -t [start time] -d [number of days] -i [interval] Purpose: generates a csv file of test calls to make in the monitoring system. This file must be imported into the callque table of the diallist.mdb file, located in the ivg\\data directory. Switches: -t [start time] = Number of hours from now to start the calls. -d [number of days] = Supply the number of days data to generate. -i [interval] = Supply the interval, in minutes, between each call. -h = Display this help text. \n|; die $helptext if (!defined ($ARGV[0])); my ($days, $interval, $start_time); if ($ARGV[0] eq "-d") { $days = $ARGV[1]; } elsif ($ARGV[0] eq "-i") { $interval = $ARGV[1]; } elsif ($ARGV[0] eq "-t") { $start_time = $ARGV[1]; } else { die $helptext; } if ($ARGV[2] eq "-d") { $days = $ARGV[3]; } elsif ($ARGV[2] eq "-i") { $interval = $ARGV[3]; } elsif ($ARGV[2] eq "-t") { $start_time = $ARGV[3]; } else { die $helptext; } if ($ARGV[4] eq "-d") { $days = $ARGV[5]; } elsif ($ARGV[4] eq "-i") { $interval = $ARGV[5]; } elsif ($ARGV[4] eq "-t") { $start_time = $ARGV[5]; } else { die $helptext; } my $t = time; $t += ($start_time * 60); # multiply hours by seconds and add to current time my $numrecords = ($days *86400) / ($interval * 60); # divide number of seconds overall by the interval seconds my $phone = "16503534761"; my @ivgjunk1 = (1,2359,'"MoTuWeThFrSaSu"','"NONE"'); my @ivgjunk2 = ('"none"',60,3,120,'"none"'); my $script = "C:\\sources\\intranet\\qa\\suites\\monitors\\end2end\\new\\inbound.vgs"; for (my $i = 1; $i<= $numrecords; $i++) { my ($sec,$min,$hour,$mday,$mon,$year) = ivgTime($t); my $ivgdate = "$year$mon$mday$hour$min"; my $printme = sprintf("%d,%s,%d,%d,%d,%s,%s,%s,%s,%s,%d,%d,%d,%s", $i,$phone,$ivgdate,@ivgjunk1,$script,$script,@ivgjunk2); print "$printme\n"; $t += ($interval * 60); } sub ivgTime { my $t = shift(@_); my ($sec,$min,$hour,$mday,$mon,$year) = localtime($t); #fix the year $year = $year + 1900; $year = substr($year,3,1); # returns just the ones digit #fix the month $mon = $mon + 1; #pad the day and month with leading zeros if (int($mday) < 10) { $mday = "0".$mday; } if (int($mon) < 10) { $mon = "0".$mon; } if (int($sec) < 10) { $sec = "0".$sec; } if (int($min) < 10) { $min = "0".$min; } if (int($hour) < 10) { $hour = "0".$hour; } return ($sec,$min,$hour,$mday,$mon,$year); } Share this post Link to post