I am developing a routing strategy to apply a percentage rule using a Transaction List.
In summary this the flow:
Router perform crm db check on caller and extract id (var_id ie NEW).
Router checks transaction list (customer_id) and section=var_id extracting value ie 60,20,20.
Router assigns each value to an integer ie var_site_a=60, var_site_b=20, var_site_c=20.
i want to use values to route the call as a percentage across 3 route points or ACD queues ie
60% to ACD Queue 1000
20% to ACD Queue 2000
20% to ACD Queue 3000
If i use a percentage function block i can define a acd queue but have to specify an integer for percentage (as opposed to using the values obtained from the transaction list) whereas i want to do something like this:
var_site_a (%) to ACD Queue 1000
var_site_b (%) to ACD Queue 2000
var_site_c (%) to ACD Queue 3000
Is there a way to do this?
We are using URS/IRD 8.1
It is possible to specify weight of each target dynamically if SelectDN function is used, e.g. Weight[60]1000@SwitchName.Q,Weight[20]2000@SwitchName.Q,Weight[20]3000@SwitchName.Q
Hello,
I have tried the weight in SelectDN but URS is not choosing the target based on the weight. It always selects the ‘Site A’ target.
I may be missing something but have changed values to ‘100’ for ‘Site B’ target but is still never selected.
URS logs show the ‘Site B’ as ‘Passed’ but is never selected.
see my function block expression:
I think it is using the ‘StatSelectMax’ to override the weighting but could be wrong. If I try to remove this it does not accept the expression.
A function block following this is set to RouteCall[Var_Routing].
The Var_* are integer types and are assigned the correct values based on option from the transaction list.
edit* If I replace the variables within the with numerical characters ie 100 for site b, and 0 for site a it does work. For some reason it is not accepting the variables- which is an integer type.
When variables are “hidden” deep inside strings constants - there is very few places when URS parses those constants to find possible variables inside - probably it makes such searching only in skill expressions.
Doesn’t work for targets specifications (weight, type of target, etc) values need to be used directly.
If 0 for site A and 100 for site B doesn’t work - difficult to say anything without logs.
Please can I ask how this would work?
The ‘Rand’ function will produce a value based on a integer between 1 and the interval period which I understand.
Do I then use another function to pick the highest output value and routecall to it?