Guest Guest_Chris Report post Posted 03/11/2004 09:22 PM I've got a script setup that answers the line, validates a caller, reads the digits entered by the caller, then sends an email. Everything works GREAT if the user presses # when finished. Unfortunately, this doesn't always work. Therefore, I've duplicated the send email portion of the script for my post-hangup script. It does go ahead and send an email, but the result variable from my Get Numeric Msg module does not seem to get populated if the user simply hangs up instead of pressing the # key. I'm using RV$[Get Nueric Msg] to reference the result variable (same as I do in the original script where it works fine). From the log file, it does not appear that the RV ever gets sets since the module is aborted in the middle. Is this expected behavior? How can I work around or fix? Log file: (number input, then caller hangs up and RV is not set) 161830.73 5 [Get Numeric Msg] Number Input 08 161830.74 5 path {08} not found 161830.75 5 TimeoutSet 15 EV_TIMEOUT_GOTOMODULE 161835.32 5 callstate DISCONNECTED 66119,1,0 161835.32 5 ScriptEventCode 9250 iLineState=1301 161835.34 5 LsGetNbrsRxDigits EV_REMOTEPARTY_DISCONNECT 161835.35 5 rv add [Hangup Time]{3/11/2004 4:18:35 PM} 161835.36 5 Hanging up call... 161835.37 5 RecSoundStop ok 161835.38 5 PlaySoundStop err=0 161835.39 5 TimeoutSet 2 EV_TIMEOUT_WAITFORIDLEAFTERLINEDROP 161835.41 5 fnHangupCall end 161836.24 5 callstate IDLE 66119 0 0 161836.25 5 WorkingMode@Idle= 161836.26 5 TimeoutClear 161836.31 5 After Hangup script:[C:\Program Files\VoiceGuide\Scripts\SendEmail.vgs] Share this post Link to post
SupportTeam Report post Posted 03/11/2004 09:48 PM The supplied trace does not cover what happens in the "on-hangup" script... please supply the full trace. Please also post both scripts. Share this post Link to post
Guest Guest_Chris Report post Posted 03/11/2004 10:34 PM Here's the full trace (only changed to remove personal identifying info): 172808.29 5 callstate OFFERING 65863 0 4 172808.30 5 Answer the call at 3/11/2004 5:28:08 PM 172808.30 5 lineAnswer(65863) => 65880 172808.30 5 ring 1 172808.30 5 callstate ACCEPTED 65863 0 0 172809.88 5 Lev_CallerID [5555559720,] 172811.86 5 tapi Reply (LineEvReply) ok 65880 0 172811.86 5 callstate CONNECTED 65863,0,0 172811.87 5 WorkingModeTAPI@Connected= 172811.87 5 WorkingModeScript@Connected= 172811.87 5 Inband detection not enabled 172811.88 5 StartLoadedVgs at 3/11/2004 5:28:11 PM 172811.88 5 rv add [$RV_STARTTIME]{3/11/2004 5:28:11 PM} 172811.89 5 rv add [$RV_DEVICEID]{5} 172811.90 5 rv add [$RV_CIDNAME]{} 172811.90 5 AddRVns [PathApp]{C:\Program Files\VoiceGuide\} 172811.91 5 rv add [$RV_CIDNUMBER]{5555559720} 172811.92 5 TimeoutClear 172811.93 5 [Play 1] Playing 172811.93 5 [Play 1] Playing () 172811.94 5 ScriptEventCode 8001 iLineState=1100 172811.95 5 LsPlayMsg EV_PLAY_FINISHED 172811.96 5 TimeoutSet 5 EV_TIMEOUT_REPLAYMSG 172811.98 5 RunModule PLAY end 172816.89 5 Timer fired EV_TIMEOUT_REPLAYMSG 172816.91 5 ScriptEventCode 9005 iLineState=1101 172816.91 5 LsPlayMsgFinished EV_TIMEOUT_REPLAYMSG 172816.93 5 [Play 1] Playing () 172816.94 5 ScriptEventCode 8001 iLineState=1100 172816.95 5 LsPlayMsg EV_PLAY_FINISHED 172816.96 5 TimeoutSet 10 EV_TIMEOUT_HANGUP 172816.96 5 TimeoutSet 10 EV_TIMEOUT_GOTOMODULE 172817.27 5 dtmf * (65863,42,2) 172817.28 5 ScriptEventCode 42 iLineState=1101 172817.29 5 LsPlayMsgFinished * 172817.30 5 rv add [Play 1]{*} 172817.30 5 TimeoutClear 172817.32 5 [Check CallerID] Evaluate [$RV_CIDNUMBER] 172817.32 5 RVreplace start: [$RV_CIDNUMBER] 172817.34 5 RVns [PathSysVoice]{}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[$RV_STARTTIME]{3/11/2004 5:28:11 PM}[$RV_DEVICEID]{5}[$RV_CIDNAME]{}[PathApp]{C:\Program Files\VoiceGuide\}[$RV_CIDNUMBER]{5555559720}[Play 1]{*} 172817.36 5 RVreplace end: [5555559720] 172817.37 5 .Eval(5555559720) 172817.38 5 AddRVns [Check CallerID_Input]{5555559720} 172817.39 5 AddRVns [Check CallerID]{5555559720} 172817.39 5 Eval Expr result:[5555559720] 172817.41 5 TimeoutClear 172817.43 5 [Get Numeric Msg] Number Input 172817.44 5 [Get Numeric Msg] Playing (None) 172817.45 5 ScriptEventCode 8001 iLineState=1300 172817.46 5 LsGetNbrsPlayWelcMsg EV_PLAY_FINISHED 172817.47 5 TimeoutSet 5 EV_TIMEOUT_REPLAYMSG 172820.68 5 dtmf 0 (65863,48,2) 172820.69 5 ScriptEventCode 48 iLineState=1301 172820.70 5 LsGetNbrsRxDigits 0 172820.71 5 [Get Numeric Msg] Number Input 0 172820.72 5 path {0} not found 172820.74 5 TimeoutSet 15 EV_TIMEOUT_GOTOMODULE 172820.99 5 dtmf 1 (65863,49,2) 172821.00 5 ScriptEventCode 49 iLineState=1301 172821.01 5 LsGetNbrsRxDigits 1 172821.02 5 [Get Numeric Msg] Number Input 01 172821.03 5 path {01} not found 172821.04 5 TimeoutSet 15 EV_TIMEOUT_GOTOMODULE 172824.90 5 callstate DISCONNECTED 65863,1,0 172824.91 5 ScriptEventCode 9250 iLineState=1301 172824.92 5 LsGetNbrsRxDigits EV_REMOTEPARTY_DISCONNECT 172824.93 5 rv add [Hangup Time]{3/11/2004 5:28:24 PM} 172824.95 5 Hanging up call... 172824.96 5 RecSoundStop ok 172824.97 5 PlaySoundStop err=0 172824.98 5 TimeoutSet 2 EV_TIMEOUT_WAITFORIDLEAFTERLINEDROP 172824.99 5 fnHangupCall end 172825.82 5 callstate IDLE 65863 0 0 172825.83 5 WorkingMode@Idle= 172825.84 5 TimeoutClear 172825.94 5 After Hangup script:[C:\Program Files\VoiceGuide\Scripts\SendEmail.vgs] 172825.96 0 Script Load C:\Program Files\VoiceGuide\Scripts\SendEmail.vgs 172825.98 5 Loaded vb script: Version=5.0 DefaultModuleDisplayHeight= StartModule=Play 1 RunAtHangup=C:\Program Files\VoiceGuide\Scripts\SendEmail.vgs StartWithoutAnswer=0 CtmAsiName= [Play 1] Type=Play DispSize=69 Txt=Play a sound file, then await a response... Replay=1,5 strTtsText= on {*} goto [Check CallerID] on {timeout 10} goto [Hangup Call] Position=34,9 [Get Numeric Msg] Type=Get Numbers DispSize=69 Txt=Play a prompt asking the caller to enter a sequence of numbers, speak the sequence back to the caller and ask them to confirm it. Go down different paths depending on the numbers entered... PlayFile1=None Replay=2,5 GetNbrLenEnforce=0 Confirm=OFF on {success} goto [send Email] on {timeout 15} goto [Hangup Call] on {*} goto [send Email] Position=256,139 [send Email] Type=Send Email DispSize=69 Txt=Send email message and attachments. strEmailAddrTo=testuser@abc.com strEmailSubject=$RV[Get Numeric Msg] strEmailMessageText= strEmailAttachmentFileName= iEmailAttachmentDeleteAfterSend=0 strEmailReturnAddress=FD@vm.org strEmailReturnName=FrontDesk strEmailCC= strEmailBCC= lEmailSendRetries=3 lEmailRetriesDelay=10 strEmailSendMethod_1=SMTP strEmailSmtpServ_1=mail.abc.com lEmailSmtpPort_1=0 iEmailSmtpUseAuth_1=0 strEmailSmtpAuthUser_1= strEmailSmtpAuthPassword_1= strEmailSendMethod_2=SMTP strEmailSmtpServ_2= lEmailSmtpPort_2=0 iEmailSmtpUseAuth_2=0 strEmailSmtpAuthUser_2= strEmailSmtpAuthPassword_2= on {*} goto [Hangup Call] Position=256,244 [Hangup Call] Type=Hangup the Call DispSize=69 Txt=Hangup the call. Position=42,335 [Check CallerID] Type=Evaluate DispSize=69 Txt=Evaluate the Result Variable specified, and select the path which matches the current value of the Result Variable Expression=$RV_CIDNUMBER ExprNewRV= ExprStoreRV=0 on {5555553947} goto [Get Numeric Msg] on {5555553948} goto [Get Numeric Msg] on {5555559720} goto [Get Numeric Msg] on {} goto [Hangup Call] Position=257,12 POST-CALL SCRIPT: Version=5.0 DefaultModuleDisplayHeight= StartModule=Send Email RunAtHangup= StartWithoutAnswer=0 CtmAsiName= [send Email] Type=Send Email DispSize=69 Txt=Send email message and attachments. strEmailAddrTo=testuser@abc.com;chris.resch@abc.com strEmailSubject=$RV[Get Numeric Msg] strEmailMessageText= strEmailAttachmentFileName= iEmailAttachmentDeleteAfterSend=0 strEmailReturnAddress=FD@vm.org strEmailReturnName=FrontDesk strEmailCC= strEmailBCC= lEmailSendRetries=3 lEmailRetriesDelay=10 strEmailSendMethod_1=SMTP strEmailSmtpServ_1=mail.abc.com lEmailSmtpPort_1=0 iEmailSmtpUseAuth_1=0 strEmailSmtpAuthUser_1= strEmailSmtpAuthPassword_1= strEmailSendMethod_2=SMTP strEmailSmtpServ_2= lEmailSmtpPort_2=0 iEmailSmtpUseAuth_2=0 strEmailSmtpAuthUser_2= strEmailSmtpAuthPassword_2= on {*} goto [Hangup Call] Position=20,8 Share this post Link to post
SupportTeam Report post Posted 03/11/2004 11:46 PM OK, we can see from the trace that if caller was hangs up in a "Get Numbers" module then the numbers that were entered up to that time were not available as RVs... Caller would have needed to enter the full required number of digits, or terminate digit entry with a "#" or a "*" for the entered digits to have been available as RVs. The attached .exe fixes the above omission, and it will now allow you to access the data entered in Get Number module even if caller just hangs up and does not terminate data entry (or enter the full expected number of digits). Please update your v5.2.1 installation with attached .exe, replacing existing vgmulti.exe VgMulti_5.2.1011.zip Share this post Link to post
Guest Guest_Chris Report post Posted 03/12/2004 12:45 AM That did it! THANKS for the quick response (that was my last hurdle! I'm off to register the software now...) Share this post Link to post