VoiceGuide IVR Software Main Page
Jump to content

Capture Entered Number Timer Problems

Recommended Posts

Having a slight issue with the Capture Entered Number module. I have several in the script I'm building and one in particular is seemingly problematic.

 

It's a password entry module, and it plays the WAV prompting them to enter the password (set for between 4 and 8 characters) but within 1 second of the Wav finishing, it goes to the Success path (which is odd considering there is a VB database check that has to happen first). I have no Timeout options set in this module. No matter what I try (changing the expected number of input characters, removing the VB, rebuilding that module, etc.), it will not wait for more than 1 second after finishing the WAV.

 

Dialogic board, Get Numbers module works fine in several other instances in the same script, just something around that password module making it tricky. The module that follows it is just a PLAY module that says "Login Successful" followed by a DB module that loads some user info. The VB is very straight forward (just validating the password) and really shouldn't be part of the issue since it still happens when the VB is removed.

 

What would trigger a success prompt with no key presses or timeout values?

 

Any help would be greatly appreciated..

Share this post


Link to post

Could you please post a copy of VoiceGuide's Trace Logs which captures the problem, this will allow us to see what happened.

 

Enable logging by setting the log levels to 10 in VG.INI as per below:

[Log]

 

VoiceGuide=10

Then restart VG and make a test call which demonstrates the problem.

 

Trace files will be created in VG's \log\ subdirectory.

 

Please post the traces and the VoiceGuide script used.

 

When posting traces/scripts please .ZIP them up and post them as attachments.

Share this post


Link to post

Basically something is making more Run_ResultReturn call(s) then necessary.

 

Trace shows that while in module [GetPass] some external program or VBScript is issuing a Run_ResultReturn COM command, which is resulting in VoiceGuide taking a Success path.

 

If some external program/VBScript issues a Run_ResultReturn COM command while the systrem is in a Get Numbers module then that command will be interpreted as a result from the Get Numbers modules's verification script and will be acted upon.

 

I see that you are using a verification script in previous module ( [LoginID] ), so maybe the verification script is returning the value twice? (there is a 4-5 second difference between the first Run_ResultReturn and the second one.

 

 

 

Here is th relevant part of trace, with the two Run_ResultReturn function calls higlighted

 

114834.59 2 cl Run_ResultReturn [verify_passed]

114834.59 2 event EV_MODGETNBRS_VERIFY_PASS, iCode=9221 state=1301

114834.59 2 LsGetNbrsRxDigits EV_UNKNOWN_9221,EV_MODGETNBRS_VERIFY_PASS

114834.61 2 path {EV_MODGETNBRS_VERIFY_PASS} not found

114834.61 2 GetNbr EV_MODGETNBRS_VERIFY_PASS

114834.61 2 path {10491954} not found

114834.61 2 next module is [GetPass] (idx=39)

114834.61 2 rvns add [LoginID_PathTaken]{success}

114834.62 2 fn RunModule start [Get Numbers,[GetPass],39,,]

114834.62 2 timer clear

114834.62 2 state [GetPass] Number Input

114834.62 2 state [GetPass] Playing (C:\Program Files\VoiceGuide\TashmanVoice\Merch\Login\enterPassword.wav)

114834.64 2 timer clear

114834.65 2 play start ok, lPlayId=389484

114838.07 2 tw PlayEnd 2 389484

114838.07 2 play end id=389484, (current ID)

114838.07 2 event EV_PLAY_FINISHED, iCode=8001 state=1300

114838.07 2 LsGetNbrsPlayWelcMsg EV_PLAY_FINISHED,EV_PLAY_FINISHED

114838.09 2 path {EV_PLAY_FINISHED} not found

114838.09 2 timer set 5 EV_TIMEOUT_REPLAYMSG

114838.09 2 tw DialogicEvent 129,TDX_PLAY,389484,0,0,,,

114838.09 2 event TDX_PLAY, iCode=129 state=1301

114838.11 2 LsGetNbrsRxDigits EV_UNKNOWN_129,TDX_PLAY

114838.11 2 path {TDX_PLAY} not found

114839.04 2 cl Run_ResultReturn [verify_passed]

114839.04 2 event EV_MODGETNBRS_VERIFY_PASS, iCode=9221 state=1301

Share this post


Link to post

Excellent analysis! I turned on a msgbox for the result, and I do see it occur twice. I used msgboxes to determine when it was launching, and figured out the reason.

 

I had an 8 character login ID, and had the Get Numbers module set for min=8, max=8. The issue occured when I hit the hash key after entering the number (starting a second VB run, since it started one when the 8 characters were entered). I changed the max to 9, and now it's working as expected.

 

Thanks for your help!

 

John

Share this post


Link to post
The issue occured when I hit the hash key after entering the number (starting a second VB run, since it started one when the 8 characters were entered).

Thanks for pointing that out. We missed that ourselves (assumed the verification script was just returning a value twice...)

 

We'll look into the behavior of the VoiceGuide software on this as well - most likely VoiceGuide should be preventing the running of the verification script the second time in this situation as well. Effectively the # should be ignored as the data entry has completed.

 

But if the verification script were not running that # pressed after the max number of digits were entered would have been passed as the input to next module (As part of 'Dial Ahead' support).

 

We'd usually recommend that 'max digits' setting not be used in Get Numbers modules in situations where callers may press # as well to end data input.

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
×