VoiceGuide IVR Software Main Page
Jump to content

Format Of Activatetime Field In Diallist.mdb

Recommended Posts

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

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

post-2-1054686167.gif

Share this post


Link to post

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

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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×