VoiceGuide IVR Software Main Page
Jump to content

Problem With Vbscript

Recommended Posts

I know this is an old thread, but was this ever solved?

I'm having a very similar issue where a vbscript is not running intermitently. Our clients, using the system, have reported this from time to time and I've finally been able to pinpoint to the fact that a vbscript is not running.
Looking at older logs, it seems this have been going on for months.

Our script doesnt' do much, there are no loops. I just sets a few variables using vg.RvSet.
However, occasionaly it doesn't complete causing the next node to be unable to play a wav file because the path to this wavfile is set in the vbscript. But since the vbscript never runs, users hear: "The sound file specified can not be found"

Edited by SupportTeam
split into separate thread. See answer below for details

Share this post


Link to post

The original problem report refers to a VB Script that never ran because it had some sort of a bug in it (probably a file/directory access problem by the looks of it).

 

In your post you are saying that sometimes you see the script run and sometimes not?

 

We have not come across that before, can you please post some logs that capture the problem call, we can then see what is happening on this system.

 

Also, as it is a different type of problem we have moved this to new thread.

(original thread question was posted in is here: http://voiceguide.com/forums/index.php?showtopic=3261 )

Share this post


Link to post

I guess this would be the best section:
Basically we start by with a sound, with a decision to select a language.
Based on that language, a javascript module is run which initialises the custom wav path and a few other variables.
It seems like the vbscript just doesn't run and immediately goes to the next step which causes the say "The Sound File specified could not be found" because it can't find my custom wav because of the missing path.

Up until today I could never reproduce it because by the time I was alerted, when I tried, everything worked fine.
However yesterday, it just started permanently.
I tried to stop then start the IVR Service from the task bar. It then could not start up again. I tried it 6 times.
Then I rebooted.
Once rebooted everything worked fine.





105637.646 18 4 [MAIN_SelectLanguage] VGMTYPE_PLAY run start
105637.646 18 4 state [MAIN_SelectLanguage] Playing
105637.646 18 4 asr no grammar file found [C:\Program Files\VoiceGuide\Scripts\Objectif Lune\srgs_MAIN_SelectLanguage_3.gram][C:\Program Files\VoiceGuide\Scripts\Objectif Lune\srgs_MAIN_SelectLanguage.gram][C:\Program Files\VoiceGuide\Scripts\Objectif Lune\srgs_MAIN_SelectLanguage_3.txt][C:\Program Files\VoiceGuide\Scripts\Objectif Lune\srgs_MAIN_SelectLanguage.txt]
105637.646 18 4 PrepareAndPlayWavAndTts start iModuleIdx=1, iPlayFileIdx=1, bMakeTtsFile=True, sSoundFileIs=
105637.646 18 4 PrepareAndPlayWavAndTTS sPlayFile=C:\Program Files\VoiceGuide\system\voice\NewWav\CVG00-B.wav
105637.646 18 4 state [MAIN_SelectLanguage] Playing wav (C:\Program Files\VoiceGuide\system\voice\NewWav\CVG00-B.wav)
105637.646 18 4 sOptionsXml=
105637.646 18 4 tif/pdf/jpg check
105637.646 18 4 t clear (force=False)
105637.646 18 4 ktTel_PlayStart_Enqueue call
105637.646 18 4 tqTel que cmd_PlayStart [0,0,0,0,0][||||]
105637.646 18 4 play start ok, playId=754390
105637.646 7 4 tqTel run cmd_PlayStart
105637.646 18 4 ev Dialogic 134,TDX_CST, crn=10000048, 65535,0,0,DE_LCON,,
105637.646 18 4 tqScr enq cmd_ScriptEventCode
105637.646 6 4 tqScr run cmd_ScriptEventCode TDX_CST, iActionID=0, crn=0[65535|0|0|0|0][DE_LCON|||||]
105637.646 6 4 ScriptEvent TDX_CST DE_LCON||
105637.646 6 4 LsPlayMsg EV_UNKNOWN_134,TDX_CST
105637.646 6 4 path {TDX_CST} not found
105712.427 18 4 ev PlayEnd 4 754390
105712.427 18 4 play end id=754390, (current ID)
105712.427 18 4 tqScr enq cmd_ScriptEventCode
105712.427 6 4 tqScr run cmd_ScriptEventCode EV_PLAY_FINISHED, iActionID=0, crn=0[0|0|0|0|0][|||||]
105712.427 6 4 ScriptEvent EV_PLAY_FINISHED ||
105712.427 6 4 LsPlayMsg EV_PLAY_FINISHED,EV_PLAY_FINISHED
105712.427 6 4 path {EV_PLAY_FINISHED} not found
105712.427 6 4 iCurrReplayCount=0, iMaxReplayCount=0
105712.427 6 4 t set 10 EV_TIMEOUT_HANGUP
105712.427 6 4 t set 5 EV_TIMEOUT_GOTOMODULE
105713.037 18 4 ev dtmf 2 (268435528,50,0)
105713.037 18 4 tqScr enq cmd_ScriptEventCode
105713.037 6 4 tqScr run cmd_ScriptEventCode 2, iActionID=0, crn=0[0|0|0|0|0][|||||]
105713.037 6 4 ScriptEvent 2 ||
105713.037 6 4 LsPlayMsgFinished 2,2, [ ], [ ], []
105713.037 6 4 path {2} found (at offset 3)
105713.037 6 4 FindNextVgmTitleInPathList: next module title is=[iNIT_DirSystemVoice_E]
105713.037 6 4 rv add [MAIN_SelectLanguage]{2}
105713.037 6 4 t clear (force=False)
105713.037 6 4 RunModule start [Evaluate,[iNIT_DirSystemVoice_E],26]
105713.037 6 4 state [iNIT_DirSystemVoice_E] Evaluate ["c:\program files\voiceguide\system\voice\"]
105713.037 6 4 eval[Cstr("c:\program files\voiceguide\system\voice\")]
105713.052 6 4 CreateInstance ScriptControl objSC is: [system.__ComObject]
105713.052 6 4 rv add [iNIT_DirSystemVoice_E_Input]{"c:\program files\voiceguide\system\voice\"}
105713.052 6 4 rv add [iNIT_DirSystemVoice_E]{c:\program files\voiceguide\system\voice\}
105713.052 6 4 rv add [dirsystemvoice]{c:\program files\voiceguide\system\voice\}
105713.052 6 4 set strDirSysVoice=[c:\program files\voiceguide\system\voice\]
105713.052 6 4 Eval Expr result:[c:\program files\voiceguide\system\voice\] stored in RV[dirsystemvoice]
105713.052 6 4 path {c:\program files\voiceguide\system\voice\} not found
105713.052 6 4 matching path not found [c:\program files\voiceguide\system\voice\], try boolean paths.
105713.052 6 4 ex: ScriptIo.VGMTYPE_EVALEXPR [c:\program files\voiceguide\system\voice\] could not be converted to boolean. Take Success path as string non-empty.
105713.052 6 4 FindNextVgmTitleInPathList: next module title is=[VBS_InitLanguage]
105713.052 6 4 matching path found (Boolean True)
105713.052 6 4 t clear (force=False)
105713.052 6 4 RunModule start [Run VB Script,[VBS_InitLanguage],27]
105713.052 6 4 state [VBS_InitLanguage] type: VB Script, iRunWait=1
105713.052 6 4 rv replace start (strlen>500)
105713.052 6 4 rvns: [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[scriptPath]{C:\Program Files\VoiceGuide\Scripts\Objectif Lune\}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\Objectif Lune\}[$RV_STARTTIME]{2015-01-07 10:56:37}[$RV_DEVICEID]{4}[DlgcVoice]{dxxxB1C3}[DlgcNetwork]{dxxxB1C3}[$RV_CIDNAME]{}[PathApp]{C:\Program Files\VoiceGuide\}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\Objectif Lune\}[$RV_CIDNUMBER]{}[MAIN_SelectLanguage]{2}[iNIT_DirSystemVoice_E_Input]{"c:\program files\voiceguide\system\voice\"}[iNIT_DirSystemVoice_E]{c:\program files\voiceguide\system\voice\}[dirsystemvoice]{c:\program files\voiceguide\system\voice\}
105713.052 6 4 script will be ran from file: C:\Program Files\VoiceGuide\temp\vbs_4_1.vbs
105713.052 6 4 delete existing: C:\Program Files\VoiceGuide\temp\vbs_4_1.vbs
105713.052 6 4 current objVbsOrExeProcess=
105713.052 6 4 RunVBScriptFile [wscript][C:\Program Files\VoiceGuide\temp\vbs_4_1.vbs][] timeout=15 (vbsPath=C:\Program Files\VoiceGuide\temp), start (new Process)
105713.052 6 4 objVbsOrExeProcess.Start call
105713.068 6 4 RunVBScriptFile just started. Handle=34224, Id=3008, StartTime=1/7/2015 10:57:13 AM, HasExited=False
105713.068 6 4 VBScript started [C:\Program Files\VoiceGuide\temp\vbs_4_1.vbs], ProcessHandle=[34224], VbsOrExeProcess.WorkingSet=[77824]
105713.068 6 4 RunModule_Script_AfterScriptStarted start
105713.068 6 4 waiting. iRunWait=1 (process:34224)
105713.068 6 4 t set 1 EV_TIMEOUT_CHECKONSTATE
105714.130 70 4 timer fired EV_TIMEOUT_CHECKONSTATE

105714.130 70 4 tqScr enq cmd_ScriptEventCode
105714.130 6 4 tqScr run cmd_ScriptEventCode EV_TIMEOUT_CHECKONSTATE, iActionID=0, crn=0[0|0|0|0|0][|||||]
105714.130 6 4 ScriptEvent EV_TIMEOUT_CHECKONSTATE ||
105714.130 6 4 LsRunWaitTillFinished EV_TIMEOUT_CHECKONSTATE lCode2Str=EV_TIMEOUT_CHECKONSTATE
105714.130 6 4 Process.HasExited is true (System.Diagnostics.Process (wscript))
105714.130 6 4 task completed. vgm=27, iRunWait=1, iRunWait_ExeResult_NextVgm=0=[]
105714.130 6 4 ExeResult_NextVgm has not been set. check for Result file.
105714.130 6 4 no result file returned from program (VGRUNRESULT_4.TXT).
105714.130 6 4 FindNextVgmTitleInPathList: next module title is=[PROMPT_Choices]
105714.130 6 4 task completed LsRunWaitChooseNext iNextVgm=3
105714.130 6 4 t clear (force=False)
105714.130 6 4 RunModule start [Get Numbers,[PROMPT_Choices],3]
105714.130 6 4 state [PROMPT_Choices] Number Input
105714.130 6 4 PrepareAndPlayWavAndTts start iModuleIdx=3, iPlayFileIdx=1, bMakeTtsFile=True, sSoundFileIs=
105714.130 6 4 rv replace start: [$RV[WavPath]\CVG01-$RV[selectedLanguage].wav]
105714.130 6 4 rvns: [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[scriptPath]{C:\Program Files\VoiceGuide\Scripts\Objectif Lune\}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\Objectif Lune\}[$RV_STARTTIME]{2015-01-07 10:56:37}[$RV_DEVICEID]{4}[DlgcVoice]{dxxxB1C3}[DlgcNetwork]{dxxxB1C3}[$RV_CIDNAME]{}[PathApp]{C:\Program Files\VoiceGuide\}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\Objectif Lune\}[$RV_CIDNUMBER]{}[MAIN_SelectLanguage]{2}[iNIT_DirSystemVoice_E_Input]{"c:\program files\voiceguide\system\voice\"}[iNIT_DirSystemVoice_E]{c:\program files\voiceguide\system\voice\}[dirsystemvoice]{c:\program files\voiceguide\system\voice\}
105714.130 6 4 rv replace end: [\CVG01-.wav]
105714.130 6 4 PrepareAndPlayWavAndTTS sPlayFile=\CVG01-.wav
105714.130 6 4 state [PROMPT_Choices] Playing wav (\CVG01-.wav)
105714.130 6 4 sOptionsXml=
105714.130 6 4 tif/pdf/jpg check
105714.130 6 4 File not found [\CVG01-.wav], DirSysVoice=[c:\program files\voiceguide\system\voice\]
105714.130 6 4 t clear (force=False)


Share this post


Link to post

Is the VBScript just used to set some variables? Or does it do anything else?

Do you have any other VBScript modules in your script? Are they only used to set variables as well, or are they used for other tasks?

 

Did you have a look at the list of processes running (using Task Manager) and see whether there was a number of wscript processes still on the active task list ?

 

If the VBScripts are pretty simple and just do setting of variables etc. then probably the best next step would be to just update your system to latest version of VoiceGuide.

 

Newest version uses a different way of executing the VBScripts (wscript/cscript is not used anymore - Microsoft's ClearScript engine is used instead)

and on systems that has problems with wscript tasks not always closing down (mostly WinXP) then switching to ClearScript resolved that problem.

 

Another approach would be to set the variables using a series of Evaluate Expression modules instead of using VBScript.

Share this post


Link to post

This particular vbscript only sets variables.

There are other vbscripts called further in the workflow which do much more like call sql server stored procedures and such.
Removing all vbscripts is not an option.

I had not looked at the Task Manager.

We do have version 6, but I think switching to version 7 means we'd have to change dialogic cards?

We are on Windows 2003 Server R2

Share this post


Link to post

The version installed on your system is a "version 7".

 

The script designer application is a "version 6", but the actual software is a "version 7".

 

You can check what version is running by looking at the first few lines of the vgEngine trace. The IVR engine version number is reported there.

 

Recommend monitoring memory usage and tasks running on system, wscript/cscript script executing program may not exit fully unless all objects created within it are properly disposed first. If too many processes remain running then they use up system's resources, and may lead to a situation like you described originally.

 

On systems which use wscript/cscript to execute the VBScripts we also recommend reducing the number of VBScript modules used where possible.

Share this post


Link to post

I see it, we are running v7.0.3252.3654

I assume minor version upgrades are free included with our existing license?

For now, I've recommended the server also be rebooted every morning. Perhaps that will reduce the number of times it starts "acting" up

Is upgrading from 7.0 to 7.4 an easy process? Would there be any changes required to scripts to correct any breaking changes?
Do you have some release notes of updates that were added between the version we're running and the latest version?

Share this post


Link to post
I assume minor version upgrades are free included with our existing license?

 

Yes.

 

If you are using v7.0 then sounds like your system has now been running for 5+ years, but you can download current v7.4 and upgrade to it for free. Your v7.0 registration code will work with v7.4.

 

To change from one release of VoiceGuide v7 to another:

 

1. Stop VoiceGuide Service and exit all VoiceGuide programs. (eg Script Designer, Voicemail Manager, etc) and all other programs.

2. Run the VoiceGuide install and install into same directory as existing installation. (Do NOT uninstall the previous VoiceGuide installation).

3. Start VoiceGuide service.

 

Running a VoiceGuide install over the top of an existing install will NOT overwrite existing configuration or license files (Config.xml, ConfigLine.xml, VG.INI, VmBoxList.xml, userinfo.lic) and will not remove any of users script or sound files, and will not remove any log files etc.

 

(and rolling back to older version just involves installing older version over top of newer version.)

 

There have been some functionality changes between v7.0 and v7.4 - mainly in areas of how call transfers are made and ow VBSripts are ran. Other basic functionality remained the same.

 

If wscript processes sometimes do not terminate by themselves then regular restarting of system would be one way of clearing these tasks.

Share this post


Link to post

Hello,

A continuation of this thread from 2015

We had previously set up the server to reboot on a daily basis and that helped for a while. But now it started to get worse
We Contacted Voiceguide a while back and were told the version 7.4 was no longer available to us (a free upgrade) and that we had to buy version 7.5.

This is what we did, and the problem persists and is actually now worse and happening more often

Here is a normal call that works:

142428.098 26 6 4 not saving script (strIni_moduleRunScript_SaveToFile not set)
142428.098 26 6 4 runscr waiting. wait=1, calling iModuleIdx=27 (setting iRunWait_VgmIdx to 27)
142428.098 26 6 4 moh file not specified
142428.098 26 6 4 runscr call ClearScript Execute
142428.098 26 6 4 runscr new VBScriptEngine call
142428.098 26 6 4 runscr .Execute call



And when it starts Failing:

130620.452 33 6 4 not saving script (strIni_moduleRunScript_SaveToFile not set)
130620.452 33 6 4 runscr waiting. wait=1, calling iModuleIdx=27 (setting iRunWait_VgmIdx to 27)
130620.452 33 6 4 moh file not specified
130620.452 33 6 4 runscr call ClearScript Execute
130620.452 33 6 4 runscr new VBScriptEngine call
130620.452 33 6 4 ERROR v7.5.6267.23382 (27-Feb-17 12:59:25.18) Run_VBS_main_catchall : The system cannot find the file specified
at MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D wc_d)
at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks)
at System.Windows.Threading.Dispatcher..ctor()
at System.Windows.Threading.Dispatcher.get_CurrentDispatcher()
at Microsoft.ClearScript.Windows.WindowsScriptEngine..ctor(String progID, String name, WindowsScriptEngineFlags flags)
at Microsoft.ClearScript.Windows.VBScriptEngine..ctor(String progID, String name, WindowsScriptEngineFlags flags)
at Microsoft.ClearScript.Windows.VBScriptEngine..ctor(String name, WindowsScriptEngineFlags flags)
at ..(Object oParam)
130635.280 22 6 4 timer EV_TIMEOUT_GOTOMODULE


I'm not sure where to go from here

Share this post


Link to post

The 'Failing' trace example shows that the VBScript engine cannot be started.

 

This can happen if there is not enough memory on system to start a new VBScript engine task, so would recommend monitoring memory usage on this system.

 

Is anything else running on this system apart from Windows + Dialogic drivers + VoiceGuide ? No 'anti-virus' type programs ?

 

Please also .ZIP up all the vgEngine traces from the day when the 'Failing' excerpt was taken and post the .ZIP here. We can then see what is happening on the system and advise.

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
×