BenHarper Report post Posted 07/27/2006 05:45 AM 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
SupportTeam Report post Posted 07/27/2006 10:53 AM 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
BenHarper Report post Posted 07/31/2006 04:21 AM 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
SupportTeam Report post Posted 07/31/2006 04:33 AM 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