Author Topic: Routing to longest available DN in target list  (Read 13341 times)

This topic contains a post which is marked as Best Answer. Press here if you would like to see it.

Rick

  • Guest
Routing to longest available DN in target list
« on: January 01, 1970, 09:00:00 AM »
This seems like it should be easy, but it hasn't been.  We are using Even(StatTimeInReadyState) on the Target Select statement, but we are seeing agents receive calls as soon as they go Ready while other agents in the same target list (seen in IR log) that have been Ready for several minutes (seen in Stat log) are not receiving calls.  I'm beginning to think that Even(StatTimeInReadyState) is not the right way to do this, but no one at Genesys seems to know how to do it.  We don't really want an even distribution between agents based on time in ready state - we ALWAYS want to route to the LONGEST available DN for an Agent in the target list.  Any ideas?  We route based on Agent Groups and Skills, so our target lists are either Agents who are members of the Agent Group or Agents that meet the specified Skill criteria.  Thanks!

Rick

  • Guest
Routing to longest available DN in target list
« Reply #1 on: January 01, 1970, 09:00:00 AM »
In case anyone is interested, I think I may have tracked down my problem.  I'm waiting for confirmation from Genesys, and hopefully a workaround.



It looks like the issue is with the CheckAgentState function and not with the TimeInReadyState statistic.  Our agents are mixed phone/email.  Each Place contains both a voice Extension DN and an Email DN.  We use CheckAgentState=false in all of our voice and email strategies to make sure that only the state of the particular DN type, not the state of the entire Agent, is considered in routing.



In our case, the CheckAgentState function seems to be ignored in the strategy - see IS_ISuite Clients FAQ #852 "Configuring internet suite to handle chat sessions while responding to email", https://genesyslab.com/support/kb/browse/Default.asp?type=3&prod=59680&show=item&item=8CD1FCB9F6C3B0FDBAF7DB004587C606.



In this FAQ, Genesys says that CheckAgentState only works on voice DNs that are defined as ACD Positions.  We use a Siemens Hicom 300 E CS switch.  According to the Genesys Hicom TServer Installation Guide, ACD Positions are not valid DNs on the Siemens Hicom switch.



The result is that my strategies consider a target Ready only when the targeted Agent is Ready on both voice and email DNs.  Agents who are Ready on voice but Not Ready on email can wait forever for a call to be delivered to them with multiple calls in queue.  As soon as one of those agents goes Ready on email, they will receive a call.



Any thoughts?

dave

  • Guest
Routing to longest available DN in target list
« Reply #2 on: January 01, 1970, 09:00:00 AM »
Yes we had the same problem.



An Email is coming to the distribution, but there is no emaildn avialable. In router I can see it is checking each agent for available emaildn. I think during this procedure, it is set back

internally the avaiable time of the agent, as this check is going quite fast all agent have after the same available time. So router takes the ones with the right skills, the one with the lowest dbid.



Try with the latest statsever version. There was a problem with agent state.



if voice dn was ready person an place were also ready

if email dn was ready person an place were not ready

so if you were only logged in /ready with email.dn you never get a email, if checkagentstate=true was set



with latest statserver it should work with checkagentstate=true

because now

if voice dn was ready person an place were also ready

if email dn was ready person an place were also ready




Mike

  • Guest
Routing to longest available DN in target list
« Reply #3 on: January 01, 1970, 09:00:00 AM »
Another possibility. Unless you have changed them, the values for close_unused_statistic and close_statistic_time both in ir mean that an agent with no activity for 10 minutes gets no calls as it is considered not be there any more. Set the first to true and the second to 0 to stop this.

Rick

  • Guest
Routing to longest available DN in target list
« Reply #4 on: January 01, 1970, 09:00:00 AM »
OK, looking for some more ideas.  I still think the issue is related to CheckAgentState=false being ignored in my strategy.



We're doing skills based routing.  Skills are assigned to Agents, so the Targets selected are Agents.  When IR queries StatServer for Target availability, it is interested in the Agent state.  When an Agent is Ready on his voice Extension DN and Not Ready on his Email DN, StatServer considers the Agent's state to be Not Ready and IR will not route a voice call to him.  Please correct me if I've made a mistake.



So, the CheckAgentState=false statement in my strategy does not appear to be working.  If it were working, though, what object would IR request the status of from StatServer if not the Agent?

dave

  • Guest
Routing to longest available DN in target list
« Reply #5 on: January 01, 1970, 09:00:00 AM »
>When an Agent is Ready on his voice Extension DN and Not Ready on >his Email DN, StatServer considers the Agent's state to be Not >Ready and IR will not route a voice call to him. Please correct me >if I've made a mistake



That's right, the agent have to be ready on all dn's on which it is logged in. But if you just loggin with emaildn and set ready

person/place become ready >you get calls.(from statserver 5.1.106)

But with Genesys standard AgentStarter this is not possible



An other thing I have just seen.



Does you use the function UseDNType[CFGEmail] in mail strategie and

UseDNType[CFGExtension] or UseDNType[CFGPosition] depends on target in voice strategie. In your case UseDNType[CFGExtension]

Else router is just looking for longest available DN regardless if

emaildn or voice dn




Rick

  • Guest
Routing to longest available DN in target list
« Reply #6 on: January 01, 1970, 09:00:00 AM »
Genesys is still checking on why CheckAgentState=false does not appear to be working in my strategy.



I use a UseDNType statement in my email strategies but not in my voice one.  I will give it a try.

Rick

  • Guest
Routing to longest available DN in target list
« Reply #7 on: January 01, 1970, 09:00:00 AM »
UseDNType=CFGExtension in my voice strategy did not make a difference.

mboertien

  • Guest
Routing to longest available DN in target list
« Reply #8 on: January 01, 1970, 09:00:00 AM »
I've been using Even(StatTimeInReadyState) since the beginning and that is working fine with me, the call goes to the longest available agent.



1. Are you doing this in a test environment or in a live environment (i ask to know if you know for sure no one else is calling)?

2. Do you use attached data for the routing?

3. Could you give one example of such a routing? So how is the routingstrategy and which skills do the agents have (and which group are they in)

Rick

  • Guest
Routing to longest available DN in target list
« Reply #9 on: January 01, 1970, 09:00:00 AM »
1. We use Event(StatTimeInReadyState) in both test and production.

2. No.  We attach data in the strategy but do not use attached data to make any routing decisions.

3. Yes, I'll work on an example for you.  I'll send another reply.  Thanks for your input.

Rick

  • Guest
Routing to longest available DN in target list
« Reply #10 on: January 01, 1970, 09:00:00 AM »
Here's a strategy snippet:



CheckAgentState[false]

Even[StatTimeInReadyState]

Targets['',Skill['UNIX_Stat_Server_510',AGeConnect>0 & Tier1>0]]

Wait[30]

Targets['',Skill['UNIX_Stat_Server_510',AGeConnect>0 & Tier1>0],

Skill['UNIX_Stat_Server_510',AGeConnect>0 & Tier2>0]]

Wait[90]

Targets['',Skill['UNIX_Stat_Server_510',AGeConnect>0 & Tier1>0],

Skill['UNIX_Stat_Server_510',AGeConnect>0 & Tier2>0],

Skill['UNIX_Stat_Server_510',AGeConnect>0 & Tier3>0],

supervisor_Contact_Center@UNIX_Stat_Server_510.GA]

Wait[3600]

mboertien

  • Guest
Routing to longest available DN in target list
« Reply #11 on: January 01, 1970, 09:00:00 AM »
Ok, i've copied part of a routingstrategy that we're using :



Always > Even[StatTimeInReadyState]Targets['Skill1Queue',Skill['statserver','Skill1'>0]]Wait[RoutingTimeout]{}



I do see a difference with the quotes ('Skill1'>0), so you might try changing that. The Skill1Queue is just a virtual queue, so you can ignore that. Try it and tell me if you notice any difference......

Rick

  • Guest
Routing to longest available DN in target list
« Reply #12 on: January 01, 1970, 09:00:00 AM »
Thanks, but I don't think that the Skill definition is the problem here.  I've tried it both with and without quotes in the past with no impact - one of the few cases where Strategy Builder doesn't seem to care about quotes.  In this case, I did drag and drop of the Skills in Strategy Builder.  I can see in the IR log that the right agents are being targeted, which makes me pretty confident that the Skill definitions themselves are not the problem.  What we are seeing is that when multiple, properly targeted agents are Ready, the call is not being sent to the longest Ready (available) agent in that target list.

mboertien

  • Guest
Routing to longest available DN in target list
« Reply #13 on: January 01, 1970, 09:00:00 AM »
If you check within logs of Statserver for the time the agents have been ready for a call, are those times correct?? I mean, do you see agent a has been available since time X and agent B since time Y???

Rick

  • Guest
Routing to longest available DN in target list
« Reply #14 on: January 01, 1970, 09:00:00 AM »
Yes, the Stat Server logs do show the correct "WaitForNextCall since" times.  I am convinced that there is a problem with the calculation of the StatTimeInReadyState.  I have a ticket with Genesys Support that has been open since early March on the subject.  This ticket has been escalated within the Support organization and I still don't have any answers.