VoiceGuide IVR Software Main Page
Jump to content

New Version Of Vg Not Playing Moh

Recommended Posts

typicallly I used

 

141300.250 6 47 16 d added set no stopping_ACD_Input | 1

 

then

 

------------------------------

set vg = CreateObject("vgServices.CommandLink")

vg.Play_Start $RV_LINEID, "C:\Program Files\VoiceGuide\Scripts\manager\komunikaty\ring_multiple.wav"

set vg = Nothing

 

 

and after upgrading VG Moh not working.

 

 

141300.250 6 47 16 FindNextVgmTitleInPathList: next module title is=[set no stopping_ACD]

141300.250 6 47 16 matching path found (Boolean True)

141300.250 6 47 16 t timer clear (force=False)

141300.250 6 47 16 RunModule start Evaluate, [set no stopping_ACD], iModuleIdx=202, previous: vgm=214, vgs=2:2

141300.250 6 47 16 state [set no stopping_ACD] Evaluate [1]

141300.250 6 47 16 eval [1]

141300.250 6 47 16 eval InvokeMember Eval returned

141300.250 6 47 16 d added set no stopping_ACD_Input | 1

141300.250 6 47 16 d added set no stopping_ACD | 1

141300.250 6 47 16 creating new (non-global) rv : DoNotStopMOH

141300.250 6 47 16 d added DoNotStopMOH | 1

141300.250 6 47 16 Eval Expr result:[1] stored in RV[DoNotStopMOH]

141300.250 6 47 16 bDoNotStopMoh = true

141300.250 6 47 16 path {1} not found

141300.250 6 47 16 matching path not found [1], try boolean paths.

141300.250 6 47 16 ex: ScriptIo.VGMTYPE_EVALEXPR [1] could not be converted to boolean. Take Success path as string non-empty.

141300.250 6 47 16 FindNextVgmTitleInPathList: next module title is=[MoH RING ACD]

141300.250 6 47 16 matching path found (Boolean True)

141300.250 6 47 16 t timer clear (force=False)

141300.250 6 47 16 RunModule start Run VB Script, [MoH RING ACD], iModuleIdx=203, previous: vgm=202, vgs=2:2

141300.250 6 47 16 t timer set 30 sec : EV_TIMEOUT_HANGUP

141300.250 6 47 16 QueueUserWorkItem scrmod_RunVbs.RunModule call

141300.250 15 47 16 state [MoH RING ACD] type: Script_VBScript, iRunWait=0

141300.250 15 47 16 rv replace start

------------------------------

set vg = CreateObject("vgServices.CommandLink")

vg.Play_Start $RV_LINEID, "C:\Program Files\VoiceGuide\Scripts\manager\komunikaty\ring_multiple.wav"

set vg = Nothing

------------------------------

141300.250 15 47 16 rv replace end [set vg = CreateObject("vgServices.CommandLink")

vg.Play_Start 47, "C:\Program Files\VoiceGuide\Scripts\manager\komunikaty\ring_multiple.wav"

set vg = Nothing]

141300.250 15 47 16 script will be ran from file: C:\Program Files\VoiceGuide\temp\vbs_47_1.vbs

141300.250 15 47 16 on hold file: C:\Program Files\VoiceGuide723\Scripts\manager\komunikaty\ring_multiple.wav, iModuleIdx=203

141300.250 15 47 16 delete existing: C:\Program Files\VoiceGuide\temp\vbs_47_1.vbs

141300.250 15 47 16 current objVbsOrExeProcess=

141300.250 15 47 16 RunVBScriptFile [wscript][C:\Program Files\VoiceGuide\temp\vbs_47_1.vbs][] timeout=60 (vbsPath=C:\Program Files\VoiceGuide\temp), start (new Process)

141300.250 15 47 16 objVbsOrExeProcess.Start call

141300.265 15 47 16 RunVBScriptFile just started. Handle=45328, Id=5436, StartTime=12-11-12 14:13:00, HasExited=False

141300.265 15 47 16 VBScript started [C:\Program Files\VoiceGuide\temp\vbs_47_1.vbs], ProcessHandle=[45328], VbsOrExeProcess.WorkingSet=[77824]

141300.265 15 47 16 RunModule_Script_AfterScriptStarted start

141300.265 15 47 16 Run Script continuing...

141300.265 15 47 16 FindNextVgmTitleInPathList: next module title is=[calculate_ABSPQ]

 

 

And next

 

set vg = CreateObject("vgServices.CommandLink")

vg.Play_Stop $RV_LINEID

set vg = Nothing

 

 

not working too.

Share this post


Link to post

Please post the VoiceGuide script and the traces (vgEngine and ktTel) capturing the entire call.

 

Please .ZIP up traces before posting.

Share this post


Link to post

The "Run VBScript module" [MoH RING ACD] that runs this script:

 

214221.890 15   8   3 state [MoH RING ACD] type: Script_VBScript, iRunWait=0
214221.890 15   8   3       rv    replace start 
------------------------------
set vg = CreateObject("vgServices.CommandLink")
vg.Play_Start $RV_LINEID, "C:\Program Files\VoiceGuide\Scripts\database\komunikaty\ring_multiple.wav" 
set vg = Nothing
------------------------------

 

is not set to wait until it completes. It has been set to move immediately onto next module after starting the execution of VBScript.

 

But the time the VBScript the vg.Play_Start is called the VoiceGuide script is running other modules and playing (and then replaying) other prompts to caller:

 

214222.015 23   8   3 state [id_lokalizacji] Playing wav (\database2\59806.wav)
..
214226.875  6   8   3 state [id_lokalizacji] Playing wav (\database2\59806.wav)

 

So the other call to play sound file is ignored.

 

You should set the "Run VBScript module" to wait until module's script completes. Module's script completion can be signaled using the Run_ResultReturn API etc.

 

All modules that use the Play_*/Record_*/etc APIs should be set to wait until module completes.

 

If you are running a command that issues a command to Play/Record/etc and the VoiceGuide script itself is moving onto a module that does Play/Record/etc then one of the play commands will be ignored if the $RV[DoNotStopMOH] flag is set.

 

Best practice is to have all the "Run VBScript" modules that do Play/Record/etc to wait until module's script completes before letting the VoiceGuide script move onto the next module.

Share this post


Link to post

Problem is with module VBscript MoH RING ACD:

 

set vg = CreateObject("vgServices.CommandLink")

vg.Play_Start $RV_LINEID, "C:\Program Files\VoiceGuide\Scripts\database\komunikaty\ring_multiple.wav"

set vg = Nothing

 

of course with not wait until it completes option as you suggest in previous topic.

Because this module should start play until end or stop.

 

Now VBScript not playing ring_multiple.wav file as it was before update.

 

So, VBscript MoH RING ACD not playing wav file and

 

set vg = CreateObject("vgServices.CommandLink")

vg.Play_Stop $RV_LINEID

set vg = Nothing

 

and vg.Play_Stop $RV_LINEID do not stop play task.

 

I use VGScript to play MoH prompt in background during other tasks are working or to Hold callers waiting to transfer call.

 

Previous I needed this functionality:

http://voiceguide.com/forums/index.php?showtopic=8139&view=&hl=MoH&fromsearch=1

and you find solution.

 

 

I need use vg.Play_Start $RV_LINEID with MoH until I use vg.Play_Stop $RV_LINEID or transfer call.

 

 

Before VG update it worked, now not any more.

Share this post


Link to post

This module needs to be set to "Wait until VBScript completes".

 

"Wait until VBScript completes" will not make module wait until the ring_multiple.wav completes playing.

 

"Wait until VBScript completes" will make module wait until the ring_multiple.wav starts playing.

 

All modules that use the Play_*/Record_*/etc APIs should be set to wait until module completes.

Share this post


Link to post

OK. I changed option Wait until VB Script completes and VG start to play MoH prompt, stop playing with vg.Play_Stop $RV_LINEID.

 

But next not playing other play files.

 

In attached vgEngine VG play this file

 

111946.468 6 3 1 FindSoundFile start [\manager2\59803.wav]

 

not play this:

 

111951.968 21 3 1 FindSoundFile start [\manager2\59806.wav]

 

and this:

 

112002.843 6 3 1 rv replace end [\manager2\59843.wav]

1113_1108_vgEngine.zip

Share this post


Link to post

If you want to stop playing the the uninterruptable 'message on hold' then you should also clear the $RV[DoNotStopMOH] flag that was previously set.

 

Special use flags like $RV[DoNotStopMOH] should be cleared immediately once the action they are related to is completed.

 

Please have the script do the below in this order:

 

1. Clear the $RV[DoNotStopMOH] flag (set the $RV[DoNotStopMOH] to 0)

 

2. Then stop the Play

 

3. Only then run the modules that play the 59806.wav and other new sound files.

 

 

If you encounter any problems or have any questions please post the vgEngine and ktTel traces that capture the call. Please do not edit the traces excerpts. Just post the trace excerpt and indicate the line/port and time of call or time of event to look at.

Share this post


Link to post
This topic is now closed to further replies.
×