" /> urs numerical skill - Genesys CTI User Forum

Author Topic: urs numerical skill  (Read 3236 times)

Offline PFCCWA

  • Hero Member
  • *****
  • Posts: 655
  • Karma: -7
urs numerical skill
« on: August 16, 2013, 12:41:54 PM »
Advertisement
Hello,

We have always created skills in string format however recently set one up in numerical form.
For some reason (we are on URD 8.0) the call meant for this skill routes to random agents, who have no relevance or relation to this skill.
The call is not following the default path either, set up for a specific skill if the main target is not recognised or agents logged in.

I think this may be a bug in our version and probably resolved later. All the skills in string/text work fine and always have done.
Or it may be that numerical skills do not work in urs?

thanks.

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: urs numerical skill
« Reply #1 on: August 16, 2013, 02:52:31 PM »
Logs PFCCWA...the SKill name is numeric? That is what you mean?

Offline kubikle

  • Full Member
  • ***
  • Posts: 140
  • Karma: 7
Re: urs numerical skill
« Reply #2 on: August 16, 2013, 04:42:48 PM »
If it is about having skill names looking like numbers (123 for example) and as result having skill expressions 123 >10 then it will be calculated exactly as written -  comparing number 123 with number 10 which will be true for any agent and resulted list of agent will include all agents.
I saw cases when skill expressions 2>1 or 1=1 was used exactly for that - route to any agent.

Skils expressions are just like expressions in any programming language - built from variables(aka names), numbers, string constants, operations signes (comparing, logical, mathematical), functions, etc. When evaluated for some agent every variable is initalized with value of the agent skills with the same name or with 0 if agent happen to not have such skill.

String constants (ANYTHING in quotes) are treated exactly like names though.
As result if skill in configuration has name 123 then skill expresion like "123">10  (or for that matter 10<"123") will be understood as compating agent's skill with name 123 with number 10. Quotes have to be added in skill expression manually - IRD skill expression builder will not automatically take skills names or numbers in quotes.


Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: urs numerical skill
« Reply #3 on: August 16, 2013, 04:51:49 PM »
Jummm not 100% sure of your post kubikle, as I think would be more like an array rather than a single value. What you compare is the value on the logical expression VS the value of a skill given to an agent. English[] = {Agent1.Value, Agent2.Value....}

The Expression SKill("English") > 10 doesn't go and compare the English > 10, it goes and searchs all agents with that skill and their values getting only those agents that match the expression.

Could be a bug or not...depending on how you look at it and if we could see the function used by URS to query CfgServer. If it doesnt specify the type can be sending the value a numerical and therefore an int vs str will never return a value unless proper parse is done...or do as Kub says, add a "66666" forcing the "" but would have to see how the function interprets that.

Still I think best approach would be to avoid numerical Keys...why complicate when Strings can do the same.

Offline kubikle

  • Full Member
  • ***
  • Posts: 140
  • Karma: 7
Re: urs numerical skill
« Reply #4 on: August 16, 2013, 05:33:17 PM »
I meant using skills in strategies (not in VAG) - Skill targets, Get/Count Skill in Group.
As skill expressions can be of any complexity - URS just go through all agents and for every of them evaluate the skill expression - agent is included in resulted "skill group" if expression is evaluated to not 0 value. Every name (or string constant) in skill expression resolved to value of same named skill that agent has.  Once "skill group" is constructed it can be used as target or used by functions like CountSkillInGroup to count number of agents in it, etc.

And I definitely agree that best way is just not using pure numerical names at all.