mikeraut Report post Posted 05/28/2013 05:40 AM The Agent answers the call, deals with the Client and then Agent hangs up before the caller hangs up. If the Caller hangs up at the same time or a second later, then the 2 lines (both legs) do not release. If the Caller does nothing, both lines disconnect correctly. In the attached zip file I have both examples as described, with a forced released via the the VoiceGuide Line Status Manager acd_timing.zip AcdRating.vgs Share this post Link to post
SupportTeam Report post Posted 05/29/2013 01:35 AM Attached vgEngine trace shows 4 calls, and on completion of each of the 4 calls both the legs of the call release and "Waiting for a call..." status is shown in the Line Status Monitor.The incoming call is always arriving on port 3, and the outgoing call to agent is always made on port 1, showing that the previous call has properly released the call and new calls can be received/made on those ports.If you still are encountering problems can you please describe in more detail what is happening on the system, and advise which specific part of the trace we should be looking at.1st call:Line Status Monitor used to request hangup of the agent leg of call. VoiceGuide then hangs up both ports. 062951.953 6 5 3 state ACD queue : sales 062952.000 6 1 1 state Dialing (2nd leg) 101 062952.109 6 1 1 state Dialing (2nd leg) 101... 062953.000 6 1 1 state [Transfer to Pickups] Playing wav (C:\Program Files\VoiceGuide\System\voice_\AcceptAutoCall.wav) 062955.312 16 1 1 ev dtmf 2 (536870913,50,0) 062955.328 6 5 3 state [Transfer to Pickups] bridged with port 1 dxxxB1C1 062955.328 6 1 1 state [Transfer to Pickups] bridged with port 3 dxxxB1C3 (this is outgoing leg) 063013.765 19 1 1 wcf IPortStatus Action_Hangup call. iPort=1 063014.015 19 1 1 state Hanging up... [LineStatusWcf] 063014.125 6 1 1 state Waiting for a call... 063014.125 6 5 3 state Hanging up... [lsxfer_9_leg1 otherleg_end_nopath] 063014.203 6 5 3 state Waiting for a call... 2nd call:Agent hangs up and Dialogic detects disconnect tone. VoiceGuide then hangs up both ports. 063026.375 6 5 3 state ACD queue : sales 063026.375 6 1 1 state Dialing (2nd leg) 101 063026.406 6 1 1 state Dialing (2nd leg) 101... 063027.343 6 1 1 state [Transfer to Pickups] Playing wav (C:\Program Files\VoiceGuide\System\voice_\AcceptAutoCall.wav) 063031.937 16 1 1 ev dtmf 3 (536870914,51,0) 063031.937 6 5 3 state [Transfer to Pickups] bridged with port 1 dxxxB1C1 063031.937 6 1 1 state [Transfer to Pickups] bridged with port 3 dxxxB1C3 (this is outgoing leg) 063039.390 16 1 1 ev Dialogic 134,TDX_CST, crn=20000002, 1000,0,0,DE_TONEON,DISCONNECT_USER_1, 063039.406 16 1 1 ev CallState LINECALLSTATE_DISCONNECTED-DISCONNECT_USER_1, ... 063039.406 6 5 3 state Hanging up... [lsxfer_9_leg1 otherleg_end_nopath] 063039.406 6 1 1 state Hanging up... [LINECALLSTATE_DISCONNECTED] 063039.515 6 5 3 state Waiting for a call... 063039.531 6 1 1 state Waiting for a call... 3rd call:Same as 1st call. Line Status Monitor used to request hangup of the agent leg of call. VoiceGuide then hangs up both ports. 063235.531 6 5 3 state ACD queue : sales 063235.546 6 1 1 state Dialing (2nd leg) 101 063235.562 6 1 1 state Dialing (2nd leg) 101... 063236.515 16 1 1 ev Dialogic 132,TDX_DIAL, crn=20000003, 0,0,0,,, 063236.515 6 1 1 state [Transfer to Pickups] Playing wav (C:\Program Files\VoiceGuide\System\voice_\AcceptAutoCall.wav) 063239.359 16 1 1 ev dtmf 4 (536870915,52,0) 063239.375 6 5 3 state [Transfer to Pickups] bridged with port 1 dxxxB1C1 063239.375 6 1 1 state [Transfer to Pickups] bridged with port 3 dxxxB1C3 (this is outgoing leg) 063302.140 19 1 1 wcf IPortStatus Action_Hangup call. iPort=1 063302.140 19 1 1 state Hanging up... [LineStatusWcf] 063302.218 6 1 1 state Waiting for a call... 063302.218 6 5 3 state Hanging up... [lsxfer_9_leg1 otherleg_end_nopath] 063302.281 6 5 3 state Waiting for a call... 4th call:Similar to 2nd call - agent hangs up and Dialogic detects disconnect tone. VoiceGuide then hangs up both ports. 063332.187 6 5 3 state ACD queue : sales 063332.187 6 1 1 state Dialing (2nd leg) 101 063332.218 6 1 1 state Dialing (2nd leg) 101... 063335.156 16 1 1 ev dtmf 5 (536870916,53,0) 063335.171 6 5 3 state [Transfer to Pickups] bridged with port 1 dxxxB1C1 063335.171 6 1 1 state [Transfer to Pickups] bridged with port 3 dxxxB1C3 (this is outgoing leg) 063343.515 16 1 1 ev Dialogic 134,TDX_CST, crn=20000004, 1000,0,0,DE_TONEON,DISCONNECT_USER_1, 063343.515 6 1 1 state Hanging up... [LINECALLSTATE_DISCONNECTED] 063343.531 6 5 3 state Hanging up... [lsxfer_9_leg1 otherleg_end_nopath] 063343.593 6 1 1 state Waiting for a call... 063343.625 6 5 3 state Waiting for a call... Share this post Link to post
mikeraut Report post Posted 05/30/2013 02:14 AM I have attached another set of logs. This time I left the 2 lines for a while longer and then forced lines to hangup at 16h31 Attached is also a pic from 16h28 to prove that the 2 lines were still connected, even though both parties had released. To confirm, the condition is reproducible at any time. The agent hangs up first then immediately, the caller. 0529_ktTel.zip Share this post Link to post
SupportTeam Report post Posted 05/30/2013 03:54 AM So the actual issue is that the Dialogic card does not detect when caller or agent hangs up the phone? On basic analog lines that do not do any loop current drop or sending of DTMF tones upon disconnect the hangup detection can only be made by detecting disconnect tones played on the line. Do the phone lines you use play disconnect tones? Note that many switched do not play disconnect tones to parties that initiated the call. ie. if Agent hangs up and connection to agent was made over a basic analog phone line then Dialogic/VG will most likely not be hearing any disconnect tone at all - only silence. Please see: http://www.voiceguide.com/vghelp/source/html/disconnectiondetect.htm ISDN trunks and VoIP connections send explicit events when call is hung up, so end of call detection is not an issue on ISDN or VoIP systems. Trace shows that hangup was was made by pressing the "Hangup Line" button in the "Line Status Monitor". The line hung up was port 1 (that was connected to agent). The then resulted in the incoming call on port 3 being hung up as well. That button was pressed at 16:31:55 Screenshot was taken at 16:28:59 What is a bit puzzling is why in the agent popup screenshot the CallTime counter is active (and shows 6min 17sec and counting) - but the status is not "On Call', but is "Ready' instead... also the "Hangup button is inactive... Was the agent popup showing "On Call" status at beginning of the call? (it should) Was the agent popup 'Hangup' button active at the beginning of the call? (it should be) Did you at any time press the 'Hangup' button on the agent popup during the call? Did you at any time change the agent status on the agent popup to "Ready" during the call? You should not be able to set status to "Ready" while on the call - but the Call Time counter shows that agent is still on the call... Did you press any buttons on the agent popup at all? 162242.312 6 5 3 state ACD queue : sales 162242.312 6 1 1 state Dialing (2nd leg) 101 162242.343 6 1 1 state Dialing (2nd leg) 101... 162243.296 6 1 1 state [Transfer to Pickups] Playing wav (C:\Program Files\VoiceGuide\System\voice_\AcceptAutoCall.wav) 162248.406 17 1 1 ev dtmf 0 (536870915,48,0) 162248.437 6 5 3 state [Transfer to Pickups] bridged with port 1 dxxxB1C1 162248.437 6 1 1 state [Transfer to Pickups] bridged with port 3 dxxxB1C3 (this is outgoing leg) 163155.015 19 1 1 wcf IPortStatus Action_Hangup call. iPort=1 163155.265 19 1 1 state Hanging up... [LineStatusWcf] 163155.312 15 wcf acd AgentStatusSet 8002 Work 163155.343 6 1 1 state Waiting for a call... 163155.343 6 5 3 state Hanging up... [lsxfer_9_leg1 otherleg_end_nopath] 163155.421 6 5 3 state Waiting for a call... Share this post Link to post
mikeraut Report post Posted 05/30/2013 04:24 AM As far as the agent popup goes, the Hangup button is NEVER active, always grayed out. Yes, I did click on the Ready button as the agent had now effectively completed the call. As you noticed, the status remained connected. It is during this period that the 2 lines remain connected. Lastly, a disconnect tone does play (busy tone 500 on/off) when one of the parties hangs up. Share this post Link to post
SupportTeam Report post Posted 05/30/2013 04:40 AM Can you please .ZIP up and post here the vgAgent.exe that is on your system. Lastly, a disconnect tone does play (busy tone 500 on/off) when one of the parties hangs up. The ConfigLine.xml file would need to be modified accordingly to detect this tone. Please see: http://www.voiceguide.com/vghelp/source/html/disconnectiondetect.htm Share this post Link to post
mikeraut Report post Posted 05/30/2013 05:00 AM File uploaded as requested. Was installed from vgAgent_7.3.3_130527.exe vgAgent.zip Share this post Link to post
SupportTeam Report post Posted 05/30/2013 06:25 AM The vgAgent.exe is the right one. The Hangup button should become active when the call is connected to the agent. That button allows agent to hangup the call by sending message direct to VoiceGuide to disconnect agent leg of the call immediately (caller then go onto other part of IVR script if that is how the IVR script or ACD queue is set up) Also the comments made before about the status "Ready" not being a valid status while call is still connected still stand. When a call is connected the status should be "OnCall". Do you ever see that status gets set to "On Call" ("On Call" appears in same location where "Not Ready" is displayed. Can you please .ZIP up the log files from vgAgent's \log\ subdirectory and post here. We'll see if there are any errors showing up in these log files. Share this post Link to post
mikeraut Report post Posted 05/30/2013 07:01 AM Files added as requested 0528_0553_vgAgent.zip Share this post Link to post
SupportTeam Report post Posted 05/30/2013 10:05 AM The traces show what is wrong. Looks like there is a bug when agent is reached after dialing out over analog line. We are working on a fix for this now and should have one ready soon. vgAgent log of an incoming call on our test system (outgoing call to agent made over ISDN trunk): 131942.074 1 ev popup , title=sales, link=, opt=someoptions 131942.074 1 rv: [CIDNUMBER]{}[CIDNAME]{}[$RV_STARTTIME]{2013-05-30 13:19:31}[$RV_DEVICEID]{82}[DlgcVoice]{dxxxB17C2}[DlgcNetwork]{dxxxB17C2}[$RV_CIDNAME]{}[$RV_CIDNUMBER]{} 131942.074 1 html: 131942.077 1 AcdEvent_DoPopup_Show begin sales, , , resetTimer=5, someoptions 131942.078 1 rv does not contain AcdAgentPopup_DisplayLink 131942.078 1 AcdEvent_DoPopup_Show using default template (template_Incoming.htm) 131942.078 1 ShowPopUp C:\ProjectsVgNet\bin\vgAgent\popups\popup_Now.htm, 5 131942.078 1 ShowPopUp - popup already visible 131942.081 1 cEXWB1.Navigate C:\ProjectsVgNet\bin\vgAgent\popups\popup_Now.htm 131942.084 1 AcdEvent_DoPopup_Show completed 131942.104 1 ev state 0, Dialing, 131942.105 1 ThisAgentStatusSet OnCall, sCalledFrom=LegToAgent_CallState dialing 131942.105 1 wcfc AgentStatusSet call OnCall 131942.106 1 AgentStatusSet => ok 131942.106 1 ThisAgentStatusSet 5 131943.186 1 ev state 0, Connected, vgAgent log of incoming call from your system (outgoing call to agent made over Analog): 051212.296 1 ev popup , title=sales, link=, opt=someoptions 051212.296 1 rv: [CIDNUMBER]{100}[CIDNAME]{Switchboard}[$RV_STARTTIME]{2013-05-30 05:12:10}[$RV_DEVICEID]{5}[DlgcVoice]{dxxxB1C3}[DlgcNetwork]{dxxxB1C3}[$RV_CIDNAME]{Switchboard}[DNIS]{}[$RV_CIDNUMBER]{100}[Welcome]{1} 051212.296 1 html: 100 Switchboard 051212.312 1 AcdEvent_DoPopup_Show begin sales, , 100 Switchboard , resetTimer=5, someoptions 051212.312 1 rv does not contain AcdAgentPopup_DisplayLink 051212.312 1 AcdEvent_DoPopup_Show using default template (template_Incoming.htm) 051212.312 1 ShowPopUp C:\Program Files\vgAgent\popups\popup_Now.htm, 5 051212.312 1 ShowPopUp - popup already visible 051212.312 1 cEXWB1.Navigate C:\Program Files\vgAgent\popups\popup_Now.htm 051212.328 1 AcdEvent_DoPopup_Show completed 051213.281 1 ev state 0, Connected, Share this post Link to post
SupportTeam Report post Posted 05/30/2013 10:36 AM Quick patch. Untested. Can you please update vgAgent on your system with this version: [old link removed] and see if the "Hangup" button now becomes active when new call arrives. Please exit vgAgent app and then install above over the top of existing install. Please post vgAgent trace as before. Share this post Link to post
mikeraut Report post Posted 05/30/2013 10:53 AM Great Stuff! The Hangup button is now visible and when selected, terminates the call. The original timing problem is solved in this way as the agent simply clicks on the Hangup button and both the former 'hung' lines are now released correctly. Thanks for the GREAT support. 0530_1143_vgAgent.txt Share this post Link to post
SupportTeam Report post Posted 05/30/2013 11:20 AM OK, please let us know if you encounter any other problems or have any other questions. Please note that the system should work so that it does not rely on agent pressing the Hangup button. It should hangup the calls when the disconnect tones are detected on the line (as this is a simple all-analog system that only uses disconnect tones - not loop current drop etc.) ie: - if agent hangs up first the Dialogic card should detect the hangup, and either hangup caller, or send caller back IVR script (depends on setup) - if caller hangs up first then agent leg of the call should be ended as well without the agent requiring to press the 'hangup' button. 9and agent will be automatically put in "After Call Work" mode. Original traces provided show that sometimes the Dialogic card reports that if has heard the disconnect tone - DISCONNECT_USER_1 - but only on the agent leg of call (excerpts were quoted in post #2). So looks like the Dialogic card cannot detect the disconnect tone on the incoming leg of call. Can you record the disconnect tone played when someone dials into the system ? Just use a script with a single record module and then call into it, let is record a few seconds and then hang up. The record module will then record what (if anything) is played on the line after caller hung up. If you can .ZIP up the recorded sound file and post it here we can advise how to configure the ConfigLine.xml file so that the Dialogic card will detect the disconnect tone. Share this post Link to post
mikeraut Report post Posted 05/30/2013 12:40 PM The file appears to have a 500ms on/off Disconnect_1_tone.wav Share this post Link to post
mikeraut Report post Posted 05/31/2013 03:31 AM The file appears to have a 500ms on/off Share this post Link to post
SupportTeam Report post Posted 05/31/2013 10:34 AM We can see in ktTel traces provided that ConfigLine.xml on your system has already been set to 400Hz and 500ms on/off cadence: 420 162117.828 3184 tone loaded from ConfigLine idx=0 DISCONNECT_USER_1:1009 400:50 0:0 50:5 50:5 3 421 162117.828 3184 tone loaded from ConfigLine idx=1 DISCONNECT_USER_2:1010 550:200 0:0 30:10 20:10 3 Probably best to first run some tests to check if all the ports on the Dialogic card that you are using are correctly detecting the tones. Best to just use a script consisting of a single record module and simply dial in and hangup a second or so after the call is answered by Dialogic/VoiceGuide. This will let you see on which ports the disconnect tone was detected and on which ports it was not detected and the recording just went on and on recording the disconnect tone (default max record time is 30 seconds but you can change that by specifying a timeout path to another module) You could try relaxing the DISCONNECT_USER_1 tone definition a little bit. eg: <Tone Name="DISCONNECT USER 1"><Notes>Disconnect Tone</Notes><ID>DISCONNECT_USER_1</ID><Freq1>400</Freq1><Freq1Dev>50</Freq1Dev><Freq2>0</Freq2><Freq2Dev>0</Freq2Dev><On>50</On><OnDev>10</OnDev><Off>50</Off><OffDev>10</OffDev><Count>3</Count></Tone> NB. we set up a test that basically replicates your setup (analog in and analog out to agent) and hung up the caller side of call first. Dialogic card we used detected the disconnect tone coming from caller side and hung up both caller and agent lines (agent was then transitioned to "Work" mode). 583 180556.749 5584 82 fn ParamSet(82,ConfigLine_Filename,C:\ProjectsVgNet\bin\conf\ConfigLine_Analog.xml,0) 584 180556.749 5584 SetParam ConfigLine_Filename begin 585 180556.749 5584 82 DlgcVoice_SetConfig_AwaitCall start 586 180556.749 5584 82 tones not set by TSF File as EDX_SYSTEM [dxxxB17C2|dxxxB17C2] 587 180556.749 5584 82 config line as per [C:\ProjectsVgNet\bin\conf\ConfigLine_Analog.xml] iReadTonesConfigFromConfigLineXml=1 588 180556.749 5584 82 config line XML_ParserCreate 589 180556.749 5584 82 config line file load start len=7393 590 180556.749 5584 tone loaded from ConfigLine idx=0 DISCONNECT_USER_1:1032 400:50 0:0 25:5 25:5 3 195817.281 3 82 32 state [Put in ACD queue] bridged with port 33 dxxxB17C3 195817.281 3 84 33 state [Put in ACD queue] bridged with port 32 dxxxB17C2 (this is outgoing leg) 195842.523 14 82 32 ev Dialogic 134,TDX_CST, crn=10000012, 1032,0,0,DE_TONEON,DISCONNECT_USER_1, 195842.523 14 82 32 q scr add evScriptEvent 134 DISCONNECT 195842.523 14 82 32 q scr add evScriptEvent 134 DISCONNECT_USER_1 195842.523 3 82 32 q scr run evScriptEvent sCode=[DISCONNECT] iActionID=0, crn=10000012[1032|0|0|0|0][DE_TONEON|DISCONNECT_USER_1||||] 00:00:00 max:3|00:00:00.0458985 195842.523 14 82 32 q scr add evScriptEvent 134 TDX_CST 195842.523 3 82 32 scriptevent DISCONNECT 1032|0|0 DE_TONEON|DISCONNECT_USER_1| LineState=LS_XFER_9_WAITENDCALL_RequestXferSide 195842.523 14 82 32 ev CallState LINECALLSTATE_DISCONNECTED-DISCONNECT_USER_1, crn=10000012, iEvent=2 ,16384,0,64, s1:, s2:, s3:]. build_date: 2013-05-30 22:23:21.69 195842.523 3 82 32 LsXfer_9_WaitEndCall_InLeg : 134(EV_UNKNOWN_134),DISCONNECT,1032,0,0,DE_TONEON,DISCONNECT_USER_1, (iModuleIdx=476) 195842.523 14 82 32 q scr add evCallState 2 LINECALLSTATE_DISCONNECTED-DISCONNECT_USER_1 195842.523 3 82 32 LsXfer_9_WaitEndCall_InLeg local disconnet handler, iConferenceOtherLegLid=84 195842.523 3 84 33 q scr add evScriptEvent 134 OTHER_LEG_DISCONNECT 195842.523 3 82 32 TsReset call in LsXfer_9_WaitEndCall_InLeg DISCONNECT on Dial and Conference type transfer. iOtherLineToHangup=84 195842.524 3 q tel add cmd_TsReset [0,0,0,0,0][dxxxB17C2||dxxxB17C3||] 195842.524 3 82 32 ConferenceOtherLegLid_ClearBoth 82 84 (both cleared), caller:LsXfer_9_WaitEndCall_InLeg local disconnet 195842.524 3 82 32 path {DISCONNECT} not found 195842.524 4 q tel run cmd_TsReset 00:00:00 max:3|00:00:00.0302734 195842.524 3 82 32 HangupCall, source=LsXfer_9_WaitEndCall_InLeg No_Path_Matched, WorkModeScript=Running_Normal, yLineStateAppPov=[Connected], lPlayId=0, lRecId=394656 195842.524 3 82 32 moduleTitle=[Put in ACD queue] 195842.524 3 82 32 ScriptWorkingMode set Stopping, (called from HangupCall) 195842.524 3 82 32 ls set Disconnect_Pending (scriptstate=LS_ENDINGCALL) 195842.524 3 82 32 state Hanging up... [LsXfer_9_WaitEndCall_InLeg No_Path_Matched] Share this post Link to post
SupportTeam Report post Posted 06/01/2013 01:52 AM Fuller vgEngine extract for completeness. vgEngine_extract.txt Share this post Link to post