VoiceGuide IVR Software Main Page
Jump to content

Cannot Access Variables Created By Rvset_rvlist Or Rvset

Recommended Posts

I have a vbscript that when run, will check into a database for a list of active phone numbers, and then one by one, using vg.Dialer_MakeCall, ask voiceguide to call these lines up and record for a while.

This is to test that the lines are up and running.

 

When vg dials into the line to test it for me, I first need to give it a password to authenticate the call, then a firther 4 digit number that directs the call to the particular Live line that I am testing.

I am using recorded dtmf tones to pass these values.

 

So VG will dial these phone lines (another VG system actualy!), and play the dtmf tones required to authenticate itself, then start recording the intro for about 10 seconds before hanging up and trying the next line. This all works fine if i hard code the sound file path (for the DTMF) tones into the VG script. However i need to pass the names of these sound files in from the orginal vb script that starts and manages this whole process. But any variables passed in by the vb script dont seem to be accessable by voice guide.

 

To get vg to dial the phone system, i use:

LineId = vg.Dialer_MakeCall("310", "", "", "C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs")

 

Then to pass in the particular passwords i use either

vg.RvSet LineId, "Pin1", "C:\Program Files\VoiceGuide\1900SystemTesting\0.wav"

Or

vg.RvSet_RvList LineID, Return1 (return1 being a list of name value pairs)

 

Voiceguide seems to do this fine, and the log shows that the vars are being added as follows:

 

152803.86 5 cl RvSet Pin1, C:\Program Files\VoiceGuide\1900SystemTesting\0.wav

152803.86 5 rv add [Pin1]{C:\Program Files\VoiceGuide\1900SystemTesting\0.wav}

 

However when i go to use the var to play a sound file i get:

[Play0005Tones] Playing

152814.88 5 RVreplace start: [$RV[Pin1]]

152814.88 5 RVns [OutDial_Result]{Contacted_Human}[scriptEnd_Time]{27/07/2006 3:28:10 PM}[scriptEnd_Goto_Script]{C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs}[scriptEnd_Goto_Module]{}[scriptStart_Time]{27/07/2006 3:28:10 PM}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\}

152814.88 5 RVreplace end: []

152814.88 5 [Play0005Tones] Playing ()

 

 

It has added the variable Pin1, so why cant i get it back.

 

PLease find below the entire log trace.

 

 

152803.86 0 cl Dialer_MakeCall 310, , , C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs

152803.86 0 Search for free lines in range [5-12]

152803.86 5 Calling 310

152803.86 5 TimeoutSet 3600 EV_TIMEOUT_HANGUP

152803.86 5 cl RvSet Pin1, C:\Program Files\VoiceGuide\1900SystemTesting\0.wav

152803.86 5 rv add [Pin1]{C:\Program Files\VoiceGuide\1900SystemTesting\0.wav}

152804.41 5 tapi Reply (LineEvReply) ok 66012 0

152804.41 5 linedevstate 2048 0 0

152804.41 5 callstate DIALTONE 65674 0 0

152804.41 5 callstate DIALING 65674 0 0

152804.41 5 callstate PROCEEDING 65674 0 0

152804.41 5 callinfo CALLEDID

152804.41 5 callinfo REASON

152804.41 5 Lev_CallerID [0000,]

152804.41 5 callinfo ORIGIN

152810.91 5 callstate CONNECTED 65674,1,0

152810.91 5 WorkingModeTAPI@Connected=

152810.91 5 WorkingModeScript@Connected=

152810.92 5 rv add [$RV_STARTTIME]{27/07/2006 3:28:10 PM}

152810.92 5 rv add [$RV_DEVICEID]{5}

152810.92 5 rv add [$RV_CIDNAME]{}

152810.92 5 AddRVns [PathApp]{C:\Program Files\VoiceGuide\}

152810.92 5 rv add [$RV_CALLEDNUMBER]{310}

152810.92 5 AddRVns [OutDial_Result]{Contacted_Human}

152810.92 5 Live person answered, starting C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs

152810.92 2 tr NewVgsVgm_Goto C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs,,,,,0

152810.92 5 rv add [scriptEnd_Time]{27/07/2006 3:28:10 PM}

152810.92 5 rv add [scriptEnd_Goto_Script]{C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs}

152810.94 5 rv add [scriptEnd_Goto_Module]{}

152810.94 5 rv add [scriptStart_Time]{27/07/2006 3:28:10 PM}

152810.94 0 LoadedVgs_Find C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs at idx=6

152810.94 5 AddRVns [scriptsPath]{C:\Program Files\VoiceGuide\Scripts\}

152810.94 5 cl NewVgsVgm_RunModule module not found:

152810.94 2 tr NewVgsVgm_Goto 1

152810.94 2 tr NewVgsVgm_Goto 2

152810.94 5 TimeoutClear

152810.94 5 [Play1594Tones] Playing

152810.94 5 [Play1594Tones] Playing (C:\Program Files\VoiceGuide\1900SystemTesting\1594.wav)

152810.97 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\1900SystemTesting\1594.wav]

152810.97 5 TimeoutClear

152810.97 5 RunModule PLAY end

152810.97 2 tr NewVgsVgm_Goto end

152810.97 5 wa(1712,90565600)

152810.97 5 callinfo MONITORMODES

152812.73 5 wb(90565600)

152812.78 5 Play End line[5] (id=905656)

152812.78 5 ScriptEventCode 8001 iLineState=1100

152812.78 5 LsPlayMsg EV_PLAY_FINISHED

152812.78 5 TimeoutSet 10 EV_TIMEOUT_HANGUP

152812.78 5 TimeoutSet 2 EV_TIMEOUT_GOTOMODULE

152814.88 5 Timer fired EV_TIMEOUT_GOTOMODULE

152814.88 5 ScriptEventCode 9002 iLineState=1101

152814.88 5 LsPlayMsgFinished EV_TIMEOUT_GOTOMODULE

152814.88 5 TimeoutClear

152814.88 5 [Play0005Tones] Playing

152814.88 5 RVreplace start: [$RV[Pin1]]

152814.88 5 RVns [OutDial_Result]{Contacted_Human}[scriptEnd_Time]{27/07/2006 3:28:10 PM}[scriptEnd_Goto_Script]{C:\Program Files\VoiceGuide\Scripts\Test1900Lines.vgs}[scriptEnd_Goto_Module]{}[scriptStart_Time]{27/07/2006 3:28:10 PM}[scriptsPath]{C:\Program Files\VoiceGuide\Scripts\}

152814.88 5 RVreplace end: []

152814.88 5 [Play0005Tones] Playing ()

152814.88 5 ScriptEventCode 8001 iLineState=1100

152814.88 5 LsPlayMsg EV_PLAY_FINISHED

152814.88 5 TimeoutSet 10 EV_TIMEOUT_HANGUP

152814.88 5 TimeoutSet 0 EV_TIMEOUT_GOTOMODULE

152814.88 5 ScriptEventCode 9002 iLineState=1101

152814.88 5 LsPlayMsgFinished EV_TIMEOUT_GOTOMODULE

152814.88 5 TimeoutClear

152814.88 5 [TurnOffSilence] Evaluate [0]

152814.88 5 .Eval(0)

152814.88 5 AddRVns [TurnOffSilence_Input]{0}

152814.88 5 AddRVns [TurnOffSilence]{0}

152814.88 5 AddRVns [silenceDetectLvl]{0}

152814.88 5 Eval Expr result:[0] stored in $RV[silenceDetectLvl]

152814.88 5 SilenceDetectSet(5, 30, 0)

152814.88 5 TimeoutClear

152814.88 5 [RecordLine] Recording

152814.88 5 rv add [RecordLine]{C:\Program Files\VoiceGuide\1900SystemTesting\systest.wav}

152814.89 5 RecSoundStart file[C:\Program Files\VoiceGuide\1900SystemTesting\systest.wav] ok

152814.89 5 RecFile[C:\Program Files\VoiceGuide\1900SystemTesting\systest.wav]

152814.89 5 TimeoutSet 10 EV_TIMEOUT_GOTOMODULE

152814.89 5 RunModule PLAY end

152819.77 5 callstate DISCONNECTED 65674,0,0

152819.77 5 ScriptEventCode 9250 iLineState=1201

152819.77 5 LsRecRecording EV_REMOTEPARTY_DISCONNECT

152819.83 5 RecSoundStopTruncBytes ok

152819.83 5 rec length RV: RecordLine_RecLen100ms = 49

152819.83 5 rv add [RecordLine_RecLen100ms]{49}

152819.83 5 rv add [RecordLine_EndRecCause]{disconnect}

152819.83 5 rv add [Hangup Time]{27/07/2006 3:28:19 PM}

152819.83 5 Hanging up call... [During LsRecRecording]

152819.83 5 RecSoundStop ok

152819.83 5 PlaySoundStop err=0

152819.83 5 TimeoutSet 2 EV_TIMEOUT_WAITFORIDLEAFTERLINEDROP

152819.83 5 fnHangupCall end

152819.83 5 ScriptEventCode 8003 iLineState=900

152819.83 5 LsAwaitingCalls EV_REC_FINISHED

152819.86 5 linedevstate 2048 0 0

152819.86 5 callstate IDLE 65674 0 0

152819.86 5 WorkingMode@Idle=

152819.86 5 TimeoutClear

152819.88 5 TimeoutSet 1 EV_TIMEOUT_TIMETOREINITLINE

152819.88 5 tapi Reply (LineEvReply) ok 66396 0

152820.92 5 Timer fired EV_TIMEOUT_TIMETOREINITLINE

152820.92 5 ScriptEventCode 9008 iLineState=900

152820.92 5 LsAwaitingCalls EV_TIMEOUT_TIMETOREINITLINE

152820.92 5 ReinitTelephony due to IDLE

152820.92 5 tapic lineDeallocateCall(MainCall:65674) 0

152821.06 5 lineOpen(5)=>

152821.06 5 Waiting for a call...

152821.06 5 LineHandle=66340

152821.06 5 TimeoutSet 3 EV_TIMEOUT_ATERIDLE_ALLOWOUT

Share this post


Link to post

Have you tried using Dialer_OutDialAdd instead of Dialer_MakeCall?

You can specify RVs to be used throughout the outgoing call when using Dialer_OutDialAdd.

 

Another approach would be to only set the RVs after the call has been answered.

 

It looks like when doing a Dialer_MakeCall the RVs get cleared at connect time - so any settings made before that using RvSet/etc are erased. Dialer_MakeCall was only really intended to make the call for the second leg of a "Dial and Conferece" type transfer.

Share this post


Link to post

This would be a great solution, I mucked around and worked it all out, then realised that the machine it needs to run on (one of 3 voiceguide machines here) is the only one without a dialer license installed.

 

So I really need to use the MakeCall com.

 

Any way of stopping the variables being cleared?

Thanks

Ben Harper

Share this post


Link to post

No way that I can see to stop them being cleared - it would require modifications of the software itself.

 

Not sure which version of VG you are running on these systems, but usually the call to Dialer_MakeCall whould fail unless the Dialer license is installed...

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
×