VoiceGuide IVR Software Main Page
Jump to content

Terminating While Recording

Recommended Posts

our outbound call script, after connection to client, is recording message using module "Recording Sound File".

 

When client disconnects during recording, VG is forwarding thread to termination sheet.

But recording task is still working and after {silence} path not defined brakes termination sheet execution.

 

 

In my opinion recording task shouldn't impact termination sheet execution.

 

 

 

 

 

 

 

log_recording_message.txt

Share this post


Link to post

Please update system to version below. This should result in this bug in v7.5.8 being resolved:

 

[old link removed]

 

 

 

To change from one release of VoiceGuide v7 to another:

1. Stop VoiceGuide Service and exit all VoiceGuide programs. (eg Script Designer, Voicemail Manager, etc) and all other programs.

2. Run the VoiceGuide install and install into same directory as existing installation. (Do NOT uninstall the previous VoiceGuide installation).

3. Start VoiceGuide service.

Running a VoiceGuide install over the top of an existing install will NOT overwrite existing configuration or license files (Config.xml, ConfigLine.xml, VG.INI, VmBoxList.xml, etc) and will not remove any of users script or sound files, and will not remove any log files etc.

Share this post


Link to post

Builds with bug fixes posted on Support Forum are made available only temporarily (usually for 1-2 weeks).

 

This newer version has the bug fix from this thread as well:

 

[old link removed]

Share this post


Link to post

other thread in this case:

 

We need to follow in script when caller hang up call during recording

 

We add to path:

 

on {timeout 120} goto [converse_wav_to_mp3]
on {#} goto [converse_wav_to_mp3]
on {DISCONNECTED} goto [converse_wav_to_mp3]
on {timeout 0} goto [converse_wav_to_mp3]
on {silence} goto [converse_wav_to_mp3]


143044.350   9 121  60 state [ankiety_open_answer_start] Evaluate [true]
143044.350   9 121  60       eval  [true]
143044.350   9 121  60       eval  InvokeMember Eval returned
143044.350   9 121  60       rvns  add   ankiety_open_answer_start_Input|true
143044.350   9 121  60       rvns  add   ankiety_open_answer_start|True
143044.350   9 121  60       creating new (non-global) rv : open_answer_open
143044.350   9 121  60       rvns  add   open_answer_open|True
143044.350   9 121  60       Eval Expr result:[True] stored in RV[open_answer_open]
143044.350   9 121  60       path {True} found (at offset 3)
143044.350   9 121  60       FindNextVgmTitleInPathList: next module title is=[answer_open_question]
143044.350   9 121  60 t     timer clear (force=False)
143044.350   9 121  60       RunModule start
143044.350   9 121  60       RunModule start Record, [answer_open_question], iModuleIdx=307, previous: vgm=318, vgs=4:4
143044.350   9 121  60       [answer_open_question] VGMTYPE_REC run start
143044.351   9 121  60       rv    replace start [$RV[pytanie].wav]
143044.351   9 121  60       rv    replace end   [1291.wav]
143044.351   9 121  60       rv    add   answer_open_question|1291.wav
143044.351   9 121  60       RecSoundStart [1291.wav] call beep=True
143044.351   9 121  60 state [answer_open_question] Recording 1291.wav
143044.351   9 121  60       q_tel +     cmd_SilenceDetectSet 0 [] [30,0,0,0,0,0,0,0][|||||||]
143044.351   9 121  60       q_tel +     cmd_RecordFileStart 129316 1291.wav []
143044.351   9 121  60       RecSoundStart [1291.wav] ok
143044.351  10 121  60       q_tel run   cmd_SilenceDetectSet 0 0 max:3|154
143044.351   9 121  60 t     timer set   120 sec : EV_TIMEOUT_GOTOMODULE
143044.351   9 121  60       RunModule finish
143044.351  10 121  60       q_tel run   cmd_RecordFileStart 0 0 max:3|154

143045.726  22 121  60 ev    Dialogic 0,TDX_CST, crn=2b400f4, 1059,0,0,DE_TONEON,FAX,
143045.726  22 121  60       q_scr +     evScriptEvent 0 FAX
143045.726  22 121  60       q_scr +     evScriptEvent 0 TDX_CST
143045.726   9 121  60       q_scr run   evScriptEvent sCode=[FAX] iActionID=0, crn=2b400f4 [1059|0|0|0|0][DE_TONEON|FAX||||] 00:00:00 max:4|00:00:00.0140008
143045.726   9 121  60       se    FAX 0  1059|0|0  DE_TONEON|FAX| LineState=LS_REC_RECORDING
143045.726   9 121  60       LsRecRecording EV_UNKNOWN_0,FAX  1059|0|0  DE_TONEON|FAX|
143045.726   9 121  60       path {FAX} not found
143045.726   9 121  60       not a disconnect/busy tone
143045.726   9 121  60       q_scr run   evScriptEvent sCode=[TDX_CST] iActionID=0, crn=2b400f4 [1059|0|0|0|0][DE_TONEON|FAX||||] 00:00:00 max:4|00:00:00.0140008
143045.726   9 121  60       se    TDX_CST 0  1059|0|0  DE_TONEON|FAX| LineState=LS_REC_RECORDING
143045.726   9 121  60       LsRecRecording EV_UNKNOWN_0,TDX_CST  1059|0|0  DE_TONEON|FAX|
143045.726   9 121  60       path {TDX_CST} not found
143045.726   9 121  60       not a disconnect/busy tone

143047.791  22 121  60 ev    CallState GCEV_DISCONNECTED, crn=2b400f2, iEvent=0 ,16384,0,64, s1:, s2:, s3:]. build_date: 2017-06-26 18:31:19.24
143047.791  22 121  60       q_scr +     evCallState 0 GCEV_DISCONNECTED
143047.791   9 121  60       q_scr run   evCallState sCode=[GCEV_DISCONNECTED] iActionID=0, crn=2b400f2 [16384|0|64|0|0][|||||] 00:00:00 max:4|00:00:00.0140008
143047.791   9 121  60       callstate crn_event=2b400f2 0|GCEV_DISCONNECTED state=16384|Disconnected calldirection=0 gcCallState=64 [||], ScriptState=LS_REC_RECORDING
143047.791   9 121  60       LineEvCallState L1_current=Connected crn_event=2b400f2,ev=0,GCEV_DISCONNECTED,0, sParam1=
143047.791   9 121  60       LineEvCallState LINECALLSTATE_DISCONNECTED begin
143047.791   9 121  60       LINECALLSTATE_DISCONNECTED: clear crn_connected, set crn_InProcessOfReleasing, set L1=Disconnected
143047.791   9 121  60       L1_set Disconnected (iState=LS_REC_RECORDING)
143047.791   9 121  60       in LINECALLSTATE_DISCONNECTED iState=LS_REC_RECORDING
143047.791   9 121  60       HangupCall qScr add (LineEvCallState_DISCONNECTED) crn_in=2b400f2, L1=Disconnected, L2=Running_Normal, lPlayId=0, lRecId=129316
143047.791   9 121  60       q_scr +     cmdHangupCall 0 
143047.791   9 121  60       q_scr run   cmdHangupCall sCode=[] iActionID=0, crn=2b400f2 [0|0|0|0|0][LineEvCallState_DISCONNECTED|||||] 00:00:00 max:4|00:00:00.0140008
143047.791   9 121  60       HangupCall qScr exec (LineEvCallState_DISCONNECTED) crn_in=2b400f2, L1=Disconnected, L2=Running_Normal, lPlayId=0, lRecId=129316
143047.791   9 121  60       HangupCall crn_connected=0, crn_NewCallArriving=0, crn_CurrentMakeCall=0, crn_InProcessOfReleasing=2b400f2
143047.791   9 121  60       RecSoundStop begin trunc100ms=0, sCaller=Line_Hangup_Main, lRecId=129316
143047.791   9 121  60       RecSoundStop lRec_Id_InProcessOfStopping=129316, lRecId=0
143047.791   9 121  60       q_tel +     cmd_RecordStop [0,0,0,0,0][||||]
143047.791   9 121  60       rv    add   Hangup Source|LineEvCallState_DISCONNECTED
143047.791  10 121  60       q_tel run   cmd_RecordStop 0 0 max:3|154
143047.791   9 121  60       HangupCall sScriptToRunOnHangup=[manager_termination.vgs]

How to declare in module follow to next modules (priority before termination script) when caller disconnected during recording and no # button pressed.

Share this post


Link to post

This is a different topic to the one originally raised at beginning of this thread.

 

With this new question it looks like you are asking how to make VoiceGuide continue with the script if the call hangs up, yes?

 

 

This new question looks to be the same question that was raised beforehand in this thread: http://voiceguide.com/forums/index.php?showtopic=12209

 

When call is ended the script that was running on that line ends and the "After Hangup" script is started instead.

 

 

 

A call disconnection is very different to "silence", "timeout" and "#" events.

 

The "silence", "timeout" and "#" events occur while the call is still connected - and the main script still runs.

Those events are passed to the script and matching paths are taken etc.

 

When a call disconnects there aren't even any 'disconnected' type events passed to the script that was running on that now disconnected line.

 

When a call disconnects the main script is stopped. All plays/recordings/etc are stopped on that line. And then the "After Hangup" script is started (if it is set up).

 

 

There is no such thing as a "on {DISCONNECTED} goto ..." event/path.

It is possible for script to specify paths to be taken if some other call is disconnected, but not if it itself is disconnected.

 

 

 

 

So the actions taken by [converse_wav_to_mp3] module should also be placed in the "After Hangup" script.

 

Are there any reasons why the "converse_wav_to_mp3" functionality cannot also be invoked from within the "after hangup" script (which in your case is: "manager_termination.vgs") ?

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
×