Jump to content


< Back to Forum


 

Using Multiple Script_Goto And Run_Resultreturn Calls In Vbscript Mod


  • Please log in to reply

#1 Maciej 10 December 2015 - 02:06 AM

2 problems:

1. using: 

set vg = CreateObject("vgServices.CommandLink")
sReturnedData = vg.RvGet(4,"RV[client_lineid]")
vg.Run_ResultReturn 61, "[client_lineid]{" & sReturnedData & "}"
vg.Record_Stop 4
vg.Bridge_Disconnect 4, 61
vg.Script_Goto  61,"C:\Program Files (x86)\VoiceGuide\Scripts\manager\manager_fa_kolejkowanie.vgs|caller_lineid","", ""
vg.Run_ResultReturn 4, "success"
vg.Run_ResultReturn 61, "forward"
set vg = Nothing
 
we receive:
 
161635.072  14   4   2 rem   RvGet RV[client_lineid]
161635.072  14   4   2       rv    replace start [$RV[client_lineid]]
161635.072  14   4   2       rv    replace end   [4]
161635.073  14  61  21 rem   Run_ResultReturn [[client_lineid]{4}] 18
161635.073  14  61  21       q_scr +     cmdRun_ResultReturn 0 
161635.073   7  61  21       q_scr run   cmdRun_ResultReturn sCode=[] iActionID=0, crn=0 [0|0|0|0|0][[client_lineid]{4}|||||] 00:00:00 max:4|00:00:00.0050003
161635.073   7  61  21       Run_ResultReturn LineState[61].iVgsIdx=0. Ignoring returned information

 

but next on second  channel no data in variable [client_lineid]:

 

161635.115   7  61  21       RunModule start Evaluate, [client_lineid_test], iModuleIdx=639, previous: vgm=638, vgs=6:6
161635.115   7  61  21 state [client_lineid_test] Evaluate [$RV[client_lineid]]
161635.115   7  61  21       rv    replace start [$RV[client_lineid]]
161635.115   7               rv    dbg   rv_retrieve did not find [client_lineid]
161635.115   7  61  21       rv    replace end   []
161635.115   7  61  21       eval  []
161635.115   7  61  21       objReturn is NULL for input=[], try with Cstr
161635.116   7  61  21       eval  InvokeMember Eval returned
161635.116   7  61  21       rvns  add   client_lineid_test_Input|
161635.116   7  61  21       rvns  add   client_lineid_test|
161635.116   7  61  21       creating new (non-global) rv : test
161635.116   7  61  21       rvns  add   test|
161635.116   7  61  21       Eval Expr result:[] stored in RV[test]

 

still problem with transfer data between channels.

 

 

2. problem - after disconnect bridge between caller and agent 1 (VBscript shown above) Caller is forwarded to Play module with MoH.

Vg showing caller should hear MoH but there is only silence.

 



#2 SupportTeam 10 December 2015 - 12:53 PM

In a 'Run VBScript' module there should only be one call to a Run_ResultReturn/Script_Goto/Script_Gosub/Script_Return type function for each line.
 
The RVs can be set as part of that function call, or using RvSet and RvSet_RVList function calls.

 

Please change it to ensure it does not affect any other modules ran in future and if you still encounter problems please post vgEngine trace capturing entire call.

 

Fixing the above script will most likely fix the other issue that you mention.



#3 Maciej 10 December 2015 - 05:39 PM

problem is not in too many function used in VBS module, but we can't reach transfer data between two channels. Can You to try simulate our solution?

 

We are recording transfered call (VBscript) and after connection we try to disconnect and separate two channels (successful) first (caller) is forwarded to play module (reach but vg play module not playing file - file found)

on second line Agent is forwarded to VBscript module to get data from first channel (caller line - unsuccessful, no data transferred and module not waiting until script end) and next to transfer module.

 

 

We reach functionality to separate channels (disconnect caller and agent), forwarding to next modules and bridge connect between selected channels. only problem in get RV's from other channel and play whisper on separated (caller) channel



#4 SupportTeam 11 December 2015 - 01:11 PM

Please see here for simple examples of passing value from one line to another:

 

http://voiceguide.co...showtopic=12193

 

Please post any comments related to passing $RV values between two lines in that new thread.

 

Recommend that you first get the passing of values between lines working, and then you can build on that to add other functionality that is required.