Genesys CTI User Forum
Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: Scottyjohn on September 08, 2009, 02:28:44 PM
-
I am doing a new routing strategy which will segment based on agents available with a certain skill using the following expression to determine the number available...
[code]CountSkillInGroup['RoutingStatServerPrimary','','skill_1 >= 1 & $(StatTimeInReadyState) > 0']][/code]
This does seem to return the count, but it seems to generate a large amount of logging, as it builds the lists of agents. Our environment has around 5000 agents and I was wondering if there would be any degradation of solution performance using the above expression? Or is there any other way to determine count of available agents with a specified skill?
Thanks in advance
-
Not sure will it help but up to my knowledge this is related with supporting of content of skill/stat expression up to date. Statistic can and (in you case it does) change every second, and it content one per few seconds recalculated.
About performance degradation it depends. It recounted for all agents but it performed once per some seconds, not per every call and "extra loading" will be the same for 1 call/sec or 100 calls/sec (logging most likely will need to be disabled at least selctivelly).
If number of agents satisfying skill_1 >= 1 is relatively small (much less then 5000) other way can be to use GetSkillInGroup(skill_1 >= 1) function instead with following SelectTargetByThreshold(StatTimeInReadyState>0) applied to result of GetSkillInGroup. SelectTargetByThreshold will work in per call way howver (more calls - more loading).
-
Hi Scottyjohn,
I agree with kubikle that it will better to use CountSkillInGroup together with SelectTargetByThreshold if target group is small one. If your group is very large then the only option how to decrease performance load on URS is to use Virtual Agent Groups. VAG is controlled by StatServer that knows current status of the agents belonging to that group so you can get number of ready/logged agent quite easily just by querying StatServer.
R.
-
Thanks guys,
The problem we have is that our routing fgoes through one strategy, so everything uses variables rather than hard coded skill, VQ, etc.
So Im thinking if the skill is held in a variable, then how would I get a VAG returned to the strategy for stat processing as above. The customer doesnt use VAGs at the moment anyhow, and they have a large number of skills (1000+!!!) , which they are trying to rationalise, but they have a lot of different business areas. You guys have given me a few things to test in our lab, so I will take this and see what I can come up with. Thanks for all your help! ;D
-
Hi There,
We use an SData lookup in a function. Use the SData lookup StatAgentsAvailable. It will return you how many agents are available at that time as an integer!
-
Hi,
I tried to get the value of StatAgentsAvailable back to the strategy, but I need the agents available with a particular skill, and that skill value is held in a variable, "vSkill_1".
I have specified the variable "vCountSkill" to have value "SData[vSkill_1,'StatAgentsAvailable']", but get the following error in logging.....
[code]
_C_W_007101ba16aeb024 [0D:02] there is no any value for option default_stat_server
_I_I_007101ba16aeb024 [10:0d] HERE IS SDATA: General@StatServer_Routing_Primary - StatAgentsAvailable
_M_I_ [10:06] tenant Resources Agent "General": create new statistic StatAgentsAvailable with server StatServer_Routing_Primary
_C_W_ [10:05] config object tenant=Resources type=0 name=General is absent
_M_E_ [10:06] tenant Resources Agent "General": statistic StatAgentsAvailable with server StatServer_Routing_Primary was not created
_M_E_007101ba16aeb024 [10:0d] can not find stat object General[StatAgentsAvailable] for stat server StatServer_Routing_Primary
result of SData: FLOAT: 0.000000
_I_E_007101ba16aeb024 [09:04] error in strategy: 0018 Unknown object
_I_I_007101ba16aeb024 [09:04] ASSIGN: vCountSkill(LOCAL) <- STRING: 0.000000
[/code]
Im thinking it looks as if the strategy is trying to find an agent with the skill name "General", which it will never find, or am I interpreting this wronlgly?
Any suggestions would be much appreciated......
-
Hi Scottyjohn,
There are 2 issues related to that:
1. Using just skill name isn't sufficient. It's necessary to use skill expression (format: [i]?<...skill expression...>@<...statserver name...>.GA[/i])
2. StatServer doesn't support skill expressions so it isn't possible to ask for statistic on agent group defined by skill expression :(. It's necessary to use virtual agent group instead.
R.