invoso.com Report post Posted 07/16/2012 12:32 PM Some of connections are not recorded. VG creating wav file as attached. recording.zip ID201207161324360.wav Share this post Link to post
SupportTeam Report post Posted 07/17/2012 12:55 AM Please provide ktTel trace excerpt covering between 13:20 and 13:30 (16th June). We can then see what happened with this recording. Share this post Link to post
SupportTeam Report post Posted 07/17/2012 01:18 AM Most likely the cause here is that you start a VBScript that issues a Play_Stop command just before you start a VBScript that issues a Record_2Lines_Start command, and you do not wait for that first VBScript to return before proceeding to the second VBScript. If VBScripts are started one after another like this they are effectively running in parallel, and there various commands within them will be ran intermixed. In this case looks like script from [sTOP MoH call] was ran after script started in [nagranie rozmowy fa], and the Play_Stop called in [sTOP MoH call] ended the recording started in [nagranie rozmowy fa]. The Play_Stop command will stop any Plays or Records currently performed on the line. You should set the VoiceGuideto wait for script in [sTOP MoH call] to complete before proceeding, and use a Run_ResultReturn call in [sTOP MoH call] after calling Play_Stop. The Play_Stop in [nagranie rozmowy fa] script is then unnecessary. 132445.178 6 13 5 state [sTOP MoH call] type: Script_VBScript, iRunWait=0 132445.194 6 13 5 rv replace start ------------------------------ set vg = CreateObject("vgServices.CommandLink") vg.Play_Stop $RV_LINEID set vg = Nothing ------------------------------ 132445.194 6 13 5 rv replace end [set vg = CreateObject("vgServices.CommandLink") vg.Play_Stop 13 set vg = Nothing] 132445.194 6 13 5 script will be ran from file: C:\Program Files\VoiceGuide\temp\vbs_13_4.vbs 132445.194 6 13 5 delete existing: C:\Program Files\VoiceGuide\temp\vbs_13_4.vbs 132445.194 6 13 5 current objVbsOrExeProcess= 132445.194 6 13 5 RunVBScriptFile [wscript][C:\Program Files\VoiceGuide\temp\vbs_13_4.vbs][] timeout=60 (vbsPath=C:\Program Files\VoiceGuide\temp), start (new Process) 132445.194 6 13 5 objVbsOrExeProcess.Start call 132445.194 7 22 8 q tel run cmd_PlayStop 132445.194 6 13 5 RunVBScriptFile just started. Handle=39784, Id=5580, StartTime=2012-07-16 13:24:45, HasExited=False 132445.194 17 13 5 ev PlayEnd 13 874406 132445.194 6 13 5 VBScript started [C:\Program Files\VoiceGuide\temp\vbs_13_4.vbs], ProcessHandle=[39784], VbsOrExeProcess.WorkingSet=[77824] 132445.194 17 13 5 play end id=874406, (old ID) current id=874968 132445.194 6 13 5 RunModule_Script_AfterScriptStarted start 132445.194 6 13 5 Run Script continuing... 132445.194 6 13 5 FindNextVgmTitleInPathList: next module title is=[record with permission] 132445.194 6 13 5 t timer clear (force=False) 132445.194 6 13 5 RunModule start Evaluate, [record with permission], iModuleIdx=504, previous: vgm=536, vgs=13:13 132445.194 6 13 5 state [record with permission] Evaluate [$RV[permission_to_record]=1] 132445.194 6 13 5 rv replace start [$RV[permission_to_record]=1] 132445.194 6 13 5 rv replace end [1=1] 132445.194 6 13 5 eval[1=1] 132445.194 6 13 5 CreateInstance ScriptControl objSC is: [system.__ComObject] 132445.194 6 d added record with permission_Input | 1=1 | ( 72 65 63 6f 72 64 20 77 69 74 68 20 70 65 72 6d 69 73 73 69 6f 6e 5f 49 6e 70 75 74 | 31 3d 31 | 175) id=13 132445.194 6 d added record with permission | True | ( 72 65 63 6f 72 64 20 77 69 74 68 20 70 65 72 6d 69 73 73 69 6f 6e | 54 72 75 65 | 176) id=13 132445.194 6 13 5 Eval Expr result:[True] 132445.194 6 13 5 path {True} found (at offset 3) 132445.194 6 13 5 FindNextVgmTitleInPathList: next module title is=[recorded] 132445.194 6 13 5 t timer clear (force=False) 132445.194 6 13 5 RunModule start Evaluate, [recorded], iModuleIdx=524, previous: vgm=504, vgs=13:13 132445.194 6 13 5 state [recorded] Evaluate [1] 132445.194 6 13 5 eval[1] 132445.194 7 q tel run cmd_TsRoute 132445.194 6 13 5 CreateInstance ScriptControl objSC is: [system.__ComObject] 132445.194 6 d added recorded_Input | 1 | ( 72 65 63 6f 72 64 65 64 5f 49 6e 70 75 74 | 31 | 177) id=13 132445.194 6 d added recorded | 1 | ( 72 65 63 6f 72 64 65 64 | 31 | 178) id=13 132445.194 6 13 5 creating new (non-global) rv : recorded 132445.194 6 d updtd recorded | 1 | ( 72 65 63 6f 72 64 65 64 | 31 | 178) id=13 132445.194 6 13 5 Eval Expr result:[1] stored in RV[recorded] 132445.194 6 13 5 path {1} not found 132445.194 6 13 5 matching path not found [1], try boolean paths. 132445.194 6 13 5 ex: ScriptIo.VGMTYPE_EVALEXPR [1] could not be converted to boolean. Take Success path as string non-empty. 132445.194 6 13 5 FindNextVgmTitleInPathList: next module title is=[nagranie rozmowy fa] 132445.194 6 13 5 matching path found (Boolean True) 132445.194 6 13 5 t timer clear (force=False) 132445.194 6 13 5 RunModule start Run VB Script, [nagranie rozmowy fa], iModuleIdx=497, previous: vgm=524, vgs=13:13 132445.194 6 13 5 state [nagranie rozmowy fa] type: Script_VBScript, iRunWait=0 132445.194 6 13 5 rv replace start ------------------------------ set vg = CreateObject("vgServices.CommandLink") vg.Play_Stop $RV[Conf_LineId_1] strRet = vg.Record_2Lines_Start($RV[Conf_LineId_1], $RV[Conf_LineId_1], $RV[Conf_LineId_2], "C:\callrecord\$RV[session_id].wav", "") set vg = Nothing ------------------------------ 132445.194 6 13 5 rv replace end [set vg = CreateObject("vgServices.CommandLink") vg.Play_Stop 13 strRet = vg.Record_2Lines_Start(13, 13, 22, "C:\callrecord\ID201207161324360.wav", "") set vg = Nothing] 132445.194 6 13 5 script will be ran from file: C:\Program Files\VoiceGuide\temp\vbs_13_5.vbs 132445.194 6 13 5 delete existing: C:\Program Files\VoiceGuide\temp\vbs_13_5.vbs 132445.194 6 13 5 current objVbsOrExeProcess= 132445.194 6 13 5 RunVBScriptFile [wscript][C:\Program Files\VoiceGuide\temp\vbs_13_5.vbs][] timeout=60 (vbsPath=C:\Program Files\VoiceGuide\temp), start (new Process) 132445.194 6 13 5 objVbsOrExeProcess.Start call 132445.210 6 13 5 RunVBScriptFile just started. Handle=39576, Id=4240, StartTime=2012-07-16 13:24:45, HasExited=False 132445.210 6 13 5 VBScript started [C:\Program Files\VoiceGuide\temp\vbs_13_5.vbs], ProcessHandle=[39576], VbsOrExeProcess.WorkingSet=[77824] 132445.210 6 13 5 RunModule_Script_AfterScriptStarted start 132445.210 6 13 5 Run Script continuing... 132445.210 6 13 5 FindNextVgmTitleInPathList: next module title is=[czy RICOH] 132445.210 6 13 5 t timer clear (force=False) 132445.210 6 13 5 RunModule start Evaluate, [czy RICOH], iModuleIdx=526, previous: vgm=497, vgs=13:13 132445.210 6 13 5 state [czy RICOH] Evaluate [$RV[iD_projektu]=534] 132445.210 6 13 5 rv replace start [$RV[iD_projektu]=534] 132445.210 6 13 5 rv replace end [543=534] 132445.210 6 13 5 eval[543=534] 132445.210 6 13 5 CreateInstance ScriptControl objSC is: [system.__ComObject] 132445.210 6 d added czy RICOH_Input | 543=534 | ( 63 7a 79 20 52 49 43 4f 48 5f 49 6e 70 75 74 | 35 34 33 3d 35 33 34 | 179) id=13 132445.210 6 d added czy RICOH | False | ( 63 7a 79 20 52 49 43 4f 48 | 46 61 6c 73 65 | 180) id=13 132445.210 6 13 5 Eval Expr result:[False] 132445.210 6 13 5 path {False} found (at offset 59) 132445.210 6 13 5 FindNextVgmTitleInPathList: next module title is=[connecting result fa= connected rch] 132445.210 6 13 5 t timer clear (force=False) 132445.210 6 13 5 RunModule start Database Query, [connecting result fa= connected rch], iModuleIdx=500, previous: vgm=526, vgs=13:13 132445.210 6 13 5 state [connecting result fa= connected rch] DB Query 132445.210 6 13 5 rv replace start [$RV[connection_string]] 132445.210 6 13 5 rv replace end [ODBC; Driver=USER_IDQL Unicode; Server=SERVER_ID; Port=5431; Database=database;UID=USER_ID;PWD=PASSWORD;] 132445.210 6 13 5 rv replace start ------------------------------ UPDATE polaczenia_unreached SET reason='po³¹czono', transfer_achieved=now(), reaction_time_un= ( SELECT CEIL(extract(epoch FROM (now()-transfer_start))) from polaczenia_unreached WHERE session_id='$RV[session_id]' AND session_id_count='$RV[kolejnosc]') WHERE session_id='$RV[session_id]' AND session_id_count='$RV[kolejnosc]'; UPDATE infolinia_fa SET count_connections=count_connections + 1 WHERE id_menu=$RV[iD_FA] AND placowka=$RV[insert_call_order_placowka_$RV[kolejnosc]]; UPDATE polaczenia SET transfer_call_timestamp=now(), effect='skierowano' WHERE session_id='$RV[session_id]'; UPDATE polaczenia SET waiting_time=extract(epoch FROM (transfer_call_timestamp-start_transfer)) WHERE session_id='$RV[session_id]' AND effect='skierowano' ------------------------------ 132445.210 6 13 5 db strDatabaseName=[manager] strDbConnectString=[ODBC; Driver=USER_IDQL Unicode; Server=SERVER_ID; Port=5431; Database=database;UID=USER_ID;PWD=PASSWORD;] sAdoNetFactoriesAvailable=[|System.Data.Odbc|System.Data.OleDb|System.Data.OracleClient|System.Data.SqlClient|System.Data.SQLite|] 132445.210 6 13 5 db using ado.net ODBC data provider : OdbcConnection/OdbcCommand/etc 132445.210 6 13 5 t timer set 30 sec : EV_TIMEOUT_HANGUP 132445.210 6 13 5 db odbc RunQuery_Odbc [connecting result fa= connected rch], db=[manager], connect=[ Driver=USER_IDQL Unicode; Server=SERVER_ID; Port=5431; Database=database;UID=USER_ID;PWD=PASSWORD;], sql=[uPDATE polaczenia_unreached SET reason='po³¹czono', transfer_achieved=now(), reaction_time_un= ( SELECT CEIL(extract(epoch FROM (now()-transfer_start))) from polaczenia_unreached WHERE session_id='ID201207161324360' AND session_id_count='1') WHERE session_id='ID201207161324360' AND session_id_count='1'; UPDATE infolinia_fa SET count_connections=count_connections + 1 WHERE id_menu=-543 AND placowka=5234; UPDATE polaczenia SET transfer_call_timestamp=now(), effect='skierowano' WHERE session_id='ID201207161324360'; UPDATE polaczenia SET waiting_time=extract(epoch FROM (transfer_call_timestamp-start_transfer)) WHERE session_id='ID201207161324360' AND effect='skierowano'] 132445.210 6 13 5 db odbc thread init (threadpool) 132445.210 28 13 5 db odbc connection create call. 132445.210 28 13 5 db odbc connection open call. 132445.210 6 13 5 db odbc thread started (threadpool) 132445.303 28 13 5 db odbc connection open returned. 132445.303 28 13 5 db odbc m_strSQL=[uPDATE polaczenia_unreached SET reason='po³¹czono', transfer_achieved=now(), reaction_time_un= ( SELECT CEIL(extract(epoch FROM (now()-transfer_start))) from polaczenia_unreached WHERE session_id='ID201207161324360' AND session_id_count='1') WHERE session_id='ID201207161324360' AND session_id_count='1'; UPDATE infolinia_fa SET count_connections=count_connections + 1 WHERE id_menu=-543 AND placowka=5234; UPDATE polaczenia SET transfer_call_timestamp=now(), effect='skierowano' WHERE session_id='ID201207161324360'; UPDATE polaczenia SET waiting_time=extract(epoch FROM (transfer_call_timestamp-start_transfer)) WHERE session_id='ID201207161324360' AND effect='skierowano'] 132445.475 20 remoting link constructor activated: vgServices_CommandLink 132445.491 20 13 5 rem Play_Stop 132445.491 20 13 5 CallExistsOnLine TRUE crn=290016c 132445.491 20 13 5 q scr add cmdPlayStop 0 132445.491 6 13 5 q scr run cmdPlayStop sCode=[] iActionID=0, crn=0[0|0|0|0|0][|||||] 132445.491 6 13 5 q tel add cmd_PlayStop [0,0,0,0,0][||||] 132445.491 6 13 5 play PlaySoundStop ok 132445.491 7 13 5 q tel run cmd_PlayStop 132445.491 20 13 5 rem Record_2Lines_Start [13,22,C:\callrecord\ID201207161324360.wav] options=[] 132445.491 20 13 5 CallExistsOnLine TRUE crn=290016c 132445.491 20 13 5 q tel add cmd_SilenceDetectSet [1000,0,0,0,0][||||] 132445.491 20 13 5 q tel add cmd_RecTwoLinesStart [13,22,880625,6,0][dxxxB2C1|dtiB1T5|dtiB1T8|C:\callrecord\ID201207161324360.wav|] 132445.491 20 13 5 Record_2Lines_Start [C:\callrecord\ID201207161324360.wav] ok 132445.491 20 remoting link constructor activated: vgServices_CommandLink 132445.506 7 13 5 q tel run cmd_SilenceDetectSet 132445.506 7 13 5 q tel run cmd_RecTwoLinesStart 132445.506 17 13 5 ev PlayEnd 13 874968 132445.506 17 13 5 play end id=874968, (current ID) 132445.506 17 13 5 q scr add evScriptEvent 8001 EV_PLAY_FINISHED 132445.506 6 13 5 q scr run evScriptEvent sCode=[EV_PLAY_FINISHED] iActionID=0, crn=0[874968|0|0|0|0][|||||] 132445.506 6 13 5 scriptevent EV_PLAY_FINISHED 874968|0|0 || 132445.506 6 13 5 LsDbQuery EV_PLAY_FINISHED,EV_PLAY_FINISHED 132445.522 20 13 5 rem Play_Stop 132445.522 20 13 5 CallExistsOnLine TRUE crn=290016c 132445.522 20 13 5 q scr add cmdPlayStop 0 132445.522 6 13 5 q scr run cmdPlayStop sCode=[] iActionID=0, crn=0[0|0|0|0|0][|||||] 132445.522 6 13 5 q tel add cmd_PlayStop [0,0,0,0,0][||||] 132445.522 6 13 5 play PlaySoundStop ok 132445.522 7 13 5 q tel run cmd_PlayStop 132445.538 17 13 5 ev Dialogic 130,TDX_RECORD, crn=290016c, 0,0,0,TM_USRSTOP,, 132445.538 17 13 5 q scr add evScriptEvent 130 TDX_RECORD 132445.538 6 13 5 q scr run evScriptEvent sCode=[TDX_RECORD] iActionID=0, crn=290016c[0|0|0|0|0][TM_USRSTOP|||||] 132445.538 6 13 5 scriptevent TDX_RECORD 0|0|0 TM_USRSTOP|| 132445.538 6 13 5 LsDbQuery EV_UNKNOWN_130,TDX_RECORD 132445.538 17 13 5 q scr add evScriptEvent 8003 EV_REC_FINISHED 132445.538 6 13 5 q scr run evScriptEvent sCode=[EV_REC_FINISHED] iActionID=0, crn=0[0|0|0|0|0][|||||] 132445.538 6 13 5 scriptevent EV_REC_FINISHED 0|0|0 || 132445.538 6 13 5 LsDbQuery EV_REC_FINISHED,EV_REC_FINISHED Share this post Link to post
invoso.com Report post Posted 07/17/2012 04:52 AM BTW. how to extract one separated connection from log file for easier analysis? Share this post Link to post
invoso.com Report post Posted 07/17/2012 05:16 AM I found probably source of problems. I had problems with hanging up connection like in this case. So You suggest conflict between ending and starting connections in this same time. I deleted [sTOP MoH call] module (was added to be sure stopping MoH). After declaring channels for outgoing calls (17-30) recording are correct, but I'm afraid that when more calls will arrived VG problems come back because they reach declared outgoing channel. To decrease probability of channels in-out conflict I need to start searching first available channel starting latest or order depend on switch configuration. Can You to change declaring outgoing calls channels with ordering? So declaring 30-15 or 30, 29, 28, 27 ... 15 VG should searching first available channel starting 30 channel as described and next 29, 28, 27 ... 15. In this case I receive calls from telecomm in order starting from 1 to 30 and VG calling out starting from 30 descending to 15 or other need order. Share this post Link to post
SupportTeam Report post Posted 07/17/2012 08:16 AM I deleted [sTOP MoH call] module (was added to be sure stopping MoH). Guess that should work as well. (it would depend on rest of your script). The other comments on line selection of outgoing calls probably belong in another thread? Share this post Link to post
invoso.com Report post Posted 07/18/2012 07:31 AM Again invalid record file. no recorded.zip Share this post Link to post
SupportTeam Report post Posted 07/18/2012 08:12 AM Attached is a 334KB trace vgEngine excerpt. What was the name of the file or the time that we should be looking at? Are you sure that your script is not issuing any Play_Stop API commands that are causing the recording to stop? Share this post Link to post
SupportTeam Report post Posted 07/18/2012 08:18 AM We can see in trace that you have a Play_Stop API call issued after the Record_2Lines_Start API call. Also the Record_2Lines_Start call is made before a current play on line (id=375859) finishes. If you are using Play_Stop to stop plays then you must ensure that play stops before other Plays/Records are started. A suggestion was made in previous post: You should set the VoiceGuideto wait for script in [sTOP MoH call] to complete before proceeding, and use a Run_ResultReturn call in [sTOP MoH call] after calling Play_Stop. And the Play_Stop call in the script that calls Record_2Lines_Start should be removed. 083626.460 10 20 7 rem Play_Stop 083626.460 10 20 7 CallExistsOnLine TRUE crn=280003c 083626.460 10 20 7 q scr add cmdPlayStop 0 083626.460 6 20 7 q scr run cmdPlayStop sCode=[] iActionID=0, crn=0[0|0|0|0|0][|||||] 6|00:00:00.1562500 083626.460 6 20 7 q tel add cmd_PlayStop [0,0,0,0,0][||||] 083626.460 6 20 7 play PlaySoundStop ok 083626.460 7 20 7 q tel run cmd_PlayStop 4|00:00:00.1250000 083626.460 10 20 7 rem Play_Stop 083626.460 10 20 7 CallExistsOnLine TRUE crn=280003c 083626.460 10 20 7 q scr add cmdPlayStop 0 083626.460 6 20 7 q scr run cmdPlayStop sCode=[] iActionID=0, crn=0[0|0|0|0|0][|||||] 6|00:00:00.1562500 083626.460 6 20 7 q tel add cmd_PlayStop [0,0,0,0,0][||||] 083626.460 6 20 7 play PlaySoundStop ok 083626.460 10 20 7 rem Record_2Lines_Start [20,65,C:\callrecord\ID201207180834210.wav] options=[] 083626.460 10 20 7 CallExistsOnLine TRUE crn=280003c 083626.460 10 20 7 q tel add cmd_SilenceDetectSet [1000,0,0,0,0][||||] 083626.460 10 20 7 q tel add cmd_RecTwoLinesStart [20,65,381593,6,0][dxxxB2C3|dtiB1T7|dtiB1T22|C:\callrecord\ID201207180834210.wav|] 083626.460 10 20 7 Record_2Lines_Start [C:\callrecord\ID201207180834210.wav] ok 083626.460 7 20 7 q tel run cmd_PlayStop 4|00:00:00.1250000 083626.460 7 20 7 q tel run cmd_SilenceDetectSet 4|00:00:00.1250000 083626.460 7 20 7 q tel run cmd_RecTwoLinesStart 4|00:00:00.1250000 083626.475 19 20 7 ev PlayEnd 20 375859 083626.475 19 20 7 play end id=375859, (current ID) 083626.475 19 20 7 q scr add evScriptEvent 8001 EV_PLAY_FINISHED 083626.475 6 20 7 q scr run evScriptEvent sCode=[EV_PLAY_FINISHED] iActionID=0, crn=0[375859|0|0|0|0][|||||] 6|00:00:00.1562500 083626.475 6 20 7 scriptevent EV_PLAY_FINISHED 375859|0|0 || 083626.475 6 20 7 LsDbQuery EV_PLAY_FINISHED,EV_PLAY_FINISHED 083626.522 10 remoting link constructor activated: vgServices_CommandLink 083626.538 10 20 7 rem Play_Stop Share this post Link to post
invoso.com Report post Posted 07/19/2012 06:21 AM After moving Play_Stop from Record_2_Lines to previous VBS module (stopping play before recording) script working properly. Summary hint: Use separate VBS module to Stop MoH or other previous Play statement before start Record call. Share this post Link to post
SupportTeam Report post Posted 07/23/2012 07:46 AM And to ensure that the Play_Stop API calls completes before other API calls are issued, you should set VoiceGuide to wait for script to complete before proceeding. Use a Run_ResultReturn call after Play_Stop API call to let VoiceGuide progress to next module. The Play/Record/Stop/etc API calls allow you to issue commands directly to Dialogic layer. You must ensure that only one API call is done at a time on a line otherwise Dialogic level errors can result. When using the VoiceGuide modules, VoiceGuide ensures that Dialogic API calls are made correctly, but if you are making those API calls directly yourself you need to ensure that they do not interfere with each other or other calls. The direct API calls should be used sparingly. Share this post Link to post