Guest David Report post Posted 05/17/2005 07:16 PM I'm having problems with the confirm number feature. When I call the system, and I get to the get_patient_id module it works fine if I enter a valid patient_id. But If I enter an invalid patient ID (say 2134, and then enter the # sign), instead of stating that the number is invalid it just reprompts the user. (it doesn't play not_valid.wav) More importantly, I'm also having trouble with the get_patient_dob module. Here, if the patient enters only six digits instead of eight (entering a two digit year instead of a four digit year) the system will hang up. I've attached my script, and the event log. (I've made the maximum number length one greater than the acutal maximum number length so that they always enter # to end the input) There was another person who had problems with the verification process, and it was fixed by updating to a later version: http://voiceguide.com/forums/index.php?sho...ev_unknown_9220 bmc_test.vgs Share this post Link to post
Guest David Report post Posted 05/17/2005 07:34 PM Actually, when I ran it this time the get_patient_dob module worked fine. However, the get_patient_id module did the same thing. At 152316.86 >>verify_failed<< is seen. But the playing of not_valid.wav never occurrs. Actually, in a previous instance what it did the following: played the not_valid.wav, and then hung up. _ResultReturn $RV_LINEID, sResult set vg = Nothing ] 152316.77 5 rv ns [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\bmc_test\}[scriptPath]{C:\Program Files\VoiceGuide\Scripts\bmc_test}[$RV_STARTTIME]{5/17/2005 3:22:59 PM}[$RV_DEVICEID]{5}[$RV_CIDNAME]{}[PathApp]{C:\Program Files\VoiceGuide\}[$RV_CIDNUMBER]{}[welcome]{1}[get_patient_id]{2354} 152316.78 5 eng copy of verification script ran: vbs_5_1.vbs 152316.81 5 Run Script waiting. iRunWait=1 (shellid=1464, process=148) 152316.81 5 timer set 1 EV_TIMEOUT_CHECKONSTATE 152316.86 5 cl Run_ResultReturn >>verify_failed<< 152316.86 5 ScriptEventCode 9220 iLineState=1301 152316.88 5 LsGetNbrsRxDigits EV_UNKNOWN_9220 152316.88 5 eng GetNbr EV_MODGETNBRS_VERIFY_FAIL 152317.81 5 timer fired EV_TIMEOUT_CHECKONSTATE 152317.81 5 ScriptEventCode 9007 iLineState=1300 152317.81 5 LsGetNbrsPlayWelcMsg EV_TIMEOUT_CHECKONSTATE 152324.23 5 dtmf # (65776,35,2) 152324.25 5 ScriptEventCode 35 iLineState=1300 152324.25 5 LsGetNbrsPlayWelcMsg # 152324.27 5 timer set 6 EV_TIMEOUT_ENTERDATA 152324.28 5 PlaySoundStop err=0 152324.28 5 rv add [get_patient_id]{} 152324.30 5 timer clear 152324.30 5 [get_patient_id] Number Input 152324.30 5 [get_patient_id] Playing (full_get_patient_id.wav) 152324.31 5 play set playid=121500 152324.41 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\bmc_test\full_get_patient_id.wav] 152324.42 5 timer clear 152324.44 5 wa(5005,12150000) 152324.45 5 callinfo MONITORMODES 152329.47 5 wb(12150000) 152329.59 5 play end current play (playid=121500) 152329.61 5 ScriptEventCode 8001 iLineState=1300 log.txt Share this post Link to post
Guest David Report post Posted 05/17/2005 07:46 PM For this run, it hung up after I pressed the pound sign after entering 042680 for the get_patient_dob module. It looks like it may have timed out waiting for data. But it didn't replay the full_get_patient_dob.wav prompt asking the patient to reenter the data. 153902.81 5 path {042680} not found 153902.81 5 timer set 6 EV_TIMEOUT_ENTERDATA 153904.23 5 dtmf # (66408,35,2) 153904.23 5 ScriptEventCode 35 iLineState=1301 153904.25 5 LsGetNbrsRxDigits # 153904.25 5 timer clear 153904.27 5 rv add [get_patient_dob]{042680} 153904.27 5 eng len(042680 ) min=8, max=9, replays=1 153904.28 5 [get_patient_dob] Playing (not_valid.wav) 153904.28 5 play set playid=61468 153904.38 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\bmc_test\not_valid.wav] 153904.39 5 timer clear 153904.41 5 wa(3752,6146800) 153904.41 5 callinfo MONITORMODES 153908.17 5 wb(6146800) 153908.30 5 play end current play (playid=61468) 153908.31 5 ScriptEventCode 8001 iLineState=1300 153908.31 5 LsGetNbrsPlayWelcMsg EV_PLAY_FINISHED 153908.33 5 timer set 10 EV_TIMEOUT_HANGUP 153908.33 5 timer set 6 EV_TIMEOUT_ENTERDATA 153914.80 5 timer fired EV_TIMEOUT_ENTERDATA 153914.80 5 ScriptEventCode 9006 iLineState=1301 153914.80 5 LsGetNbrsRxDigits EV_TIMEOUT_ENTERDATA 153914.81 5 rv add [get_patient_dob]{} 153914.81 5 AddRVns [get_patient_dob_PathTaken]{fail} 153914.83 5 rv add [Hangup Time]{5/17/2005 3:39:14 PM} 153914.83 5 Hanging up call... [No data entered] 153914.86 5 RecSoundStop ok 153914.88 5 PlaySoundStop err=0 153914.88 5 timer set 2 EV_TIMEOUT_WAITFORIDLEAFTERLINEDROP 153914.92 5 fnHangupCall end 153914.97 5 linedevstate 2048 0 0 153914.97 5 callstate IDLE 66408 0 0 153914.98 5 WorkingMode@Idle= 153914.98 5 timer clear 153915.00 5 timer set 1 EV_TIMEOUT_TIMETOREINITLINE 153915.02 5 tapi Reply (LineEvReply) ok 66442 0 153916.02 5 timer fired EV_TIMEOUT_TIMETOREINITLINE 153916.02 5 ScriptEventCode 9008 iLineState=900 153916.03 5 LsAwaitingCalls EV_TIMEOUT_TIMETOREINITLINE 153916.03 5 ReinitTelephony due to IDLE 153916.03 5 tapic lineDeallocateCall(MainCall:66408) 0 153916.20 5 lineOpen(5)=> 153916.22 5 Waiting for a call... 153916.22 5 LineHandle=65554 153916.23 5 timer set 3 EV_TIMEOUT_ATERIDLE_ALLOWOUT 153916.42 0 dial start any summary:|5:rdy=0| 153919.52 5 timer fired EV_TIMEOUT_ATERIDLE_ALLOWOUT 153919.52 5 ScriptEventCode 9013 iLineState=900 153920.42 0 dial start any summary:|5:idx=0| log2.txt Share this post Link to post
SupportTeam Report post Posted 05/18/2005 01:17 AM But If I enter an invalid patient ID (say 2134, and then enter the # sign), instead of stating that the number is invalid it just reprompts the user. (it doesn't play not_valid.wav) The module [get_patient_id] is setup to accept a max entry of 4 numbers. After 4 digits are entered the verification script will run. Pressing # key after the entering of 4 digits just results in terminating the playing sound file which was advising that verification has failed. If the 'max digits' setting is used to determine when caller finished entering data then do not ask caller to press #, and conversely if asking caller to press # then do not set the 'min' and 'max' digits... Its usually best to ask caller to press # and do not set the max value. Do any of these checks in the verification VBScript. It looks like it may have timed out waiting for data. But it didn't replay the full_get_patient_dob.wav prompt asking the patient to reenter the data. Trace shows that not_valid.wav was played: 153904.28 5 [get_patient_dob] Playing (not_valid.wav) 153904.28 5 play set playid=61468 153904.38 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\bmc_test\not_valid.wav] But then no data was entered. If the sound file which advises caller that entered number failed verification is played then the original prompt will no longer be played - the "failed verification" sound file essentially replaces the main prompt. Share this post Link to post
Guest David Report post Posted 05/18/2005 04:07 PM Thanks for your help. On the first two test cases it did fine. But in testing the get_patient_dob module there was a problem. After the invalid input is entered and the # sign is pressed it just hangs: 9 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\bmc_test\full_get_patient_dob.wav] 112717.11 5 timer clear 112717.13 5 wa(17959,35423400) 112717.14 5 callinfo MONITORMODES 112725.02 5 dtmf 0 (65725,48,2) 112725.02 5 ScriptEventCode 48 iLineState=1300 112725.03 5 LsGetNbrsPlayWelcMsg 0 112725.11 5 PlaySoundStop err=0 112725.11 5 [get_patient_dob] Number Input 0 112725.13 5 path {0} not found 112725.13 5 timer set 6 EV_TIMEOUT_ENTERDATA 112725.36 5 dtmf 4 (65725,52,2) 112725.38 5 ScriptEventCode 52 iLineState=1301 112725.38 5 LsGetNbrsRxDigits 4 112725.38 5 [get_patient_dob] Number Input 04 112725.39 5 path {04} not found 112725.39 5 timer set 6 EV_TIMEOUT_ENTERDATA 112725.97 5 dtmf 2 (65725,50,2) 112725.98 5 ScriptEventCode 50 iLineState=1301 112725.98 5 LsGetNbrsRxDigits 2 112725.98 5 [get_patient_dob] Number Input 042 112726.00 5 path {042} not found 112726.00 5 timer set 6 EV_TIMEOUT_ENTERDATA 112726.52 5 dtmf 6 (65725,54,2) 112726.52 5 ScriptEventCode 54 iLineState=1301 112726.53 5 LsGetNbrsRxDigits 6 112726.53 5 [get_patient_dob] Number Input 0426 112726.53 5 path {0426} not found 112726.55 5 timer set 6 EV_TIMEOUT_ENTERDATA 112727.61 5 dtmf 8 (65725,56,2) 112727.61 5 ScriptEventCode 56 iLineState=1301 112727.63 5 LsGetNbrsRxDigits 8 112727.63 5 [get_patient_dob] Number Input 04268 112727.63 5 path {04268} not found 112727.64 5 timer set 6 EV_TIMEOUT_ENTERDATA 112728.23 5 dtmf 0 (65725,48,2) 112728.23 5 ScriptEventCode 48 iLineState=1301 112728.23 5 LsGetNbrsRxDigits 0 112728.25 5 [get_patient_dob] Number Input 042680 112728.25 5 path {042680} not found 112728.27 5 timer set 6 EV_TIMEOUT_ENTERDATA 112729.81 5 dtmf # (65725,35,2) 112729.81 5 ScriptEventCode 35 iLineState=1301 112729.83 5 LsGetNbrsRxDigits # 112729.83 5 timer clear 112729.84 5 rv add [get_patient_dob]{042680} 112729.84 5 eng run verification 112729.84 5 rv replace start (strlen>500) 112729.86 5 rv ns [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\bmc_test\}[scriptPath]{C:\Program Files\VoiceGuide\Scripts\bmc_test}[$RV_STARTTIME]{5/18/2005 11:26:52 AM}[$RV_DEVICEID]{5}[$RV_CIDNAME]{}[PathApp]{C:\Program Files\VoiceGuide\}[$RV_CIDNUMBER]{}[welcome]{1}[get_patient_id]{7}[get_patient_name]{C:\Program Files\VoiceGuide\Scripts\bmc_test\7_name.wav}[get_patient_name_RecLen100ms]{26}[get_patient_name_EndRecCause] #}[get_patient_dob]{042680} 112729.88 5 eng copy of verification script ran: vbs_5_2.vbs 112729.91 5 Run Script waiting. iRunWait=1 (shellid=2112, process=2252) 112729.91 5 timer set 1 EV_TIMEOUT_CHECKONSTATE 112729.95 5 cl Run_ResultReturn >>verify_failed<< 112729.95 5 ScriptEventCode 9220 iLineState=1301 112729.97 5 LsGetNbrsRxDigits EV_UNKNOWN_9220 112729.97 5 eng GetNbr EV_MODGETNBRS_VERIFY_FAIL 112730.91 5 timer fired EV_TIMEOUT_CHECKONSTATE 112730.91 5 ScriptEventCode 9007 iLineState=1300 112730.91 5 LsGetNbrsPlayWelcMsg EV_TIMEOUT_CHECKONSTATE About 20 seconds later I pushed the # sign, and it replayed the original prompt: full_get_patient_dob.wav 112754.80 5 dtmf # (65725,35,2) 112754.81 5 ScriptEventCode 35 iLineState=1300 112754.81 5 LsGetNbrsPlayWelcMsg # 112754.81 5 timer set 6 EV_TIMEOUT_ENTERDATA 112754.84 5 PlaySoundStop err=0 112754.84 5 rv add [get_patient_dob]{} 112754.86 5 timer clear 112754.86 5 [get_patient_dob] Number Input 112754.86 5 [get_patient_dob] Playing (full_get_patient_dob.wav) 112754.88 5 play set playid=392125 112754.97 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\bmc_test\full_get_patient_dob.wav] 112754.97 5 timer clear 112755.00 5 wa(17959,39212500) 112755.00 5 callinfo MONITORMODES What is EV_UNKNOWN_9220 ? When I did a forum search for this error message I got the post from the guy who needed a newer version. http://voiceguide.com/forums/index.php?sho...ev_unknown_9220 Share this post Link to post
Guest David Report post Posted 05/18/2005 04:43 PM For another prompt it worked: 122030.83 5 eng copy of verification script ran: vbs_5_12.vbs 122030.86 5 Run Script waiting. iRunWait=1 (shellid=1628, process=1552) 122030.88 5 timer set 1 EV_TIMEOUT_CHECKONSTATE 122030.92 5 cl Run_ResultReturn >>verify_failed<< 122030.92 5 ScriptEventCode 9220 iLineState=1301 122030.94 5 LsGetNbrsRxDigits EV_UNKNOWN_9220 122030.94 5 eng GetNbr EV_MODGETNBRS_VERIFY_FAIL 122030.95 5 [get_hrs_sleep] Playing (not_valid.wav, full_get_hrs_sleep.wav) 122030.95 5 play set playid=548203 122031.11 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\Scripts\bmc_test\not_valid.wav,C:\Program Files\VoiceGuide\Scripts\bmc_test\full_get_hrs_sleep.wav] 122031.13 5 timer clear 122031.14 5 wa(11262,54820301) 122031.14 5 callinfo MONITORMODES 122042.48 5 play end current play (playid=548203) 122042.48 5 ScriptEventCode 8001 iLineState=1300 It looks like previously the timer EV_TIMEOUT_CHECKONSTATE fired improperly. This put it into the state EV_TIMEOUT_CHECKONSTATE when it should have started playing the error message files. 112729.97 5 LsGetNbrsRxDigits EV_UNKNOWN_9220 112729.97 5 eng GetNbr EV_MODGETNBRS_VERIFY_FAIL 112730.91 5 timer fired EV_TIMEOUT_CHECKONSTATE 112730.91 5 ScriptEventCode 9007 iLineState=1300 112730.91 5 LsGetNbrsPlayWelcMsg EV_TIMEOUT_CHECKONSTATE After EV_MODGETNBRS_VERIFY_FAIL it should start playing the error messages. That timer (EV_TIMEOUT_CHECKONSTATE) is used to monitor the execution of the verification script and stop it if it is taking too long? Share this post Link to post
SupportTeam Report post Posted 05/18/2005 11:12 PM Please update your system to v5.2.4 and try running the scripts again. I think v5.2.4 fixes the bug that you have encountered here. Share this post Link to post