VoiceGuide IVR Software Main Page
Jump to content

Problme Of Playing And Get Number Module

Recommended Posts

Dear support,

 

This is for the temporary version, VoiceGuide_7.0.7_rc2, which was distributed to fix my SQL Server DB issue for outdial.

 

I have an issue with a new script, which I am not sure is related with the new patch.

 

From the Login.vgs script, once userID and password are verified, the script checks if there is a reserved shift for the user.

If there is one, the script plays TTs and go to the next script if 1 is pressed.

Up to this point, it looks OK.

 

But from the new script, ScheduleHiring_HandleReservation.vgs, it works in a weird way.

Once the script begins, GenerateReservation (vbScript) generates a text file that contais shift information and passes the path as RV, named "$RV[ReservationInfoPath]" so that it plays in the next module, "PlayGetReservation."

 

However, when I call, the scripts bypasses this "PlayGetReservation" module without playing the text file ("temp\RV_LineID_ReservationInfo.txt"), and runs the next module, "PlayConfirmReservationResponse."

 

The log even shows that it is taking "success" path. VG seems to try to replace this file path RV after it gets to the next module.

 

I am attaching the log that shows this.

 

Please let me know what is wrong. The thing is this is a kind of standardized template I have been using for generating TTS for GetNumber module in other scripts.

 

Thanks in advance.

 

ReservedShiftLog.zip

Share this post


Link to post

From the trace it looks like after the module [GenerateReservation] is started the system receives a Run_ResultReturn [success] call (presumably from the VBscript in module [GenerateReservation] ?) and only afterwards the RvSet calls are made.

 

If you can post the VoiceGuide scriptsused then we'd be able to better see any issues with the VBSripts themselves.

 

Maybe you are calling a Run_ResultReturn after doing the Script_Goto call in module [GoToRsvHandlingScript] ?

If that's what the current script is doing then this is what would be causing the problem. You should not make a call to a Run_ResultReturn function after you make a Script_Goto call. Once the VBScript calls a function makes a call to VoiceGuide advising it what module to run next it should not immediately afterwards make another call to a function advising it what module to run next...

 

162215.386 14 1 state [GenerateReservation] type: VB Script, iRunWait=1

162215.386 14 1 rv replace start (strlen>500)

 

162215.386 14 1 script will be ran from file: C:\Program Files\VoiceGuide\temp\vbs_1_5.vbs

162215.386 14 1 current objVbsOrExeProcess=

162215.386 14 1 RunVBScriptFile [wscript][C:\Program Files\VoiceGuide\temp\vbs_1_5.vbs][] timeout=60 (vbsPath=C:\Program Files\VoiceGuide\temp), start (new Process)

162215.402 14 1 objVbsOrExeProcess.Start call

162215.417 14 1 RunVBScriptFile just started. Handle=33916, Id=1468, StartTime=9/29/2008 4:22:15 PM, HasExited=False

162215.417 14 1 VBScript started [C:\Program Files\VoiceGuide\temp\vbs_1_5.vbs], ProcessHandle=[33916], VbsOrExeProcess.WorkingSet=[65536]

162215.417 14 1 RunModule_Script_AfterScriptStarted start

162215.417 14 1 waiting. iRunWait=1 (process:33916)

162215.417 14 1 t set 1 EV_TIMEOUT_CHECKONSTATE

162215.417 14 2 NewVgsVgm_Goto end

162215.448 14 1 rem Run_ResultReturn [success]

162215.448 14 1 rv add [GenerateReservation_ResultReturn]{success}

162215.448 14 1 path {success} found (at offset 3)

162215.448 14 1 FindNextVgmTitleInPathList: next module title is=[PlayGetReservationResult]

162215.448 14 1 module's runwait=1, WavPlayHasNowFinished=0, iRunWait_ExeResult_NextVgm=62

162215.448 14 1 t clear (force=False)

162215.448 14 1 RunModule start [Get Numbers,[PlayGetReservationResult],62]

162215.448 14 1 state [PlayGetReservationResult] Number Input

162215.448 14 1 PrepareAndPlayWavAndTts start iModuleIdx=62, iPlayFileIdx=1, bMakeTtsFile=True, sSoundFileIs=

162215.448 14 1 rv replace start: [$RV[ReservationInfoPath]]

 

162215.448 14 1 rv replace end: []

162215.448 14 1 PrepareAndPlayWavAndTTS sPlayFile=

162215.448 14 1 state [PlayGetReservationResult] Playing wav ()

162215.448 14 1 tqScr enq cmd_ScriptEventCode

162215.448 6 1 tqScr run cmd_ScriptEventCode EV_PLAY_FINISHED, iActionID=0, crn=0[0|0|0|0|0][|||||]

162215.448 6 1 ScriptEvent EV_PLAY_FINISHED ||

162215.448 6 1 LsGetNbrsPlayWelcMsg EV_PLAY_FINISHED,EV_PLAY_FINISHED

162215.448 6 1 path {EV_PLAY_FINISHED} not found

162215.448 6 1 iCurrReplayCount=0, iMaxReplayCount=2

162215.448 6 1 t set 5 EV_TIMEOUT_REPLAYMSG

162215.448 14 1 asr no grammar file found [C:\Program Files\VoiceGuide\Scripts\IntelliTime\srgs_PlayGetReservationResult_1.gram][C:\Program Files\VoiceGuide\Scripts\IntelliTime\srgs_PlayGetReservationResult.gram][C:\Program Files\VoiceGuide\Scripts\IntelliTime\srgs_PlayGetReservationResult_1.txt][C:\Program Files\VoiceGuide\Scripts\IntelliTime\srgs_PlayGetReservationResult.txt]

162216.214 14 remoting link constructor activated: vgServices_CommandLink

162216.261 14 1 rem RvSet ReservationInfoPath, Temp\1_ReservationInfo.txt

162216.261 14 1 rv add [ReservationInfoPath]{Temp\1_ReservationInfo.txt}

 

 

Share this post


Link to post

Yes, that's how I use Script_GoTo: I always return a result (either success or fail) at the end of VBScript module.

 

If I don't use Run_ResultReturn for VBscript for passing "success," VG seems to hang up at that point without proceeding to the next module, describing (in the log) path could not be found.

 

Do you mean that I can use Script_GoTo function without passing a result at the end?

 

Please confirm what I am saying is correct. (If I can just use script_goTo without returning anything for the VBScript module)

I don't have VG in front of me so I can't test it right away but, I will do so tomorrow without result return to the script.

 

Thanks.

 

Share this post


Link to post
Do you mean that I can use Script_GoTo function without passing a result at the end?

Yes. When you call Script_GoTo VoiceGuide will immediately start running the module specified in the Script_GoTo function call.

 

Any Run_ResultReturn calls made afterwards will end up sending the value to the module currently executing on that line - which will usually be the module just started by the Script_GoTo function call.

 

If you make Script_GoTo call then just tidy up your VBScript and exit without making any other calls to functions which return results etc to VoiceGuide.

Share this post


Link to post

OK. That worked.

 

Thanks.

 

One more question:

As you might know I am currently using a temporary patch, VoiceGuide_7.0.7_rc2.

And I noticed that your site officially has VoiceGuide 7.0.7. Does it mean that I can replace my temporary patch with this official one?

 

I want it to be stable.

 

Please let me know.

 

 

Share this post


Link to post

The 7.0.7 release is the same as the 7.0.7_rc2 (some more tracing was added). There is no real advantage in your case to change to it.

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
×