Guest amandavs Report post Posted 04/17/2006 06:56 PM I have questions regarding two problems: 1) We are using voiceguide for a research study at a university, and we want to inform participants when they have pressed a wrong key while answering a series of questions through voiceguide. We tried using the gosub/return path, so that when they pressed the wrong key (e.g. the 2 key) in response to a module (we'll call it question 1 module), it would then go to the "wrong key" module, where the recording would tell them that they had hit the wrong key, and then return back to the question 1 module where they could hear the question again. The path looks like this in the question 1 module: on {2} gosub [Wrong Key] return [Question 1]. However, what is happening is that if they press the wrong key, they are being sent to the wrong key module, but then voiceguide just gets stuck there. The wrong key recording plays over and over, and then eventually voiceguide hangs up, no matter what keys are pressed after this point. Is there a way to make it so that voiceguide will return to the original module, and not get stuck on the Wrong Key module? 2) We also want participants to have the option of going back a question. So we have them press # to go back to the previous module. Voiceguide hangs up whenever we press # to go back to the previous module however. Why is this happening? Is there a way to fix it? Thanks, Caroline Share this post Link to post
SupportTeam Report post Posted 04/17/2006 09:57 PM The wrong key recording plays over and over And what is the 'replays' value set to in that module...? if it is set to 1 or more then that's the number of times the module will play the sound file... (if no keys are pressed to exit the module...) and then eventually voiceguide hangs up, no matter what keys are pressed after this point. Have you specified the "return" path from that module...? eg: on {timeout 0} return If you are still having problems then enable logging by setting the log levels to 10 in VG.INI as per below: [Log] VoiceGuide=10 NumberLoader=0 VoicemailManager=0 EmailSender=0 TapiWrapOcx=0 SapiWrapOcx=0 Then make a test call which demonstrates the problem. Debug Trace files will be created in VG's \log\ subdirectory. Please post the traces and the VoiceGuide script(s) used. When posting traces/scripts please .ZIP them up and post them as attachments. Share this post Link to post
Guest amandavs Report post Posted 04/19/2006 06:34 PM Here is the trace log of the call: The script gets stuck on the Wrong Key module and won't return to the original module. The path in the original module is: on {2} gosub [Wrong Key] return [Question 1] The path in the Wrong Key module is: on {timeout 0} return [Question 1]. 141132.05 0 sys cleanup Start 141132.05 0 sys cleanup End 141632.03 6 devstate NUMCALLS 0 0 141632.03 6 tapi callstate start 141632.03 6 tapi callstate OFFERING 66372 0 4 141632.03 6 rv clear 141632.03 6 Answer the call at 4/19/2006 2:16:32 PM 141632.03 6 lineAnswer(66372) => 66355 141632.03 6 ev Lev_CallerID [9198438143,,0000] 141632.03 6 rv lg add [DNIS]{0000} 141632.03 6 ev Lev_CallerID [9198438143,,0000] 141632.03 6 callinfo CALLEDID 141632.03 6 callinfo ORIGIN 141632.03 6 ring 0 141632.58 6 tapi callstate start 141632.58 6 tapi callstate CONNECTED 66372 1 0 141632.58 6 callstate CONNECTED 66372,1,0 141632.58 6 WorkingModeTAPI@Connected= 141632.58 6 WorkingModeScript@Connected= 141632.58 6 Inband detection not enabled 141632.58 6 StartLoadedVgs at 4/19/2006 2:16:32 PM, script interpretor VgMulti v5.2.5026 3 141632.58 6 rv ns add [scriptsPath]{C:\Program Files\VoiceGuide\Scripts\} 141632.58 6 rv ns add [scriptPath]{C:\Program Files\VoiceGuide\Scripts} 141632.59 6 rv lg add [$RV_STARTTIME]{4/19/2006 2:16:32 PM} 141632.59 6 rv lg add [$RV_DEVICEID]{6} 141632.59 6 rv lg add [$RV_CIDNAME]{} 141632.59 6 rv ns add [PathApp]{C:\Program Files\VoiceGuide\} 141632.59 6 rv lg add [$RV_CIDNUMBER]{9198438143} 141632.59 6 rv lg add [$RV_DNIS]{0000} 141632.59 6 rv lg add [DNIS]{0000} 141632.59 6 tapi Reply (LineEvReply) ok 66355 0 141632.59 6 callinfo MONITORMODES 141632.59 6 timer clear 141632.59 6 state [Welcome] Playing 141632.59 6 state [Welcome] Playing (welcome.wav) 141632.59 6 play set playid=513281 141632.61 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\welcome.wav] 141632.61 6 timer clear 141632.61 6 RunModule PLAY end 141632.61 6 callinfo MONITORMODES 141632.89 0 dial start any summary:|6:hc>0| 141634.81 6 dtmf 1 (66372,49,2) 141634.81 6 ScriptEventCode 49 iLineState=1100 141634.83 6 LsPlayMsg 1 141634.88 6 PlaySoundStop err=0 141634.88 6 rv lg add [Welcome]{1} 141634.88 6 timer clear 141634.88 6 state [Welcome 2] Playing 141634.88 6 state [Welcome 2] Playing (welcome2.wav) 141634.88 6 play set playid=515562 141634.88 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\welcome2.wav] 141634.88 6 timer clear 141634.88 6 RunModule PLAY end 141634.88 6 callinfo MONITORMODES 141635.98 6 dtmf 2 (66372,50,2) 141635.98 6 ScriptEventCode 50 iLineState=1100 141635.98 6 LsPlayMsg 2 141635.98 6 PutStuffOnReturnCallStack(,Wrong Key,,Welcome 2) 141635.98 6 stack idx=1 141636.03 6 PlaySoundStop err=0 141636.03 6 rv lg add [Welcome 2]{2} 141636.03 6 timer clear 141636.05 6 state [Wrong Key] Playing 141636.05 6 state [Wrong Key] Playing (Wrong Key.wav) 141636.05 6 play set playid=516734 141636.05 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\Wrong Key.wav] 141636.05 6 timer clear 141636.05 6 RunModule PLAY end 141636.05 6 callinfo MONITORMODES 141641.84 6 play end current play (playid=516734) 141641.84 6 ScriptEventCode 8001 iLineState=1100 141641.86 6 LsPlayMsg EV_PLAY_FINISHED 141641.86 6 eng set timer EV_TIMEOUT_REPLAYMSG time=5 141641.86 6 timer set 5 EV_TIMEOUT_REPLAYMSG 141646.97 6 dtmf 1 (66372,49,2) 141646.97 6 ScriptEventCode 49 iLineState=1101 141646.97 6 LsPlayMsgFinished 1 141646.97 6 path {1} not found 141647.23 6 timer fired EV_TIMEOUT_REPLAYMSG 141647.23 6 ScriptEventCode 9005 iLineState=1101 141647.23 6 LsPlayMsgFinished EV_TIMEOUT_REPLAYMSG 141647.23 6 state [Wrong Key] Playing (Wrong Key.wav) 141647.23 6 play set playid=527921 141647.23 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\Wrong Key.wav] 141647.23 6 timer clear 141647.23 6 callinfo MONITORMODES 141653.06 6 play end current play (playid=527921) 141653.06 6 ScriptEventCode 8001 iLineState=1100 141653.06 6 LsPlayMsg EV_PLAY_FINISHED 141653.06 6 eng set timer EV_TIMEOUT_REPLAYMSG time=5 141653.08 6 timer set 5 EV_TIMEOUT_REPLAYMSG 141653.23 6 tapi callstate start 141653.23 6 tapi callstate DISCONNECTED 66372 0 0 141653.25 6 ScriptEventCode 9250 iLineState=1101 141653.25 6 LsPlayMsgFinished EV_REMOTEPARTY_DISCONNECT 141653.25 6 rv lg add [Hangup Time]{4/19/2006 2:16:53 PM} 141653.25 6 state Hanging up call... 141653.25 6 RecSoundStop ok 141653.25 6 PlaySoundStop err=0 141653.25 6 timer set 2 EV_TIMEOUT_WAITFORIDLEAFTERLINEDROP 141653.25 6 fnHangupCall end 141653.28 6 devstate NUMCALLS 0 0 141653.30 6 tapi callstate start 141653.30 6 tapi callstate IDLE 66372 0 0 141653.30 6 WorkingMode@Idle= 141653.30 6 timer clear 141653.30 6 timer set 1 EV_TIMEOUT_TIMETOREINITLINE 141653.30 6 tapi Reply (LineEvReply) ok 66338 0 141654.28 6 timer fired EV_TIMEOUT_TIMETOREINITLINE 141654.28 6 ScriptEventCode 9008 iLineState=900 141654.28 6 LsAwaitingCalls EV_TIMEOUT_TIMETOREINITLINE 141654.28 6 ReinitTelephony due to IDLE 141654.28 6 tapic lineDeallocateCall(MainCall:66372) 0 141654.33 6 lineOpen(6)=> 141654.33 6 state Waiting for a call... 141654.33 6 LineHandle=66321 141654.33 6 amchk set AMdet=False in Reinit@idle 141654.33 6 timer set 3 EV_TIMEOUT_ATERIDLE_ALLOWOUT 141654.91 0 dial start any summary:|6:rdy=0| 141657.61 6 timer fired EV_TIMEOUT_ATERIDLE_ALLOWOUT 141657.61 6 ScriptEventCode 9013 iLineState=900 141657.91 0 dial start any summary:|6:idx=0| Share this post Link to post
SupportTeam Report post Posted 04/19/2006 11:41 PM What is the 'replays' value set to in the [Wrong Key] module...? if it is set to 1 or more then that's the number of times the module will play the sound file... The path specified in [Wrong Key] module should be: on {timeout 0} return Read: http://www.voiceguide.com/vghelp/html/Paths.htm It would be quicker if you just post the script which you are using as well... Share this post Link to post
Guest Caroline Report post Posted 04/20/2006 07:24 PM Thanks for your help, the gosub/return function is now working! However, we still need help with a second problem. As I have described before, we are using voiceguide for a research study at a university. The participants in the study answer a series of questions using voiceguide. We need participants in this research study to have the option of going back to a previous question. I have attached the script - When we call in and go to module "BDI - question 2", and then press the # Key, which is meant to send them back to module "BDI - question 1", voiceguide hangs up. The trace log is below: 151544.50 0 dial start any summary:|6:idx=0| 151609.42 6 devstate NUMCALLS 0 0 151609.44 6 tapi callstate start 151609.44 6 tapi callstate OFFERING 66372 0 4 151609.44 6 rv clear 151609.44 6 Answer the call at 4/20/2006 3:16:09 PM 151609.44 6 lineAnswer(66372) => 66355 151609.45 6 ev Lev_CallerID [2404268959,,0000] 151609.45 6 rv lg add [DNIS]{0000} 151609.47 6 ev Lev_CallerID [2404268959,,0000] 151609.47 6 callinfo CALLEDID 151609.48 6 callinfo ORIGIN 151609.48 6 ring 0 151609.52 0 dial start any summary:|6:hc>0| 151609.98 6 tapi callstate start 151610.00 6 tapi callstate CONNECTED 66372 1 0 151610.00 6 callstate CONNECTED 66372,1,0 151610.00 6 WorkingModeTAPI@Connected= 151610.00 6 WorkingModeScript@Connected= 151610.00 6 Inband detection not enabled 151610.02 6 StartLoadedVgs at 4/20/2006 3:16:10 PM, script interpretor VgMulti v5.2.5026 3 151610.02 6 rv ns add [scriptsPath]{C:\Program Files\VoiceGuide\Scripts\} 151610.02 6 rv ns add [scriptPath]{C:\Program Files\VoiceGuide\Scripts} 151610.02 6 rv lg add [$RV_STARTTIME]{4/20/2006 3:16:10 PM} 151610.03 6 rv lg add [$RV_DEVICEID]{6} 151610.03 6 rv lg add [$RV_CIDNAME]{} 151610.03 6 rv ns add [PathApp]{C:\Program Files\VoiceGuide\} 151610.03 6 rv lg add [$RV_CIDNUMBER]{2404268959} 151610.03 6 rv lg add [$RV_DNIS]{0000} 151610.05 6 rv lg add [DNIS]{0000} 151610.05 6 tapi Reply (LineEvReply) ok 66355 0 151610.06 6 callinfo MONITORMODES 151610.06 6 timer clear 151610.06 6 state [Welcome] Playing 151610.06 6 state [Welcome] Playing (welcome.wav) 151610.06 6 play set playid=490750 151610.11 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\welcome.wav] 151610.13 6 timer clear 151610.13 6 RunModule PLAY end 151610.13 6 callinfo MONITORMODES 151613.92 6 dtmf 1 (66372,49,2) 151613.92 6 ScriptEventCode 49 iLineState=1100 151613.92 6 LsPlayMsg 1 151613.98 6 PlaySoundStop err=0 151613.98 6 rv lg add [Welcome]{1} 151614.02 6 timer clear 151614.02 6 state [Welcome 2] Playing 151614.02 6 state [Welcome 2] Playing (welcome2.wav) 151614.02 6 play set playid=494703 151614.05 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\welcome2.wav] 151614.06 6 timer clear 151614.06 6 RunModule PLAY end 151614.08 6 callinfo MONITORMODES 151616.28 6 dtmf 1 (66372,49,2) 151616.28 6 ScriptEventCode 49 iLineState=1100 151616.30 6 LsPlayMsg 1 151616.36 6 PlaySoundStop err=0 151616.36 6 rv lg add [Welcome 2]{1} 151616.38 6 timer clear 151616.38 6 state [iD] Number Input 151616.38 6 state [iD] Playing (ID.wav) 151616.39 6 play set playid=497078 151616.42 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\ID.wav] 151616.42 6 timer clear 151616.44 6 callinfo MONITORMODES 151621.03 6 dtmf 1 (66372,49,2) 151621.03 6 ScriptEventCode 49 iLineState=1300 151621.05 6 LsGetNbrsPlayWelcMsg 1 151621.11 6 PlaySoundStop err=0 151621.11 6 state [iD] Number Input 1 151621.11 6 path {1} not found 151621.11 6 timer set 5 EV_TIMEOUT_GOTOMODULE 151621.27 6 dtmf 2 (66372,50,2) 151621.28 6 ScriptEventCode 50 iLineState=1301 151621.28 6 LsGetNbrsRxDigits 2 151621.28 6 state [iD] Number Input 12 151621.28 6 path {12} not found 151621.30 6 timer set 5 EV_TIMEOUT_GOTOMODULE 151621.61 6 dtmf 3 (66372,51,2) 151621.61 6 ScriptEventCode 51 iLineState=1301 151621.61 6 LsGetNbrsRxDigits 3 151621.63 6 state [iD] Number Input 123 151621.63 6 path {123} not found 151621.63 6 timer set 5 EV_TIMEOUT_GOTOMODULE 151621.91 6 dtmf 4 (66372,52,2) 151621.91 6 ScriptEventCode 52 iLineState=1301 151621.92 6 LsGetNbrsRxDigits 4 151621.92 6 state [iD] Number Input 1234 151621.92 6 path {1234} not found 151621.92 6 timer set 5 EV_TIMEOUT_GOTOMODULE 151621.94 6 timer clear 151621.94 6 rv lg add [iD]{1234} 151621.94 6 path {1234} not found 151621.94 6 rv ns add [iD_PathTaken]{success} 151621.94 6 timer clear 151621.95 6 state [Parent/Child] Playing 151621.95 6 state [Parent/Child] Playing (Parentchild.wav) 151621.95 6 play set playid=502640 151621.98 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\Parentchild.wav] 151622.00 6 timer clear 151622.00 6 RunModule PLAY end 151622.02 6 callinfo MONITORMODES 151624.89 6 dtmf 1 (66372,49,2) 151624.91 6 ScriptEventCode 49 iLineState=1100 151624.91 6 LsPlayMsg 1 151624.97 6 PlaySoundStop err=0 151624.97 6 rv lg add [Parent/Child]{1} 151624.98 6 timer clear 151625.00 6 state [Parent Instructions] Playing 151625.00 6 state [Parent Instructions] Playing (Parent Instructions.wav) 151625.00 6 play set playid=505687 151625.03 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\Parent Instructions.wav] 151625.03 6 timer clear 151625.05 6 RunModule PLAY end 151625.05 6 callinfo MONITORMODES 151629.03 6 dtmf 1 (66372,49,2) 151629.05 6 ScriptEventCode 49 iLineState=1100 151629.05 6 LsPlayMsg 1 151629.11 6 PlaySoundStop err=0 151629.11 6 rv lg add [Parent Instructions]{1} 151629.13 6 timer clear 151629.13 6 state [Parent example question] Playing 151629.14 6 state [Parent example question] Playing (Parent Example Question.wav) 151629.14 6 play set playid=509828 151629.17 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\Parent Example Question.wav] 151629.17 6 timer clear 151629.19 6 RunModule PLAY end 151629.19 6 callinfo MONITORMODES 151631.25 6 dtmf 1 (66372,49,2) 151631.25 6 ScriptEventCode 49 iLineState=1100 151631.25 6 LsPlayMsg 1 151631.31 6 PlaySoundStop err=0 151631.31 6 rv lg add [Parent example question]{1} 151631.34 6 timer clear 151631.34 6 state [if 1 is answer to example question] Playing 151631.34 6 state [if 1 is answer to example question] Playing (P If 1 is answer to example question.wav) 151631.34 6 play set playid=512031 151631.38 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\P If 1 is answer to example question.wav] 151631.39 6 timer clear 151631.39 6 RunModule PLAY end 151631.41 6 callinfo MONITORMODES 151636.89 6 dtmf 1 (66372,49,2) 151636.89 6 ScriptEventCode 49 iLineState=1100 151636.89 6 LsPlayMsg 1 151636.95 6 PlaySoundStop err=0 151636.95 6 rv lg add [if 1 is answer to example question]{1} 151636.97 6 timer clear 151636.98 6 state [bDI - question 1] Number Input 151636.98 6 state [bDI - question 1] Playing (BDI Q1.wav) 151636.98 6 play set playid=517671 151637.02 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\BDI Q1.wav] 151637.03 6 timer clear 151637.03 6 callinfo MONITORMODES 151640.22 6 dtmf 1 (66372,49,2) 151640.22 6 ScriptEventCode 49 iLineState=1300 151640.23 6 LsGetNbrsPlayWelcMsg 1 151640.30 6 PlaySoundStop err=0 151640.30 6 state [bDI - question 1] Number Input 1 151640.30 6 rv lg add [bDI - question 1]{1} 151640.30 6 rv ns add [bDI - question 1_PathTaken]{1} 151640.31 6 timer clear 151640.33 6 state [bDI - question 2] Number Input 151640.33 6 state [bDI - question 2] Playing (BDI Q2.wav) 151640.33 6 play set playid=521015 151640.36 6 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\BDI Q2.wav] 151640.38 6 timer clear 151640.38 6 callinfo MONITORMODES 151646.27 6 dtmf # (66372,35,2) 151646.27 6 ScriptEventCode 35 iLineState=1300 151646.28 6 LsGetNbrsPlayWelcMsg # 151646.34 6 PlaySoundStop err=0 151646.34 6 rv lg add [bDI - question 2]{} 151646.34 6 rv lg add [Hangup Time]{4/20/2006 3:16:46 PM} 151646.36 6 state Hanging up call... [# in GetNbrsPlayWelc] 151646.36 6 RecSoundStop ok 151646.38 6 PlaySoundStop err=0 151646.38 6 timer set 2 EV_TIMEOUT_WAITFORIDLEAFTERLINEDROP 151646.39 6 fnHangupCall end 151646.42 6 devstate NUMCALLS 0 0 151646.44 6 tapi callstate start 151646.44 6 tapi callstate IDLE 66372 0 0 151646.44 6 WorkingMode@Idle= 151646.45 6 timer clear 151646.45 6 timer set 1 EV_TIMEOUT_TIMETOREINITLINE 151646.47 6 tapi Reply (LineEvReply) ok 66338 0 151647.50 6 timer fired EV_TIMEOUT_TIMETOREINITLINE 151647.50 6 ScriptEventCode 9008 iLineState=900 151647.50 6 LsAwaitingCalls EV_TIMEOUT_TIMETOREINITLINE 151647.50 6 ReinitTelephony due to IDLE 151647.52 6 tapic lineDeallocateCall(MainCall:66372) 0 151647.59 6 lineOpen(6)=> 151647.61 6 state Waiting for a call... 151647.61 6 LineHandle=66321 151647.61 6 amchk set AMdet=False in Reinit@idle 151647.61 6 timer set 3 EV_TIMEOUT_ATERIDLE_ALLOWOUT 151648.52 0 dial start any summary:|6:rdy=0| 151650.91 6 timer fired EV_TIMEOUT_ATERIDLE_ALLOWOUT 151650.91 6 ScriptEventCode 9013 iLineState=900 151651.52 0 dial start any summary:|6:idx=0| And the script is also attached. We really need participants to be able to go back to the previous question. projectchat.zip Share this post Link to post
SupportTeam Report post Posted 04/20/2006 11:29 PM The module [bDI - question 2] is a 'Get Numbers' module. The # key in 'Get Numbers' is used to indicate "End of Input". Have a read of the Help file's entry covering how that module works: http://www.voiceguide.com/vghelp/html/modGetNumber.htm From http://www.voiceguide.com/vghelp/html/modGetNumber.htm : Fail Path Taken if the caller has not pressed any number keys at all, ie. caller just presses the "#" key or VoiceGuide times out awaiting first key. If the 'Fail' path is not defined then the system will hang up the call. So you really should be using a "Fail" path if you want to intercept a case where just # is pressed. I think a better thing for you to do is to use a "Play" module type for [bDI - question 2], just like you use a Play module type for most other questions you are asking to which the caller only needs to provide a single digit answer. Share this post Link to post
Guest Guest Report post Posted 04/22/2006 01:48 PM We used the "get numbers" module for these questions because we need to store their responses in a database. The "Play" module will not allow us to do that, correct? Caroline Share this post Link to post
SupportTeam Report post Posted 04/22/2006 10:48 PM The entry made in a Play module is saved in a Result Variable associated with that module. You can then use that RV later in a DBQuery module to save the information in a database. Share this post Link to post
ktruk Report post Posted 04/24/2006 10:49 AM I use a '*' star-button for repeating prompts. This works for just about all modules, including get-numbers. Just add "on {*} goto [xxx]" to your paths. This allows alternative processing for "failed" or # numbers, because a null-number sometimes is a valid response/input. For example: say you want a credit-card start date: either you get MMYY, or # for none or * to repeat the module. You can then develop a general style of "VUI" (Voice User Interface) where # skips ahead, and * repeats the current module. Share this post Link to post