Contents
New or Updated Function Descriptions
Add/update the following functions in the Universal Routing 8.1 Reference Manual. Unless other wise noted, these functions are available in IRD's Function object. Where noted, other functions are available in IRD's Selection Object functions.
ExcludeAgents
Parameters: Agents: STRING (comma-separated list of agent IDs or variable)
Return value type: STRING
This function instructs URS not to route interactions to any agent on the specified list of agents. Parameter Agents is comma-separated list of agent IDs. Function returns the previous list of excluded agents.
Previous to 7.6, if a target was selected (if it was ready according to Stat Server and reserved) and then excluded from the list of valid targets using the ExcludeAgents function, this target was not actually excluded. Starting with 7.6, the ExcludeAgents function does exclude the agent in the above scenario.
Note: When URS executes the ExcludeAgents function for an interaction, the URS-provided list of excluded agents will be applied to the current or any future Selection objects. The effect of the ExcludeAgents execution can be cancelled only by the execution of another ExcludeAgents function or if URS stops this interaction processing.
Warning! Function ExcludeAgents affects IVR targets.
FindConfigObject
As of 11/24/15, the existing FindConfigObject function is extended to support additional object types as shown in the FindConfigObject Returned Results table below.
Look Up Agent Name, Media logged Into and DN, from Agent Login ID and by Employee ID
Function FindConfigObject with object type CFGPerson and function TargetState can be used to look up an agent name, the media channel logged into, and the agent's DN, based on an agent's Login ID or Employee ID.
Function TargetState[‘EmployeeID.A’] with input parameter agent EmployeeID returns agent readiness information, a list of available medias and DNs.
For example, to use FindConfigObject to find agent (Person) information, the following search criteria can be used:
- DBID of agent: FindConfigObject[CFGPerson, ‘dbid:SomeDBID’]
- DBID of one of agent’s logins: FindConfigObject[CFGPerson, ‘logindbid:SomeDBID’]
- EmployeeID of agent: FindConfigObject[CFGPerson, ‘employeeid:SomeEmployeeID’]
- Agents Login: FindConfigObject[CFGPerson, ‘switch:SomeSwitchName|login:SomeLogin’]
FindConfigObject Function Description
Parameters: TYPE: INTEGER
Valid Values: See FindConfigObject Returned Results table
Properties: LIST or variable (provide list of search criteria)
Return value type: LIST
This function returns information about a requested configuration object. You must specify the type of object for which to search (for example, CFGPlace) and the list-presenting search criteria. A valid set of search properties consists of either the name or a combination of the switch and number. Examples:
- For CFGDN objects, name specifies an alias of the required DN, switch specifies the name of the switch to which the DN must belong, and number specifies this DN number.
- For CFGPlace object, name specifies the name of required place, switch specifies the name of the switch to which a DN (from among the DNs belonging to this Place) belongs, and number specifies the number of this DN.
The search criteria specifies a subset of the object properties, while the function provides the rest of the data. The search criteria must be a unique subset of the properties that identify the configuration object. See the following search criteria and results and also the table below:
Search Criteria: FindConfigObject[CFGDN, 'name:2201_vit_sw2'] or
FindConfigObject[CFGDN, 'number:2201|switch:vit_sw2']
Results: "dbid:1122|name:Place_102_vit_sw2|tenantdbid:103|tenant:Vit|#1.number:1
02|#1.switch:vit_sw2|#1.type:2|#2.number:112|#2.switch:vit_sw2|#2.type:
1|dns:2".
When search criteria is not based on dbid, but on names, the tenant is required for an object search. By default, the tenant is the one for the current interaction, but tenant also can be explicitly specified with extra keys: tenant or tenantdbid.
In addition to specifying a single Configuration object, you can also specify a collection of objects. In such cases, the search criteria must contain key all with value true. Additionally, the search criteria might contain extra filters on the Annex (only objects with this value of Annexes are returned). For example, annex.section,option1:value1|annex.section,option2:value2. When specifying a collection of objects, URS returns a reduced set of objects properties, all highlighted in bold, in the table below. Specifying a collection of objects is not supported for tenants, applications, folders, and enumerator values.
FindConfigObject Returned Results
| Object Type | Search Key Combinations | Returned Properties |
|---|---|---|
| CFGSwitch | dbid,
name |
dbid, type, link, name, tenant, tenantdbid, tserverdbid, tserver, folders, annex, targetdata |
| CFGFDN | dbid,
name switch or switchdbid+number |
dbid, type, number, name, switchdbid, switch, tenant, tenantdbid, annex, targetdata |
| CFGPlace | dbid,
name switch or switchdbid+number |
dbid, name, tenant, tenantdbid, annex, targetdata, dns, folder, annex |
| CFGPerson | dbid,
logindbid employeeid switch or switchdbid+login |
dbid, employeeid, firstname, lastname, username, email, externalid, tenantdbid, tenant, placedbid, skills, logins, folders, annex |
| CFGTenant | dbid,
name |
dbid, name, annex, |
| CFGApplication | dbid,
name switch or switchdbid |
dbid, type, name, workdir, commandline, hostname, hostip, port, switch, servers, annex |
| CFGSkill | dbid,
name |
dbid, name, tenant, tenantdbid, annex |
| CFGAgentLogin | dbid,
name switch or switchdbid+login |
dbid, login, switchdbid, switch, tenant, tenantdbid, override, annex |
| CFGTransaction | dbid,
type+name |
dbid, type, name, tenant, tenantdbid, alias, description, annex |
| CFGStatDay | dbid,
name |
dbid, name, tenant, tenantdbid, dayofweek, day, starttime, endtime, min, max, target, rate, annex |
| CFGFolder | dbid | dbid, name, type, class, ownertype, ownerdbid, size, folders, annex |
| CFGEnumerator | dbid
name |
dbid, type, name, tenant, tenantdbid, description, displayname, annex |
| CFGEnumeratorValue | dbid
enumeratordbid+name enumeratorname+name |
dbid, enumeratordbid, name, description, displayname, isdefault, annex |
PriorityTuning
Update the Warning on page 606 of the Universal Routing 8.1 Reference Manual as follows:
Warning! The interaction selection criteria associated with the PriorityTuning function (age of interaction, relative wait time (such as wait time in queue or predictive wait time), service objective risk factor, or any combination of these parameters) are only supported in a multi-URS environments where the same target might be selected by different instances of URSs if:
- all URS instances have the same value of option use_service_objective and
- all strategies running/served by URSes include the PriorityTuning function with the same parameters values across all strategies.
RequestRouter
See the RequestRouter function in Estimated Waiting Time Improvement.
SetIdealAgent
See the SetIdealAgent function in Using Agent Skills for Agents/Calls Prioritization.
TargetListSelected
See the TargetListSelected function in Using Agent Skills for Agents/Calls Prioritization.
TargetState
Update ready:1 in the TargetState function description, results—LIST Fields as follows:
ready:1 The agent is considered (by URS) to be ready. If agent capacity is not used, then URS flags the agent as ready if his state is reported by Stat Server as WaitForNextCall. If agent capacity is used then the agent has no state, but only a list of medias, which results in URS flagging the agent as ready if this list of medias is not empty. By default, URS takes the ready flag into account when selecting agents, but it can be overwritten in the strategy by calling function CheckAgentState with an argument of false. This will cause URS to ignore the ready flag when looking for an available agent for the current call.
You can use the FindConfigObject and TargetState functions look up an agent name, the media channel logged into, and the agent's DN, based on an agent's Login ID or Employee ID.
Function TargetState[‘EmplooyeeID.A’] returns agent readiness information, a list of available medias and DNs. This information is in addition to the returned results listed in the function description in the Universal Routing 8.1 Reference Manual.
Also see FindConfigObject.
transfer-to-agent
Location in Configuration Layer by precedence: T-Server, URS
Default value: false
Valid values: true, false,never
Value changes: take effect immediately
Instructs URS to request T-Server to transfer interactions from an IVR directly to a target agent instead of returning them to the routing point.
- true —allow transferring from IVR to agent.
- false—do not allow transferring from IVR to agent, except cases when IVR is Routing Point itself.
- never— do not allow transferring from IVR to agent in all cases. Update added 04/16/17.
Use this function where standard routing scenarios do not apply or cannot be used to override the usual method of routing a call to an agent. For example, there may be special hardware or reporting needs. Allows you to initiate a direct transfer to an agent using T-Library functionality. For more information on T-Library functions,see the TLib Reference Guide.
Selection Object Functions
To access these functions in IRD's Routing Design view, click the Routing button and then Selection to open the the Selection properties dialog box. Cilck Add Item. Under Type, select Skill. Under Name, select All Functions.
cfgdata
Parameters:
folder: STRING (Section name on the Annex tab of the Person object)
option: STRING (Option name in the section on the Annex tab of the Person object)
default: FLOAT (Preset value is returned, if the option is not found)
Return value type: FLOAT
This function returns a numeric value. If the agent’s option is found, it returns 1. If the option is not found and the default value is not specified, it returns 0. If the option is not found and the default value is specified, the default value is returned.
exist
Parameters: Skill Name: STRING (Skill name)
Return value type: FLOAT
This function checks if an agent has the provided skill and is applied directly to skill names. It returns 1, if an agent has the skill, or 0 otherwise.
folder
Parameters: template: STRING (Folder name in the Configuration Layer under Persons)
Return value type: FLOAT
This function checks if an agent is configured in a folder with a name that matches the specified template. It returns 1, if there is a match, or 0, otherwise.
group
Parameters: Agent Group: STRING (Agent Group name)
Return value type: FLOAT
This function checks if an agent belongs to the specified group. It returns 1, if yes, or 0, otherwise.
loc
Parameters: Switch Name: STRING (Switch name)
Return value type: FLOAT
This function verifies the agent location. It returns 1, if an agent has a DN belonging to the specified Switch, or 0, otherwise.
login
Parameters: media: STRING (Media name)
Return value type: FLOAT
This function returns 1 if agent is logged in for provided media and 0 otherwise. If media is set to any, then 1 will be returned if the agent is logged in for at least one media. This is performance is an effective alternative to using the corresponding statistic in cases when agents rarely perform login/logout (few times per shift).
name
Parameters: template: STRING (Agent employee ID template)
Return value type: FLOAT
This function checks if an agent name matches the specified template. It returns 1, if there is a match, or 0, otherwise.
sitex
Return value type: FLOAT
This function verifies agent's location (site). It returns 1 if the agent was logged in on provided site and 0 otherwise. If the name of site is set to this then instead of checking function just returns the site name.
The agent's site is usually provided by the agent himself through parameter site in Attribute Reasons of the agent ready request.
Note: In a SIP cluster configuration it is automatically populated by SIP Server.
