VoiceGuide IVR Software Main Page
Jump to content

After Hangup Script - Missing Results

Recommended Posts

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

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

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

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

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

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
×