Jump to content


< Back to Forum


 

Pbx Functionality Vbscripts 7.5


  • Please log in to reply

#1 Maciej 21 April 2016 - 05:38 PM

Can You explain why client on channel 1 in module Client_Agent2_conversation after hangup (disconnecting) call by Agent 2 not forwarding like declared in paths?

 

on {OTHER_LEG_DISCONNECTED} goto [finish_call]
on {DISCONNECTED} goto [finish_call]



#2 SupportTeam 22 April 2016 - 08:28 AM

When the caller hangs up the 'Afer Hangup' script is ran.

 

Please see: http://www.voiceguid...call finish.htm

 

We can see from trace that the 'After Hangup' was specified for this script. It is: _termination.vgs

 

and the _termination.vgs was started as expected:

092651.900   7   2   1       running AfterHangupScript as recording -530326 completed
092651.901   7   2   1       after hangup script as supplied: [_termination.vgs]
092651.901   7   2   1       FindFullPathToScript_VgsOrVgp start [_termination.vgs]
092651.901   7   2   1       after hangup script after searching: [_termination.vgs]
092651.901   7               LoadedVgs_Find _termination.vgs at idx=6
092651.901   7   2   1       After Hangup script run first module
092651.901   7   2   1       L2_set Running_AfterHangup  (called from StartAfterHangupScriptIfDefined)
092651.901   7   2   1 t     timer clear (force=False)
092651.901   7   2   1       RunModule start
092651.901   7   2   1       RunModule start Database Query, [vg_polaczenia_update_end_first], iModuleIdx=484, previous: vgm=528, vgs=6:7
092651.901   7   2   1 state [vg_polaczenia_update_end_first] DB Query
092651.901   7   2   1       rv    replace start [$RV[connection_string]]
092651.901   7   2   1       rv    replace end   [ODBC; Driver=PostgreSQL Unicode; Server=IP; Port=5432; Database=database;UID=user;PWD=pass]
092651.901   7   2   1       rv    replace start
------------------------------
UPDATE polaczenia    SET call_end=now(), stop=to_char(now(), 'HH24MISS'), hangup_source='$RV[Hangup Source]'     WHERE session_id='$RV[session_id]'

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


#3 Maciej 26 April 2016 - 08:08 PM

Sorry, I don't understand, I have script Using : on {OTHER_LEG_DISCONNECTED} goto [prepaid_two_tariffs_back.vgs|] (7.5.5915.18699 RELEASE options75)

 

and script has termination script too and it's working properly. In case Other leg disconnected script forwarding to next script.

 

It looks that {OTHER_LEG_DISCONNECTED} has higher priority than termination script. Why it doesn't work in this case?

 

 

Maybe again versions Problem?

v7.4.5546.36085 (09-Mar-15 20:02:50.85)

101348.773  20 179  60 ev    CallState GCEV_DISCONNECTED, crn=28c0183, iEvent=0 ,16384,0,64, s1:, s2:, s3:]. build_date: 09-Mar-15 20:02:50.85
101348.773  20 179  60       q_scr +     evCallState 0 GCEV_DISCONNECTED
101348.773   7 179  60       q_scr run   evCallState sCode=[GCEV_DISCONNECTED] iActionID=0, crn=28c0183 [16384|0|64|0|0][|||||] 00:00:00 max:4|00:00:00.4470255
101348.773   7 179  60       callstate crn_event=28c0183 0|GCEV_DISCONNECTED state=16384|Disconnected calldirection=0 gcCallState=64 [||], ScriptState=LS_XFER_7_WAITOUTCOMEOUTGOINGCALL_DIALINGSIDE
101348.773   7 179  60       LineEvCallState L1_current=Connected crn_event=28c0183,ev=0,GCEV_DISCONNECTED,0, sParam1=
101348.773   7 179  60       LineEvCallState LINECALLSTATE_DISCONNECTED begin
101348.773   7 179  60       TsReset [LineEvCallState_LINECALLSTATE_DISCONNECTED], OtherLegLid=25
101348.773   7               q_tel +     cmd_TsReset 0 [0,0,0,0,0][dtiB2T30||dtiB1T9||]
101348.773   7 179  60       OtherLegLid_ClearBoth 179 25 caller:LineEvCallState_LINECALLSTATE_DISCONNECTED
101348.773   8               q_tel run   cmd_TsReset 0 00:00:00 max:4|00:00:00.1450083
101348.773   7  25   9       OtherLegLid_ClearBoth 179 25 caller:LineEvCallState_LINECALLSTATE_DISCONNECTED
101348.773   7 179  60       send OTHER_LEG_DISCONNECTED to OtherLegLid=25
101348.773   7  25   9       q_scr +     evScriptEvent 0 OTHER_LEG_DISCONNECTED
101348.773   7 179  60       L1_set Disconnected (iState=LS_XFER_7_WAITOUTCOMEOUTGOINGCALL_DIALINGSIDE)
101348.773   7 179  60       in LINECALLSTATE_DISCONNECTED iState=LS_XFER_7_WAITOUTCOMEOUTGOINGCALL_DIALINGSIDE
101348.773   7 179  60       HangupCall (LineEvCallState_DISCONNECTED) crn_in=28c0183, L1=Disconnected, L2=Running_Normal, lPlayId=0, lRecId=0
101348.773   7 179  60       ccrn_connected=0, crn_NewCallArriving=0, crn_CurrentMakeCall=0, crn_InProcessOfReleasing=28c0183
101348.773   7 179  60       rv    add   Hangup Source|LineEvCallState_DISCONNECTED
101348.773   7 179  60       HangupCall sScriptToRunOnHangup=[]
101348.773   7 179  60       no script running on this line. AfterHangup script will not be ran.
101348.774   7 179  60       rv    add   DropCall_Source|
101348.774   7 179  60 state Hanging up... [LineEvCallState_DISCONNECTED]
101348.774   7 179  60       logs not written as LogEntryWritten=1
101348.774   7 179  60       L2_set Idle_WaitingForNextCall  (called from HangupCall)
101348.774   7 179  60 t     timer set   3 sec : EV_TIMEOUT_AFTERIDLE_ALLOWOUT
101348.774   7 179  60       GoOnHoook_IssueDropCall start (crn_in=28c0183, crn_connected=0, crn_makecall=0, crn_NewCallArriving=0, crn_InProcessOfReleasing=28c0183, L1=Disconnected)
101348.774   7 179  60 t     timer set   20 sec : EV_TIMEOUT_WAITFORIDLEAFTERDropCall
101348.774   7 179  60       set crn_InProcessOfReleasing=28c0183
101348.774   7 179  60       not setting crn_CurrentConnected to 0 as crn_CurrentConnected=0 and evnt crn=28c0183
101348.774   7 179  60       set crn_connected=0 (called from GoOnHoook_IssueDropCall)
101348.774   7 179  60       q_tel +     cmd_DropCall 28c0183 [0,0,0,0,0][||||]
101348.774   7 179  60       GoOnHoook_IssueDropCall end
101348.774   7  25   9       q_scr run   evScriptEvent sCode=[OTHER_LEG_DISCONNECTED] iActionID=0, crn=0 [0|0|0|0|0][|||||] 00:00:00.0010001 max:4|00:00:00.4470255
101348.774   7  25   9       se    OTHER_LEG_DISCONNECTED 0  0|0|0  || LineState=LS_PLAY_PLAYMSGFINISHED
101348.774   7  25   9       LsPlayMsgFinished EV_UNKNOWN_0,OTHER_LEG_DISCONNECTED, [ ], [ ], []
101348.774   7  25   9       rv    replace start 
------------------------------
on {timeout $RV[warning before end]} goto [WHITEPHONE_play_warning]
on {OTHER_LEG_DISCONNECTED} goto [prepaid_two_tariffs_back.vgs|]

------------------------------
101348.774   7  25   9       rv    replace end   [on {timeout 123090} goto [WHITEPHONE_play_warning]
on {OTHER_LEG_DISCONNECTED} goto [prepaid_two_tariffs_back.vgs|]
]
101348.774   7  25   9       path {OTHER_LEG_DISCONNECTED} found (at offset 55)
101348.774   7  25   9       FindNextVgmTitleInPathList: next module title is=[prepaid_two_tariffs_back.vgs|]
101348.774   7  25   9       script and module specified
101348.774   7  25   9       NewVgsVgm_Goto_Setup  dest=prepaid_two_tariffs_back.vgs|, return=|, lSaveSourceOnCallStack=0
101348.774   7  25   9       rv    add   ScriptEnd_Time|2016-04-26 10:13:48
101348.774   7  25   9       rv    add   ScriptEnd_Goto_Script|prepaid_two_tariffs_back.vgs
101348.775   7  25   9       rv    add   ScriptEnd_Goto_Module|
101348.775   7  25   9       WriteToLogFiles_CurrScriptOnly begin
101348.775   7  25   9       WriteToLogFiles_DoWrite begin : strLogFnameLessSuffix=whitephone_prepaid_two_tariffs
101348.775   7  25   9       WriteToLogFiles_DoWrite : log subdirectory does not exist: log
101348.789   8 179  60       q_tel run   cmd_DropCall 28c0183 00:00:00.0150009 max:4|00:00:00.1450083
101348.810  20 179  60 ev    CallState GCEV_DROPCALL, crn=28c0183, iEvent=0 ,1,0,32, s1:, s2:, s3:]. build_date: 09-Mar-15 20:02:50.85
101348.810  20 179  60       q_scr +     evCallState 0 GCEV_DROPCALL
101348.824   7  25   9       WriteToLogFiles_DoWrite completed
101348.824   7  25   9       rv    add   ScriptStart_Time|2016-04-26 10:13:48
101348.824   7  25   9       rv    add   ScriptStart_CalledFrom_Script|prepaid_two_tariffs.vgs
101348.826   7  25   9       rv    add   ScriptStart_CalledFrom_Module|just_wait_input_play
101348.826   7  25   9       FindFullPathToScript_VgsOrVgp start [prepaid_two_tariffs_back.vgs]
101348.826   7               VgsScriptLoad load start [prepaid_two_tariffs_back.vgs] iVgsLoadCounter=10
101348.826   7               VgsScriptLoad iVgsId=10
101348.826   7               VgsScriptLoad about to do ProcessVgsEntry loop
101348.847   7  25   9       loaded     [prepaid_two_tariffs_back.vgs] into:10
101348.847   7  25   9       ScriptToRunOnHangup=[prepaid_temination.vgp] in NewVgsVgm_SetVgsVgm 1
101348.847   7  25   9       rvns  add   ScriptsPath|
101348.847   7  25   9       StartModuleDefault=[Hangup_Source_next_call]


#4 SupportTeam 27 April 2016 - 07:47 AM

It looks that {OTHER_LEG_DISCONNECTED} has higher priority than termination script.

The above statement is incorrect. Handling of OTHER_LEG_DISCONNECTED event does not take precedence over starting the 'After Hangup' script.

No paths specified in module take any precedence over the process that starts the 'After Hangup' script.

The 'After Hangup' script will be started immediately upon call ending.

The trace posted just now shows a different situation to trace posted 5 days before (in the first post of this thread). The two traces posted capture different scenarios :

In the first trace VoicegGuide hangs up the call.

but in the trace just posted now, the party on the 2nd leg of the call (the agent?) hangs up the call.

 

Note that there are no OTHER_LEG_DISCONNECTED events in the trace posted at the beginning of this thread.
 



#5 Maciej 27 April 2016 - 08:28 PM

I think, no difference between two scenarios as you see, but difference is in connection method.

 

OTHER_LEG_DISCONNECTED working properly when call is transferred by transfer module, our problem is because we join two channels using VBscript and maybe because VG not recognizing OTHER_LEG

 

Maybe I have to declare it?



#6 SupportTeam 28 April 2016 - 08:52 AM

The difference between the two posted trace excerpts is in the disconnection.

 

In the first trace VoiceGuide ends the call.

In the second trace the remote party on the 2nd leg of the transferred call (the agent?) hangs up.

 

If VoiceGuide hangs up the call there will not be any DISCONNECTED event at VoiceGuide end of the call, as it was not the remote party/side that disconnected.

And if there are no DISCONNECTED events, then there will not be any OTHER_LEG_DISCONNECTED events issued on the other call leg either.