Jump to content


< Back to Forum


 

Vgscript Stopped At Runwait=1


  • Please log in to reply

#1 MemBenTech 22 April 2015 - 02:52 AM

After working with your support team to rebuild our VoiceGuide system, 7.3.2, I believe, we seem to be mostly up & running with the exception of one module it seems to be getting hung up on.

 

We have our script set up rather simply;

it greets our members - asks for the area code of their station - from there it queries an Access database & reads a list of available options to the caller.

The caller then chooses the best fitting option & is given the choice to hear one of three options - new benefits, changed benefits, or cancelled benefits - two of these options are working, the other is getting hung up when it queries the database. The line status monitor shows its hung up at runwait=1 - but only on this one module, the other two are scripted (from what I can see) identically and they are having no issues with their functionality.

 

Not sure how to proceed, looking forward to your response.

 

** Below I've pasted the coding for two of the mentioned mod's - one is functioning correctly & the other is hung up at "runwait=1" & I have attached screenshots of the VGS & the notepad file of the VGS coding

 

Working correctly:
[StationTopMenu]
Type=Play
DispSize=86
Txt=To hear a list of new benefits, press 1.  To hear a list of recently changed benefits, press 2.  To hear a list of benefits which are no longer valid, press 3.  To select a new station, press 4
PlayFile1=wav files\StationTopMenu.wav
Replay=2,20
strTtsText=
on {1} goto [qnew]
on {2} goto [qch]
on {3} goto [qz]
on {4} goto [q1]

Position=49,716

[qnew]
Type=Database Query
DispSize=86
Txt=Query for new benifits
DbDatabase=
DbUser=
DbConnectString=Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\web_benefits.mdb;
DbSql=select name, city, valid from benefits where website_pull like '%$RV[TargetStation]%' and (last_date_changed)>DateAdd("d",Now(),-30) and new_change_del = ('.N') order by last_date_changed
RunHoldPlay=
RunWait=1
on {fail} goto [NoBenFound]
on {success} goto [MakeBen]

Position=91,823

[ReadBenFile]
Type=Play
DispSize=86
Txt=read the benfile
PlayFile1=C:\readbenfile.txt
Replay=2,5
strTtsText=
on {timeout 0} goto [RepeatQuestion]

Position=92,1026

[NoBenFound]
Type=Play
DispSize=86
Txt=Play a sound file, then await a response...
Replay=0,5
strTtsText=There are no new entries.
on {timeout 0} goto [StationTopMenu]

Position=748,827

[MakeBen]
Type=Run VB Script
DispSize=86
Txt=make ben file (new)
VbsFileToRun=
VbsWait=1
VbScript=
dim tfound
dim count

Const ForAppending = 8
set fs = CreateObject("Scripting.FileSystemObject")
fs.DeleteFile("C:\readbenfile.txt")
set benfile = fs.OpenTextFile("C:\readbenfile.txt", ForAppending, True)
tfound = CInt("$RV[qnew_RowCount]")
benfile.WriteLine "We found the following " & tfound & " new benefits."

for count = 1 to tfound
  if count = 1 then
   benfile.WriteLine "$RV[qnew_1_1]" & ", " & "$RV[qnew_2_1]" & ", " & "$RV[qnew_3_1]"
  end if
  if count = 2 then
   benfile.WriteLine "$RV[qnew_1_2]" & ", " & "$RV[qnew_2_2]" & ", " & "$RV[qnew_3_2]"
  end if
  if count = 3 then
   benfile.WriteLine "$RV[qnew_1_3]" & ", " & "$RV[qnew_2_3]" & ", " & "$RV[qnew_3_3]"
  end if
  if count = 4 then
   benfile.WriteLine "$RV[qnew_1_4]" & ", " & "$RV[qnew_2_4]" & ", " & "$RV[qnew_3_4]"
  end if
  if count = 5 then
   benfile.WriteLine "$RV[qnew_1_5]" & ", " & "$RV[qnew_2_5]" & ", " & "$RV[qnew_3_5]"
  end if
  if count = 6 then
   benfile.WriteLine "$RV[qnew_1_6]" & ", " & "$RV[qnew_2_6]" & ", " & "$RV[qnew_3_6]"
  end if
  if count = 7 then
   benfile.WriteLine "$RV[qnew_1_7]" & ", " & "$RV[qnew_2_7]" & ", " & "$RV[qnew_3_7]"
  end if
  if count = 8 then
   benfile.WriteLine "$RV[qnew_1_8]" & ", " & "$RV[qnew_2_8]" & ", " & "$RV[qnew_3_8]"
  end if
  if count = 9 then
   benfile.WriteLine "$RV[qnew_1_9]" & ", " & "$RV[qnew_2_9]" & ", " & "$RV[qnew_3_9]"
  end if
  if count = 10 then
   benfile.WriteLine "$RV[qnew_1_10]" & ", " & "$RV[qnew_2_10]" & ", " & "$RV[qnew_3_10]"
  end if
  if count = 11 then
   benfile.WriteLine "$RV[qnew_1_11]" & ", " & "$RV[qnew_2_11]" & ", " & "$RV[qnew_3_11]"
  end if
  if count = 12 then
   benfile.WriteLine "$RV[qnew_1_12]" & ", " & "$RV[qnew_2_12]" & ", " & "$RV[qnew_3_12]"
  end if
  if count = 13 then
   benfile.WriteLine "$RV[qnew_1_13]" & ", " & "$RV[qnew_2_13]" & ", " & "$RV[qnew_3_13]"
  end if
  if count = 14 then
   benfile.WriteLine "$RV[qnew_1_14]" & ", " & "$RV[qnew_2_14]" & ", " & "$RV[qnew_3_14]"
  end if
  if count = 15 then
   benfile.WriteLine "$RV[qnew_1_15]" & ", " & "$RV[qnew_2_15]" & ", " & "$RV[qnew_3_15]"
  end if
  if count = 16 then
   benfile.WriteLine "$RV[qnew_1_16]" & ", " & "$RV[qnew_2_16]" & ", " & "$RV[qnew_3_16]"
  end if
  if count = 17 then
   benfile.WriteLine "$RV[qnew_1_17]" & ", " & "$RV[qnew_2_17]" & ", " & "$RV[qnew_3_17]"
  end if
  if count = 18 then
   benfile.WriteLine "$RV[qnew_1_18]" & ", " & "$RV[qnew_2_18]" & ", " & "$RV[qnew_3_18]"
  end if
  if count = 19 then
   benfile.WriteLine "$RV[qnew_1_19]" & ", " & "$RV[qnew_2_19]" & ", " & "$RV[qnew_3_19]"
  end if
  if count = 20 then
   benfile.WriteLine "$RV[qnew_1_20]" & ", " & "$RV[qnew_2_20]" & ", " & "$RV[qnew_3_20]"
  end if






next





benfile.Close
set benfile = Nothing
set fs = Nothing
VbsHoldPlay=
on {success} goto [ReadBenFile]
on {fail} goto [ReadBenFile]

Position=88,919

[RepeatQuestion]
Type=Play
DispSize=86
Txt=ask to hear again or selct other list
Replay=3,5
strTtsText=To repeat the list, press 1. To hear other benifit options press 2
on {1} goto [ReadBenFile]
on {2} goto [StationTopMenu]

Position=92,1119

 

 

 

 

 

 

 

 

 

 

 

 

Hung up @ "runwait=1"

[qch]
Type=Database Query
DispSize=86
Txt=query for changed benifits
DbDatabase=
DbUser=
DbConnectString=Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\web_benefits.mdb;
DbSql=select name, city, valid from benefits where website_pull like '%$RV[TargetStation]%' and (last_date_changed)>DateAdd("d",Now(),-30) and new_change_del in ('C', 'CV', 'A', 'P', 'AP', 'AO', 'O', 'B', 'NN', 'NM') order by last_date_changed
RunHoldPlay=
RunWait=1
on {success} goto [MakeBen_2]
on {fail} goto [NoBenFound]

Position=293,824

[MakeBen_2]
Type=Run VB Script
DispSize=86
Txt=make ben file (changed)
VbsFileToRun=
VbsWait=1
VbScript=
dim tfound
dim count

Const ForAppending = 8
set fs = CreateObject("Scripting.FileSystemObject")
fs.DeleteFile("C:\readbenfile.txt")
set benfile = fs.OpenTextFile("C:\readbenfile.txt", ForAppending, True)
tfound = CInt("$RV[qch_RowCount]")
benfile.WriteLine "We found the following " & tfound & " changed benefits."

for count = 1 to tfound
  if count = 1 then
   benfile.WriteLine "$RV[qch_1_1]" & ", " & "$RV[qch_2_1]" & ", " & "$RV[qch_3_1]"
  end if
  if count = 2 then
   benfile.WriteLine "$RV[qch_1_2]" & ", " & "$RV[qch_2_2]" & ", " & "$RV[qch_3_2]"
  end if
  if count = 3 then
   benfile.WriteLine "$RV[qch_1_3]" & ", " & "$RV[qch_2_3]" & ", " & "$RV[qch_3_3]"
  end if
  if count = 4 then
   benfile.WriteLine "$RV[qch_1_4]" & ", " & "$RV[qch_2_4]" & ", " & "$RV[qch_3_4]"
  end if
  if count = 5 then
   benfile.WriteLine "$RV[qch_1_5]" & ", " & "$RV[qch_2_5]" & ", " & "$RV[qch_3_5]"
  end if
  if count = 6 then
   benfile.WriteLine "$RV[qch_1_6]" & ", " & "$RV[qch_2_6]" & ", " & "$RV[qch_3_6]"
  end if
  if count = 7 then
   benfile.WriteLine "$RV[qch_1_7]" & ", " & "$RV[qch_2_7]" & ", " & "$RV[qch_3_7]"
  end if
  if count = 8 then
   benfile.WriteLine "$RV[qch_1_8]" & ", " & "$RV[qch_2_8]" & ", " & "$RV[qch_3_8]"
  end if
  if count = 9 then
   benfile.WriteLine "$RV[qch_1_9]" & ", " & "$RV[qch_2_9]" & ", " & "$RV[qch_3_9]"
  end if
  if count = 10 then
   benfile.WriteLine "$RV[qch_1_10]" & ", " & "$RV[qch_2_10]" & ", " & "$RV[qch_3_10]"
  end if
  if count = 11 then
   benfile.WriteLine "$RV[qch_1_11]" & ", " & "$RV[qch_2_11]" & ", " & "$RV[qch_3_11]"
  end if
  if count = 12 then
   benfile.WriteLine "$RV[qch_1_12]" & ", " & "$RV[qch_2_12]" & ", " & "$RV[qch_3_12]"
  end if
  if count = 13 then
   benfile.WriteLine "$RV[qch_1_13]" & ", " & "$RV[qch_2_13]" & ", " & "$RV[qch_3_13]"
  end if
  if count = 14 then
   benfile.WriteLine "$RV[qch_1_14]" & ", " & "$RV[qch_2_14]" & ", " & "$RV[qch_3_14]"
  end if
  if count = 15 then
   benfile.WriteLine "$RV[qch_1_15]" & ", " & "$RV[qch_2_15]" & ", " & "$RV[qch_3_15]"
  end if
  if count = 16 then
   benfile.WriteLine "$RV[qch_1_16]" & ", " & "$RV[qch_2_16]" & ", " & "$RV[qch_3_16]"
  end if
  if count = 17 then
   benfile.WriteLine "$RV[qch_1_17]" & ", " & "$RV[qch_2_17]" & ", " & "$RV[qch_3_17]"
  end if
  if count = 18 then
   benfile.WriteLine "$RV[qch_1_18]" & ", " & "$RV[qch_2_18]" & ", " & "$RV[qch_3_18]"
  end if
  if count = 19 then
   benfile.WriteLine "$RV[qch_1_19]" & ", " & "$RV[qch_2_19]" & ", " & "$RV[qch_3_19]"
  end if
  if count = 20 then
   benfile.WriteLine "$RV[qch_1_20]" & ", " & "$RV[qch_2_20]" & ", " & "$RV[qch_3_20]"
  end if






next





benfile.Close
set benfile = Nothing
set fs = Nothing
VbsHoldPlay=
on {success} goto [ReadBenFile]
on {fail} goto [ReadBenFile]

Position=297,922
 

 

 



#2 SupportTeam 22 April 2015 - 07:40 AM

Can you please post the vgEngine trace that captures the problem call.

 

We can then see what happened on the system.

 

When posting trace please advise call time or some other identifying information so that we can identify which call we should be looking at.

 

Please .ZIP up the files before posting.



#3 MemBenTech 22 April 2015 - 11:52 PM

I apologize if this is not what you're looking for, I am new to dealing with VG.
 
I made 2 calls this morning to our hotline - 1 successful example at 9:37AM EST & 1 example of the script that is failing at 9:39 EM EST. I have attached all of the log, including the VGengine those calls produced.
 
If there's something else you need. Please let me know.
 
Thank you for your help



#4 SupportTeam 23 April 2015 - 04:41 PM

Trace shows there were 3 calls arriving at system, and in each case the call ended as Dialogic card detected a drop in loop current.

If some of the hangups were not intentional then the next step would be to check the wiring -  a fractured wire can lead to intermittent breaks in the circuit current.

 

Another approach would be to stop system from hanging up if loop current drop is detected (this can be set in VG.INI) but the best thing to do is to fix the wiring.

 

09:37:25.875

093732.484  6   3   2 state [Opening Greeting] Playing wav (wav files\greet.wav)

093748.921 18   3   2 state Hanging up... [Loop Current Off (non-xfer vgm)]

 

 

09:37:57.000

093941.890  6   3   2 state [ReadBenFile] Playing tts file (C:\Program Files\VoiceGuide\temp\tts_3_2.wav)

093949.031 18   3   2 state Hanging up... [Loop Current Off (non-xfer vgm)]

 

 

09:39:53.671

094102.515 13   3   2 state [MakeBen_2] type: Script_VBScript, iRunWait=1

094115.937 18   3   2 state Hanging up... [Loop Current Off (non-xfer vgm)]



#5 MemBenTech 23 April 2015 - 10:56 PM

Of the 3 calls you listed, the hang ups were intentional - that is how our callers are handled. The IVR just reads updated information to them & when they are done they end the call.

 

The 3rd example is the error I'm referring to - see how the second example at 9:37:57 is reading off information from the .txt file, while the third example at 9:39:53 is hung up at "runwait=1", that is the error I"m referring to.  It is stuck on that command & won't finish querying the information to export to the .txt file so it can read it to the caller.



#6 SupportTeam 24 April 2015 - 12:24 AM

The second call runs VBScript from module [MakeBen], but the 3rd call runs a different VBScript module: [MakeBen_2]

So looks like there is something wrong with the script in module [MakeBen_2]

One way to debug the VBScript is by adding some Admin_TraceLogAdd statements - these will add log entries to vgEngine log and let you see what part of script is running and then you can narrow down where the problem is.

 

Please see: http://www.voiceguid...tracelogadd.htm