VoiceGuide IVR Software Main Page
Jump to content

Acd Timing

Recommended Posts

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

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

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

post-1344-0-64297600-1369879899_thumb.gif

Share this post


Link to post

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

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

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

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

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

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.

 

 

 

 

post-1344-0-59968100-1369910845_thumb.gif

0530_1143_vgAgent.txt

Share this post


Link to post

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

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

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
×